diff --git a/examples/digital-ocean-api.ts b/examples/digital-ocean-api.ts index 3105fd0e0..c53331939 100644 --- a/examples/digital-ocean-api.ts +++ b/examples/digital-ocean-api.ts @@ -640,6 +640,8 @@ export interface paths { }; } +export type webhooks = Record; + export interface components { schemas: never; responses: never; @@ -654,6 +656,7 @@ export interface external { "description.yml": { paths: Record; + webhooks: Record; components: Record; } "resources/1-clicks/models/oneClicks_create.yml": { diff --git a/examples/github-api-next.ts b/examples/github-api-next.ts index 33bbcaac5..fbec9b8d6 100644 --- a/examples/github-api-next.ts +++ b/examples/github-api-next.ts @@ -7848,5145 +7848,2193 @@ export interface paths { }; } -export interface components { - schemas: { - root: { - /** Format: uri-template */ - current_user_url: string; - /** Format: uri-template */ - current_user_authorizations_html_url: string; - /** Format: uri-template */ - authorizations_url: string; - /** Format: uri-template */ - code_search_url: string; - /** Format: uri-template */ - commit_search_url: string; - /** Format: uri-template */ - emails_url: string; - /** Format: uri-template */ - emojis_url: string; - /** Format: uri-template */ - events_url: string; - /** Format: uri-template */ - feeds_url: string; - /** Format: uri-template */ - followers_url: string; - /** Format: uri-template */ - following_url: string; - /** Format: uri-template */ - gists_url: string; - /** Format: uri-template */ - hub_url: string; - /** Format: uri-template */ - issue_search_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - label_search_url: string; - /** Format: uri-template */ - notifications_url: string; - /** Format: uri-template */ - organization_url: string; - /** Format: uri-template */ - organization_repositories_url: string; - /** Format: uri-template */ - organization_teams_url: string; - /** Format: uri-template */ - public_gists_url: string; - /** Format: uri-template */ - rate_limit_url: string; - /** Format: uri-template */ - repository_url: string; - /** Format: uri-template */ - repository_search_url: string; - /** Format: uri-template */ - current_user_repositories_url: string; - /** Format: uri-template */ - starred_url: string; - /** Format: uri-template */ - starred_gists_url: string; - /** Format: uri-template */ - topic_search_url?: string; - /** Format: uri-template */ - user_url: string; - /** Format: uri-template */ - user_organizations_url: string; - /** Format: uri-template */ - user_repositories_url: string; - /** Format: uri-template */ - user_search_url: string; - }; +export interface webhooks { + "branch-protection-rule-created": { /** - * Simple User - * @description A GitHub user. + * This event occurs when there is activity relating to branch protection rules. For more information, see "[About protected branches](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches)." For information about the Branch protection APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#branchprotectionrule) and [the REST API documentation](https://docs.github.com/rest/branches/branch-protection). + * + * In order to install this event on a GitHub App, the app must have `read-only` access on repositories administration. + * @description A branch protection rule was created. */ - "simple-user": { - name?: OneOf<[string, null]>; - email?: OneOf<[string, null]>; - login: string; - id: number; - node_id: string; - /** Format: uri */ - avatar_url: string; - gravatar_id: OneOf<[string, null]>; - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - /** Format: uri */ - subscriptions_url: string; - /** Format: uri */ - organizations_url: string; - /** Format: uri */ - repos_url: string; - events_url: string; - /** Format: uri */ - received_events_url: string; - type: string; - site_admin: boolean; - starred_at?: string; - }; + post: operations["branch-protection-rule/created"]; + }; + "branch-protection-rule-deleted": { /** - * GitHub app - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + * This event occurs when there is activity relating to branch protection rules. For more information, see "[About protected branches](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches)." For information about the Branch protection APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#branchprotectionrule) and [the REST API documentation](https://docs.github.com/rest/branches/branch-protection). + * + * In order to install this event on a GitHub App, the app must have `read-only` access on repositories administration. + * @description A branch protection rule was deleted. */ - integration: { - /** @description Unique identifier of the GitHub app */ - id: number; - /** @description The slug name of the GitHub app */ - slug?: string; - node_id: string; - owner: null | components["schemas"]["simple-user"]; - /** @description The name of the GitHub app */ - name: string; - description: OneOf<[string, null]>; - /** Format: uri */ - external_url: string; - /** Format: uri */ - html_url: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** - * @description The set of permissions for the GitHub app - * @example { - * "issues": "read", - * "deployments": "write" - * } - */ - permissions: { - issues?: string; - checks?: string; - metadata?: string; - contents?: string; - deployments?: string; - [key: string]: string | undefined; - }; - /** @description The list of events for the GitHub app */ - events: (string)[]; - /** @description The number of installations associated with the GitHub app */ - installations_count?: number; - client_id?: string; - client_secret?: string; - webhook_secret?: OneOf<[string, null]>; - pem?: string; - }; + post: operations["branch-protection-rule/deleted"]; + }; + "branch-protection-rule-edited": { /** - * Basic Error - * @description Basic Error + * This event occurs when there is activity relating to branch protection rules. For more information, see "[About protected branches](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches)." For information about the Branch protection APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#branchprotectionrule) and [the REST API documentation](https://docs.github.com/rest/branches/branch-protection). + * + * In order to install this event on a GitHub App, the app must have `read-only` access on repositories administration. + * @description A branch protection rule was edited. */ - "basic-error": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; + post: operations["branch-protection-rule/edited"]; + }; + "check-run-completed": { /** - * Validation Error Simple - * @description Validation Error Simple + * This event occurs when there is activity relating to a check run. For information about check runs, see "[Getting started with the Checks API](https://docs.github.com/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check runs, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#checkrun) or "[Check Runs](https://docs.github.com/rest/checks/runs)" in the REST API documentation. + * + * For activity relating to check suites, see the `check-suite` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Checks" repository permission. To receive the `rerequested` and `requested_action` event types, the app must have at least write-level access for the "Checks" permission. GitHub Apps with write-level access for the "Checks" permission are automatically subscribed to this webhook event. + * + * Repository and organization webhooks only receive payloads for the `created` and `completed` event types in repositories. + * + * **Note**: The API only looks for pushes in the repository where the check run was created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * @description A check run was completed, and a conclusion is available. */ - "validation-error-simple": { - message: string; - documentation_url: string; - errors?: (string)[]; - }; + post: operations["check-run/completed"]; + }; + "check-run-created": { /** - * Format: uri - * @description The URL to which the payloads will be delivered. + * This event occurs when there is activity relating to a check run. For information about check runs, see "[Getting started with the Checks API](https://docs.github.com/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check runs, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#checkrun) or "[Check Runs](https://docs.github.com/rest/checks/runs)" in the REST API documentation. + * + * For activity relating to check suites, see the `check-suite` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Checks" repository permission. To receive the `rerequested` and `requested_action` event types, the app must have at least write-level access for the "Checks" permission. GitHub Apps with write-level access for the "Checks" permission are automatically subscribed to this webhook event. + * + * Repository and organization webhooks only receive payloads for the `created` and `completed` event types in repositories. + * + * **Note**: The API only looks for pushes in the repository where the check run was created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * @description A new check run was created. */ - "webhook-config-url": string; - /** @description The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`. */ - "webhook-config-content-type": string; - /** @description If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/webhooks/event-payloads/#delivery-headers). */ - "webhook-config-secret": string; - "webhook-config-insecure-ssl": string | number; + post: operations["check-run/created"]; + }; + "check-suite-completed": { /** - * Webhook Configuration - * @description Configuration object of the webhook + * This event occurs when there is activity relating to a check suite. For information about check suites, see "[Getting started with the Checks API](https://docs.github.com/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check suites, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#checksuite) or "[Check Suites](https://docs.github.com/rest/checks/suites)" in the REST API documentation. + * + * For activity relating to check runs, see the `check_run` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Checks" permission. To receive the `requested` and `rerequested` event types, the app must have at lease write-level access for the "Checks" permission. GitHub Apps with write-level access for the "Checks" permission are automatically subscribed to this webhook event. + * + * Repository and organization webhooks only receive payloads for the `completed` event types in repositories. + * + * **Note**: The API only looks for pushes in the repository where the check suite was created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * @description All check runs in a check suite have completed, and a conclusion is available. */ - "webhook-config": { - url?: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - }; + post: operations["check-suite/completed"]; + }; + "code-scanning-alert-appeared-in-branch": { + /** Code scanning alert appeared in branch */ + post: operations["code-scanning-alert/appeared-in-branch"]; + }; + "code-scanning-alert-closed-by-user": { + /** Code scanning alert closed by user */ + post: operations["code-scanning-alert/closed-by-user"]; + }; + "code-scanning-alert-created": { + /** Code scanning alert created */ + post: operations["code-scanning-alert/created"]; + }; + "code-scanning-alert-fixed": { + /** Code scanning alert fixed */ + post: operations["code-scanning-alert/fixed"]; + }; + "code-scanning-alert-reopened": { + /** Code scanning alert reopened */ + post: operations["code-scanning-alert/reopened"]; + }; + "code-scanning-alert-reopened-by-user": { + /** Code scanning alert reopened by user */ + post: operations["code-scanning-alert/reopened-by-user"]; + }; + "commit-comment-created": { /** - * Simple webhook delivery - * @description Delivery made by a webhook, without request and response information. + * This event occurs when there is activity relating to commit comments. For more information about commit comments, see "[Commenting on a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request)." For information about the APIs to manage commit comments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#commitcomment) or "[Commit comments](https://docs.github.com/rest/commits/comments)" in the REST API documentation. + * + * For activity relating to comments on pull request reviews, see the `pull_request_review_comment` event. For activity relating to issue comments, see the `issue_comment` event. For activity relating to discussion comments, see the `discussion_comment` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. + * @description Someone commented on a commit. */ - "hook-delivery-item": { - /** @description Unique identifier of the webhook delivery. */ - id: number; - /** @description Unique identifier for the event (shared with all deliveries for all webhooks that subscribe to this event). */ - guid: string; - /** - * Format: date-time - * @description Time when the webhook delivery occurred. - */ - delivered_at: string; - /** @description Whether the webhook delivery is a redelivery. */ - redelivery: boolean; - /** @description Time spent delivering. */ - duration: number; - /** @description Describes the response returned after attempting the delivery. */ - status: string; - /** @description Status code received when delivery was made. */ - status_code: number; - /** @description The event that triggered the delivery. */ - event: string; - /** @description The type of activity for the event that triggered the delivery. */ - action: OneOf<[string, null]>; - /** @description The id of the GitHub App installation associated with this event. */ - installation_id: OneOf<[number, null]>; - /** @description The id of the repository associated with this event. */ - repository_id: OneOf<[number, null]>; - }; + post: operations["commit-comment/created"]; + }; + "create": { /** - * Scim Error - * @description Scim Error + * This event occurs when a Git branch or tag is created. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the Contents repository permission. + * + * **Note**: This event will not occur when more than three tags are created at once. */ - "scim-error": { - message?: OneOf<[string, null]>; - documentation_url?: OneOf<[string, null]>; - detail?: OneOf<[string, null]>; - status?: number; - scimType?: OneOf<[string, null]>; - schemas?: (string)[]; - }; + post: operations["create"]; + }; + "delete": { /** - * Validation Error - * @description Validation Error + * This event occurs when a Git branch or tag is deleted. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. + * + * **Note**: This event will not occur when more than three tags are deleted at once. */ - "validation-error": { - message: string; - documentation_url: string; - errors?: ({ - resource?: string; - field?: string; - message?: string; - code: string; - index?: number; - value?: OneOf<[string, null]> | OneOf<[number, null]> | OneOf<[(string)[], null]>; - })[]; - }; + post: operations["delete"]; + }; + "dependabot-alert-created": { /** - * Webhook delivery - * @description Delivery made by a webhook. + * This event occurs when there is activity relating to Dependabot alerts. + * + * For more information about Dependabot alerts, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." For information about the API to manage Dependabot alerts, see "[Dependabot alerts](https://docs.github.com/rest/dependabot/alerts)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Dependabot alerts" repository permission. + * + * **Note**: Webhook events for Dependabot alerts are currently in beta and subject to change. + * @description A manifest file change introduced a vulnerable dependency, or a GitHub Security Advisory was published and an existing dependency was found to be vulnerable. */ - "hook-delivery": { - /** @description Unique identifier of the delivery. */ - id: number; - /** @description Unique identifier for the event (shared with all deliveries for all webhooks that subscribe to this event). */ - guid: string; - /** - * Format: date-time - * @description Time when the delivery was delivered. - */ - delivered_at: string; - /** @description Whether the delivery is a redelivery. */ - redelivery: boolean; - /** @description Time spent delivering. */ - duration: number; - /** @description Description of the status of the attempted delivery */ - status: string; - /** @description Status code received when delivery was made. */ - status_code: number; - /** @description The event that triggered the delivery. */ - event: string; - /** @description The type of activity for the event that triggered the delivery. */ - action: OneOf<[string, null]>; - /** @description The id of the GitHub App installation associated with this event. */ - installation_id: OneOf<[number, null]>; - /** @description The id of the repository associated with this event. */ - repository_id: OneOf<[number, null]>; - /** @description The URL target of the delivery. */ - url?: string; - request: { - /** @description The request headers sent with the webhook delivery. */ - headers: OneOf<[{ - [key: string]: unknown | undefined; - }, null]>; - /** @description The webhook payload. */ - payload: OneOf<[{ - [key: string]: unknown | undefined; - }, null]>; - }; - response: { - /** @description The response headers received when the delivery was made. */ - headers: OneOf<[{ - [key: string]: unknown | undefined; - }, null]>; - /** @description The response payload received. */ - payload: OneOf<[string, null]>; - }; - }; + post: operations["dependabot-alert/created"]; + }; + "dependabot-alert-dismissed": { /** - * Enterprise - * @description An enterprise on GitHub. + * This event occurs when there is activity relating to Dependabot alerts. + * + * For more information about Dependabot alerts, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." For information about the API to manage Dependabot alerts, see "[Dependabot alerts](https://docs.github.com/rest/dependabot/alerts)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Dependabot alerts" repository permission. + * + * **Note**: Webhook events for Dependabot alerts are currently in beta and subject to change. + * @description A Dependabot alert was manually closed. */ - enterprise: { - /** @description A short description of the enterprise. */ - description?: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** - * Format: uri - * @description The enterprise's website URL. - */ - website_url?: OneOf<[string, null]>; - /** @description Unique identifier of the enterprise */ - id: number; - node_id: string; - /** @description The name of the enterprise. */ - name: string; - /** @description The slug url identifier for the enterprise. */ - slug: string; - /** Format: date-time */ - created_at: OneOf<[string, null]>; - /** Format: date-time */ - updated_at: OneOf<[string, null]>; - /** Format: uri */ - avatar_url: string; - }; + post: operations["dependabot-alert/dismissed"]; + }; + "dependabot-alert-fixed": { /** - * App Permissions - * @description The permissions granted to the user-to-server access token. - * @example { - * "contents": "read", - * "issues": "read", - * "deployments": "write", - * "single_file": "read" - * } + * This event occurs when there is activity relating to Dependabot alerts. + * + * For more information about Dependabot alerts, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." For information about the API to manage Dependabot alerts, see "[Dependabot alerts](https://docs.github.com/rest/dependabot/alerts)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Dependabot alerts" repository permission. + * + * **Note**: Webhook events for Dependabot alerts are currently in beta and subject to change. + * @description A manifest file change removed a vulnerability. */ - "app-permissions": { - /** - * @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. - * @enum {string} - */ - actions?: "read" | "write"; - /** - * @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. - * @enum {string} - */ - administration?: "read" | "write"; - /** - * @description The level of permission to grant the access token for checks on code. - * @enum {string} - */ - checks?: "read" | "write"; - /** - * @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. - * @enum {string} - */ - contents?: "read" | "write"; - /** - * @description The level of permission to grant the access token for deployments and deployment statuses. - * @enum {string} - */ - deployments?: "read" | "write"; - /** - * @description The level of permission to grant the access token for managing repository environments. - * @enum {string} - */ - environments?: "read" | "write"; - /** - * @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. - * @enum {string} - */ - issues?: "read" | "write"; - /** - * @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. - * @enum {string} - */ - metadata?: "read" | "write"; - /** - * @description The level of permission to grant the access token for packages published to GitHub Packages. - * @enum {string} - */ - packages?: "read" | "write"; - /** - * @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. - * @enum {string} - */ - pages?: "read" | "write"; - /** - * @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. - * @enum {string} - */ - pull_requests?: "read" | "write"; - /** - * @description The level of permission to grant the access token to view and manage announcement banners for a repository. - * @enum {string} - */ - repository_announcement_banners?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage the post-receive hooks for a repository. - * @enum {string} - */ - repository_hooks?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage repository projects, columns, and cards. - * @enum {string} - */ - repository_projects?: "read" | "write" | "admin"; - /** - * @description The level of permission to grant the access token to view and manage secret scanning alerts. - * @enum {string} - */ - secret_scanning_alerts?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage repository secrets. - * @enum {string} - */ - secrets?: "read" | "write"; - /** - * @description The level of permission to grant the access token to view and manage security events like code scanning alerts. - * @enum {string} - */ - security_events?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage just a single file. - * @enum {string} - */ - single_file?: "read" | "write"; - /** - * @description The level of permission to grant the access token for commit statuses. - * @enum {string} - */ - statuses?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage Dependabot alerts. - * @enum {string} - */ - vulnerability_alerts?: "read" | "write"; - /** - * @description The level of permission to grant the access token to update GitHub Actions workflow files. - * @enum {string} - */ - workflows?: "write"; - /** - * @description The level of permission to grant the access token for organization teams and members. - * @enum {string} - */ - members?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage access to an organization. - * @enum {string} - */ - organization_administration?: "read" | "write"; - /** - * @description The level of permission to grant the access token for custom roles management. This property is in beta and is subject to change. - * @enum {string} - */ - organization_custom_roles?: "read" | "write"; - /** - * @description The level of permission to grant the access token to view and manage announcement banners for an organization. - * @enum {string} - */ - organization_announcement_banners?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage the post-receive hooks for an organization. - * @enum {string} - */ - organization_hooks?: "read" | "write"; - /** - * @description The level of permission to grant the access token for viewing an organization's plan. - * @enum {string} - */ - organization_plan?: "read"; - /** - * @description The level of permission to grant the access token to manage organization projects and projects beta (where available). - * @enum {string} - */ - organization_projects?: "read" | "write" | "admin"; - /** - * @description The level of permission to grant the access token for organization packages published to GitHub Packages. - * @enum {string} - */ - organization_packages?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage organization secrets. - * @enum {string} - */ - organization_secrets?: "read" | "write"; - /** - * @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. - * @enum {string} - */ - organization_self_hosted_runners?: "read" | "write"; - /** - * @description The level of permission to grant the access token to view and manage users blocked by the organization. - * @enum {string} - */ - organization_user_blocking?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage team discussions and related comments. - * @enum {string} - */ - team_discussions?: "read" | "write"; - }; + post: operations["dependabot-alert/fixed"]; + }; + "dependabot-alert-reintroduced": { /** - * Installation - * @description Installation + * This event occurs when there is activity relating to Dependabot alerts. + * + * For more information about Dependabot alerts, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." For information about the API to manage Dependabot alerts, see "[Dependabot alerts](https://docs.github.com/rest/dependabot/alerts)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Dependabot alerts" repository permission. + * + * **Note**: Webhook events for Dependabot alerts are currently in beta and subject to change. + * @description A manifest file change introduced a vulnerable dependency that had previously been fixed. */ - installation: { - /** @description The ID of the installation. */ - id: number; - account: OneOf<[null, components["schemas"]["simple-user"] | components["schemas"]["enterprise"]]>; - /** - * @description Describe whether all repositories have been selected or there's a selection involved - * @enum {string} - */ - repository_selection: "all" | "selected"; - /** Format: uri */ - access_tokens_url: string; - /** Format: uri */ - repositories_url: string; - /** Format: uri */ - html_url: string; - app_id: number; - /** @description The ID of the user or organization this token is being scoped to. */ - target_id: number; - target_type: string; - permissions: components["schemas"]["app-permissions"]; - events: (string)[]; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - single_file_name: OneOf<[string, null]>; - has_multiple_single_files?: boolean; - single_file_paths?: (string)[]; - app_slug: string; - suspended_by: null | components["schemas"]["simple-user"]; - /** Format: date-time */ - suspended_at: OneOf<[string, null]>; - contact_email?: OneOf<[string, null]>; - }; + post: operations["dependabot-alert/reintroduced"]; + }; + "dependabot-alert-reopened": { /** - * License Simple - * @description License Simple + * This event occurs when there is activity relating to Dependabot alerts. + * + * For more information about Dependabot alerts, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." For information about the API to manage Dependabot alerts, see "[Dependabot alerts](https://docs.github.com/rest/dependabot/alerts)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Dependabot alerts" repository permission. + * + * **Note**: Webhook events for Dependabot alerts are currently in beta and subject to change. + * @description A Dependabot alert was manually reopened. */ - "license-simple": { - key: string; - name: string; - /** Format: uri */ - url: OneOf<[string, null]>; - spdx_id: OneOf<[string, null]>; - node_id: string; - /** Format: uri */ - html_url?: string; - }; + post: operations["dependabot-alert/reopened"]; + }; + "deploy-key-created": { /** - * Repository - * @description A repository on GitHub. + * This event occurs when there is activity relating to deploy keys. For more information, see "[Managing deploy keys](https://docs.github.com/developers/overview/managing-deploy-keys)." For information about the APIs to manage deploy keys, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#deploykey) or "[Deploy keys](https://docs.github.com/rest/deploy-keys)" in the REST API documentation. + * @description A deploy key was created. */ - repository: { - /** @description Unique identifier of the repository */ - id: number; - node_id: string; - /** @description The name of the repository. */ - name: string; - full_name: string; - license: null | components["schemas"]["license-simple"]; - organization?: null | components["schemas"]["simple-user"]; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - }; - owner: components["schemas"]["simple-user"]; - /** - * @description Whether the repository is private or public. - * @default false - */ - private: boolean; - /** Format: uri */ - html_url: string; - description: OneOf<[string, null]>; - fork: boolean; - /** Format: uri */ - url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - /** Format: uri */ - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url: string; - /** Format: uri */ - stargazers_url: string; - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - trees_url: string; - clone_url: string; - /** Format: uri */ - mirror_url: OneOf<[string, null]>; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - homepage: OneOf<[string, null]>; - language: OneOf<[string, null]>; - forks_count: number; - stargazers_count: number; - watchers_count: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ - size: number; - /** @description The default branch of the repository. */ - default_branch: string; - open_issues_count: number; - /** - * @description Whether this repository acts as a template that can be used to generate new repositories. - * @default false - */ - is_template?: boolean; - topics?: (string)[]; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - has_pages: boolean; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions?: boolean; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** - * @description The repository visibility: public, private, or internal. - * @default public - */ - visibility?: string; - /** Format: date-time */ - pushed_at: OneOf<[string, null]>; - /** Format: date-time */ - created_at: OneOf<[string, null]>; - /** Format: date-time */ - updated_at: OneOf<[string, null]>; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - template_repository?: OneOf<[{ - id?: number; - node_id?: string; - name?: string; - full_name?: string; - owner?: { - login?: string; - id?: number; - node_id?: string; - avatar_url?: string; - gravatar_id?: string; - url?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - repos_url?: string; - events_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - }; - private?: boolean; - html_url?: string; - description?: string; - fork?: boolean; - url?: string; - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - downloads_url?: string; - events_url?: string; - forks_url?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - notifications_url?: string; - pulls_url?: string; - releases_url?: string; - ssh_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - clone_url?: string; - mirror_url?: string; - hooks_url?: string; - svn_url?: string; - homepage?: string; - language?: string; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: (string)[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - pushed_at?: string; - created_at?: string; - updated_at?: string; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - allow_rebase_merge?: boolean; - temp_clone_token?: string; - allow_squash_merge?: boolean; - allow_auto_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_update_branch?: boolean; - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - allow_merge_commit?: boolean; - subscribers_count?: number; - network_count?: number; - }, null]>; - temp_clone_token?: string; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - /** - * @description Whether to allow Auto-merge to be used on pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** - * @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. - * @default false - */ - allow_update_branch?: boolean; - /** - * @deprecated - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** @description Whether to allow forking this repo */ - allow_forking?: boolean; - /** - * @description Whether to require contributors to sign off on web-based commits - * @default false - */ - web_commit_signoff_required?: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - starred_at?: string; - /** @description Whether anonymous git access is enabled for this repository */ - anonymous_access_enabled?: boolean; - }; + post: operations["deploy-key/created"]; + }; + "deploy-key-deleted": { /** - * Installation Token - * @description Authentication token for a GitHub App installed on a user or org. + * This event occurs when there is activity relating to deploy keys. For more information, see "[Managing deploy keys](https://docs.github.com/developers/overview/managing-deploy-keys)." For information about the APIs to manage deploy keys, see "[the GraphQL documentation](https://docs.github.com/graphql/reference/objects#deploykey)" and "[Deploy keys](https://docs.github.com/rest/deploy-keys)" in the REST API documentation. + * @description A deploy key was deleted. */ - "installation-token": { - token: string; - expires_at: string; - permissions?: components["schemas"]["app-permissions"]; - /** @enum {string} */ - repository_selection?: "all" | "selected"; - repositories?: (components["schemas"]["repository"])[]; - single_file?: string; - has_multiple_single_files?: boolean; - single_file_paths?: (string)[]; - }; - /** Scoped Installation */ - "scoped-installation": { - permissions: components["schemas"]["app-permissions"]; - /** - * @description Describe whether all repositories have been selected or there's a selection involved - * @enum {string} - */ - repository_selection: "all" | "selected"; - single_file_name: OneOf<[string, null]>; - has_multiple_single_files?: boolean; - single_file_paths?: (string)[]; - /** Format: uri */ - repositories_url: string; - account: components["schemas"]["simple-user"]; - }; + post: operations["deploy-key/deleted"]; + }; + "deployment-created": { /** - * Authorization - * @description The authorization for an OAuth app, GitHub App, or a Personal Access Token. + * This event occurs when there is activity relating to deployments. For more information, see "[About deployments](https://docs.github.com/actions/deployment/about-deployments)." For information about the APIs to manage deployments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#deployment) or "[Deployments](https://docs.github.com/rest/deployments/deployments)" in the REST API documentation. + * + * For activity relating to deployment status, use the `deployment_status` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Deployments" repository permission. + * @description A deployment was created. */ - authorization: { - id: number; - /** Format: uri */ - url: string; - /** @description A list of scopes that this authorization is in. */ - scopes: OneOf<[(string)[], null]>; - token: string; - token_last_eight: OneOf<[string, null]>; - hashed_token: OneOf<[string, null]>; - app: { - client_id: string; - name: string; - /** Format: uri */ - url: string; - }; - note: OneOf<[string, null]>; - /** Format: uri */ - note_url: OneOf<[string, null]>; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - created_at: string; - fingerprint: OneOf<[string, null]>; - user?: null | components["schemas"]["simple-user"]; - installation?: null | components["schemas"]["scoped-installation"]; - /** Format: date-time */ - expires_at: OneOf<[string, null]>; - }; + post: operations["deployment/created"]; + }; + "deployment-status-created": { /** - * Code Of Conduct - * @description Code Of Conduct + * This event occurs when there is activity relating to deployment statuses. For more information, see "[About deployments](https://docs.github.com/actions/deployment/about-deployments)." For information about the APIs to manage deployments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#deployment) or "[Deployments](https://docs.github.com/rest/deployments/deployments)" in the REST API documentation. + * + * For activity relating to deployment creation, use the `deployment` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Deployments" repository permission. + * @description A new deployment status was created. */ - "code-of-conduct": { - key: string; - name: string; - /** Format: uri */ - url: string; - body?: string; - /** Format: uri */ - html_url: OneOf<[string, null]>; - }; + post: operations["deployment-status/created"]; + }; + "discussion-answered": { /** - * Server Statistics Proxy Endpoint - * @description Response of S4 Proxy endpoint that provides GHES statistics + * This event occurs when there is activity relating to a discussion. For activity relating to a comment on a discussion, see the `discussion_comment` event. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the GraphQL API for Discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). + * + * In order to install this event on a GitHub App, the app must have `discussions` permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A comment on the discussion was marked as the answer. */ - "server-statistics": ({ - server_id?: string; - collection_date?: string; - schema_version?: string; - ghes_version?: string; - host_name?: string; - github_connect?: { - features_enabled?: (string)[]; - }; - ghe_stats?: { - comments?: { - total_commit_comments?: number; - total_gist_comments?: number; - total_issue_comments?: number; - total_pull_request_comments?: number; - }; - gists?: { - total_gists?: number; - private_gists?: number; - public_gists?: number; - }; - hooks?: { - total_hooks?: number; - active_hooks?: number; - inactive_hooks?: number; - }; - issues?: { - total_issues?: number; - open_issues?: number; - closed_issues?: number; - }; - milestones?: { - total_milestones?: number; - open_milestones?: number; - closed_milestones?: number; - }; - orgs?: { - total_orgs?: number; - disabled_orgs?: number; - total_teams?: number; - total_team_members?: number; - }; - pages?: { - total_pages?: number; - }; - pulls?: { - total_pulls?: number; - merged_pulls?: number; - mergeable_pulls?: number; - unmergeable_pulls?: number; - }; - repos?: { - total_repos?: number; - root_repos?: number; - fork_repos?: number; - org_repos?: number; - total_pushes?: number; - total_wikis?: number; - }; - users?: { - total_users?: number; - admin_users?: number; - suspended_users?: number; - }; - }; - dormant_users?: { - total_dormant_users?: number; - dormancy_threshold?: string; - }; - })[]; - "actions-cache-usage-org-enterprise": { - /** @description The count of active caches across all repositories of an enterprise or an organization. */ - total_active_caches_count: number; - /** @description The total size in bytes of all active cache items across all repositories of an enterprise or an organization. */ - total_active_caches_size_in_bytes: number; - }; + post: operations["discussion/answered"]; + }; + "discussion-category-changed": { /** - * @description The policy that controls the organizations in the enterprise that are allowed to run GitHub Actions. - * @enum {string} + * This event occurs when there is activity relating to a discussion. For activity relating to a comment on a discussion, see the `discussion_comment` event. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the GraphQL API for Discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). + * + * In order to install this event on a GitHub App, the app must have `discussions` permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description The category of a discussion was changed. */ - "enabled-organizations": "all" | "none" | "selected"; + post: operations["discussion/category-changed"]; + }; + "discussion-comment-created": { /** - * @description The permissions policy that controls the actions and reusable workflows that are allowed to run. - * @enum {string} + * This event occurs when there is activity relating to a comment on a discussion. For activity relating to a discussion as opposed to comments on a discussion, see the `discussion` event. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the GraphQL API for Discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). + * + * In order to install this event on a GitHub App, the app must have `discussions` permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A comment on a discussion was created. */ - "allowed-actions": "all" | "local_only" | "selected"; - /** @description The API URL to use to get or set the actions and reusable workflows that are allowed to run, when `allowed_actions` is set to `selected`. */ - "selected-actions-url": string; - "actions-enterprise-permissions": { - enabled_organizations: components["schemas"]["enabled-organizations"]; - /** @description The API URL to use to get or set the selected organizations that are allowed to run GitHub Actions, when `enabled_organizations` is set to `selected`. */ - selected_organizations_url?: string; - allowed_actions?: components["schemas"]["allowed-actions"]; - selected_actions_url?: components["schemas"]["selected-actions-url"]; - }; + post: operations["discussion-comment/created"]; + }; + "discussion-comment-deleted": { /** - * Organization Simple - * @description A GitHub organization. + * This event occurs when there is activity relating to a comment on a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." + * + * In order to install this event on a GitHub App, the app must have `discussions` permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A comment on a discussion was deleted. */ - "organization-simple": { - login: string; - id: number; - node_id: string; - /** Format: uri */ - url: string; - /** Format: uri */ - repos_url: string; - /** Format: uri */ - events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; - avatar_url: string; - description: OneOf<[string, null]>; - }; - "selected-actions": { - /** @description Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization. */ - github_owned_allowed?: boolean; - /** @description Whether actions from GitHub Marketplace verified creators are allowed. Set to `true` to allow all actions by GitHub Marketplace verified creators. */ - verified_allowed?: boolean; - /** @description Specifies a list of string-matching patterns to allow specific action(s) and reusable workflow(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`." */ - patterns_allowed?: (string)[]; - }; + post: operations["discussion-comment/deleted"]; + }; + "discussion-comment-edited": { /** - * @description The default workflow permissions granted to the GITHUB_TOKEN when running workflows. - * @enum {string} + * This event occurs when there is activity relating to a comment on a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." + * + * In order to install this event on a GitHub App, the app must have `discussions` permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A comment on a discussion was edited. */ - "actions-default-workflow-permissions": "read" | "write"; - /** @description Whether GitHub Actions can approve pull requests. Enabling this can be a security risk. */ - "actions-can-approve-pull-request-reviews": boolean; - "actions-get-default-workflow-permissions": { - default_workflow_permissions: components["schemas"]["actions-default-workflow-permissions"]; - can_approve_pull_request_reviews: components["schemas"]["actions-can-approve-pull-request-reviews"]; - }; - "actions-set-default-workflow-permissions": { - default_workflow_permissions?: components["schemas"]["actions-default-workflow-permissions"]; - can_approve_pull_request_reviews?: components["schemas"]["actions-can-approve-pull-request-reviews"]; - }; - "runner-groups-enterprise": { - id: number; - name: string; - visibility: string; - default: boolean; - selected_organizations_url?: string; - runners_url: string; - allows_public_repositories: boolean; - /** - * @description If `true`, the `restricted_to_workflows` and `selected_workflows` fields cannot be modified. - * @default false - */ - workflow_restrictions_read_only?: boolean; - /** - * @description If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array. - * @default false - */ - restricted_to_workflows?: boolean; - /** @description List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`. */ - selected_workflows?: (string)[]; - }; + post: operations["discussion-comment/edited"]; + }; + "discussion-created": { /** - * Self hosted runner label - * @description A label for a self hosted runner + * This event occurs when there is activity relating to a discussion. For activity relating to a comment on a discussion, see the `discussion_comment` event. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the GraphQL API for Discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). + * + * In order to install this event on a GitHub App, the app must have `discussions` permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A discussion was created. */ - "runner-label": { - /** @description Unique identifier of the label. */ - id?: number; - /** @description Name of the label. */ - name: string; - /** - * @description The type of label. Read-only labels are applied automatically when the runner is configured. - * @enum {string} - */ - type?: "read-only" | "custom"; - }; + post: operations["discussion/created"]; + }; + "discussion-deleted": { /** - * Self hosted runners - * @description A self hosted runner + * This event occurs when there is activity relating to a discussion. For activity relating to a comment on a discussion, see the `discussion_comment` event. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the GraphQL API for Discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). + * + * In order to install this event on a GitHub App, the app must have `discussions` permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A discussion was deleted. */ - runner: { - /** @description The id of the runner. */ - id: number; - /** @description The name of the runner. */ - name: string; - /** @description The Operating System of the runner. */ - os: string; - /** @description The status of the runner. */ - status: string; - busy: boolean; - labels: (components["schemas"]["runner-label"])[]; - }; + post: operations["discussion/deleted"]; + }; + "discussion-edited": { /** - * Runner Application - * @description Runner Application + * This event occurs when there is activity relating to a discussion. For activity relating to a comment on a discussion, see the `discussion_comment` event. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the GraphQL API for Discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). + * + * In order to install this event on a GitHub App, the app must have `discussions` permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description The title or body on a discussion was edited, or the category of the discussion was changed. */ - "runner-application": { - os: string; - architecture: string; - download_url: string; - filename: string; - /** @description A short lived bearer token used to download the runner, if needed. */ - temp_download_token?: string; - sha256_checksum?: string; - }; + post: operations["discussion/edited"]; + }; + "discussion-labeled": { /** - * Authentication Token - * @description Authentication Token + * This event occurs when there is activity relating to a discussion. For activity relating to a comment on a discussion, see the `discussion_comment` event. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the GraphQL API for Discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). + * + * In order to install this event on a GitHub App, the app must have `discussions` permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A label was added to a discussion. */ - "authentication-token": { - /** @description The token used for authentication */ - token: string; - /** - * Format: date-time - * @description The time this token expires - */ - expires_at: string; - permissions?: Record; - /** @description The repositories this token has access to */ - repositories?: (components["schemas"]["repository"])[]; - single_file?: OneOf<[string, null]>; - /** - * @description Describe whether all repositories have been selected or there's a selection involved - * @enum {string} - */ - repository_selection?: "all" | "selected"; - }; - /** @description The name of the tool used to generate the code scanning analysis. */ - "code-scanning-analysis-tool-name": string; - /** @description The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data. */ - "code-scanning-analysis-tool-guid": OneOf<[string, null]>; + post: operations["discussion/labeled"]; + }; + "discussion-locked": { /** - * @description State of a code scanning alert. - * @enum {string} + * This event occurs when there is activity relating to a discussion. For activity relating to a comment on a discussion, see the `discussion_comment` event. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the GraphQL API for Discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). + * + * In order to install this event on a GitHub App, the app must have `discussions` permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A discussion was locked. */ - "code-scanning-alert-state": "open" | "closed" | "dismissed" | "fixed"; - /** @description The security alert number. */ - readonly "alert-number": number; + post: operations["discussion/locked"]; + }; + "discussion-pinned": { /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + * This event occurs when there is activity relating to a discussion. For activity relating to a comment on a discussion, see the `discussion_comment` event. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the GraphQL API for Discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). + * + * In order to install this event on a GitHub App, the app must have `discussions` permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A discussion was pinned. */ - readonly "alert-created-at": string; + post: operations["discussion/pinned"]; + }; + "discussion-transferred": { /** - * Format: date-time - * @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + * This event occurs when there is activity relating to a discussion. For activity relating to a comment on a discussion, see the `discussion_comment` event. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the GraphQL API for Discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). + * + * In order to install this event on a GitHub App, the app must have `discussions` permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A discussion was transferred to another repository. */ - readonly "alert-updated-at": string; + post: operations["discussion/transferred"]; + }; + "discussion-unanswered": { /** - * Format: uri - * @description The REST API URL of the alert resource. + * This event occurs when there is activity relating to a discussion. For activity relating to a comment on a discussion, see the `discussion_comment` event. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the GraphQL API for Discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). + * + * In order to install this event on a GitHub App, the app must have `discussions` permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A comment on the discussion was unmarked as the answer. */ - readonly "alert-url": string; + post: operations["discussion/unanswered"]; + }; + "discussion-unlabeled": { /** - * Format: uri - * @description The GitHub URL of the alert resource. + * This event occurs when there is activity relating to a discussion. For activity relating to a comment on a discussion, see the `discussion_comment` event. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the GraphQL API for Discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). + * + * In order to install this event on a GitHub App, the app must have `discussions` permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A label was removed from a discussion. */ - readonly "alert-html-url": string; + post: operations["discussion/unlabeled"]; + }; + "discussion-unlocked": { /** - * Format: uri - * @description The REST API URL for fetching the list of instances for an alert. + * This event occurs when there is activity relating to a discussion. For activity relating to a comment on a discussion, see the `discussion_comment` event. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the GraphQL API for Discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). + * + * In order to install this event on a GitHub App, the app must have `discussions` permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A discussion was unlocked. */ - readonly "alert-instances-url": string; + post: operations["discussion/unlocked"]; + }; + "discussion-unpinned": { /** - * Format: date-time - * @description The time that the alert was no longer detected and was considered fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + * This event occurs when there is activity relating to a discussion. For activity relating to a comment on a discussion, see the `discussion_comment` event. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the GraphQL API for Discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). + * + * In order to install this event on a GitHub App, the app must have `discussions` permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A discussion was unpinned. */ - readonly "alert-fixed-at": OneOf<[string, null]>; + post: operations["discussion/unpinned"]; + }; + "fork": { /** - * Format: date-time - * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + * This event occurs when someone forks a repository. For more information, see "[Fork a repo](https://docs.github.com/get-started/quickstart/fork-a-repo)." For information about the API, see "[Forks](https://docs.github.com/rest/repos/forks)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. */ - readonly "alert-dismissed-at": OneOf<[string, null]>; + post: operations["fork"]; + }; + "github-app-authorization-revoked": { /** - * @description **Required when the state is dismissed.** The reason for dismissing or closing the alert. - * @enum {string|null} + * This event occurs when a user revokes their authorization of a GitHub App. For more information, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) and [the REST API documentation](https://docs.github.com/rest/apps). + * + * A GitHub App receives this webhook by default and cannot unsubscribe from this event. + * + * Anyone can revoke their authorization of a GitHub App from their [GitHub account settings page](https://github.com/settings/apps/authorizations). Revoking the authorization of a GitHub App does not uninstall the GitHub App. You should program your GitHub App so that when it receives this webhook, it stops calling the API on behalf of the person who revoked the token. If your GitHub App continues to use a revoked access token, it will receive the `401 Bad Credentials` error. For details about user-to-server requests, which require GitHub App authorization, see "[Identifying and authorizing users for GitHub Apps](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)." + * @description Someone revoked their authorization of a GitHub App. */ - "code-scanning-alert-dismissed-reason": "" | "false positive" | "won't fix" | "used in tests" | null; - /** @description The dismissal comment associated with the dismissal of the alert. */ - "code-scanning-alert-dismissed-comment": OneOf<[string, null]>; - "code-scanning-alert-rule": { - /** @description A unique identifier for the rule used to detect the alert. */ - id?: OneOf<[string, null]>; - /** @description The name of the rule used to detect the alert. */ - name?: string; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity?: "none" | "note" | "warning" | "error" | "" | null; - /** - * @description The security severity of the alert. - * @enum {string|null} - */ - security_severity_level?: "low" | "medium" | "high" | "critical" | "" | null; - /** @description A short description of the rule used to detect the alert. */ - description?: string; - /** @description description of the rule used to detect the alert. */ - full_description?: string; - /** @description A set of tags applicable for the rule. */ - tags?: OneOf<[(string)[], null]>; - /** @description Detailed documentation for the rule as GitHub Flavored Markdown. */ - help?: OneOf<[string, null]>; - /** @description A link to the documentation for the rule used to detect the alert. */ - help_uri?: OneOf<[string, null]>; - }; - /** @description The version of the tool used to generate the code scanning analysis. */ - "code-scanning-analysis-tool-version": OneOf<[string, null]>; - "code-scanning-analysis-tool": { - name?: components["schemas"]["code-scanning-analysis-tool-name"]; - version?: components["schemas"]["code-scanning-analysis-tool-version"]; - guid?: components["schemas"]["code-scanning-analysis-tool-guid"]; - }; + post: operations["github-app-authorization/revoked"]; + }; + "gollum": { /** - * @description The full Git reference, formatted as `refs/heads/`, - * `refs/pull//merge`, or `refs/pull//head`. + * This event occurs when someone creates or updates a wiki page. For more information, see "[About wikis](https://docs.github.com/communities/documenting-your-project-with-wikis/about-wikis)." + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. */ - "code-scanning-ref": string; - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - "code-scanning-analysis-analysis-key": string; - /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - "code-scanning-alert-environment": string; - /** @description Identifies the configuration under which the analysis was executed. Used to distinguish between multiple analyses for the same tool and commit, but performed on different languages or different parts of the code. */ - "code-scanning-analysis-category": string; - /** @description Describe a region within a file for the alert. */ - "code-scanning-alert-location": { - path?: string; - start_line?: number; - end_line?: number; - start_column?: number; - end_column?: number; - }; + post: operations["gollum"]; + }; + "installation-created": { /** - * @description A classification of the file. For example to identify it as generated. - * @enum {string|null} + * This event occurs when there is activity relating to a GitHub App installation. For more information, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) and [the REST API documentation](https://docs.github.com/rest/apps). + * @description Someone installed a GitHub App on a user or organization account. */ - "code-scanning-alert-classification": "source" | "generated" | "test" | "library" | "" | null; - "code-scanning-alert-instance": { - ref?: components["schemas"]["code-scanning-ref"]; - analysis_key?: components["schemas"]["code-scanning-analysis-analysis-key"]; - environment?: components["schemas"]["code-scanning-alert-environment"]; - category?: components["schemas"]["code-scanning-analysis-category"]; - state?: components["schemas"]["code-scanning-alert-state"]; - commit_sha?: string; - message?: { - text?: string; - }; - location?: components["schemas"]["code-scanning-alert-location"]; - html_url?: string; - /** - * @description Classifications that have been applied to the file that triggered the alert. - * For example identifying it as documentation, or a generated file. - */ - classifications?: (components["schemas"]["code-scanning-alert-classification"])[]; - }; + post: operations["installation/created"]; + }; + "installation-deleted": { /** - * Simple Repository - * @description A GitHub repository. + * This event occurs when there is activity relating to a GitHub App installation. For more information, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) and [the REST API documentation](https://docs.github.com/rest/apps). + * @description Someone uninstalled a GitHub App from their user or organization account. */ - "simple-repository": { - /** @description A unique identifier of the repository. */ - id: number; - /** @description The GraphQL identifier of the repository. */ - node_id: string; - /** @description The name of the repository. */ - name: string; - /** @description The full, globally unique, name of the repository. */ - full_name: string; - owner: components["schemas"]["simple-user"]; - /** @description Whether the repository is private. */ - private: boolean; - /** - * Format: uri - * @description The URL to view the repository on GitHub.com. - */ - html_url: string; - /** @description The repository description. */ - description: OneOf<[string, null]>; - /** @description Whether the repository is a fork. */ - fork: boolean; - /** - * Format: uri - * @description The URL to get more information about the repository from the GitHub API. - */ - url: string; - /** @description A template for the API URL to download the repository as an archive. */ - archive_url: string; - /** @description A template for the API URL to list the available assignees for issues in the repository. */ - assignees_url: string; - /** @description A template for the API URL to create or retrieve a raw Git blob in the repository. */ - blobs_url: string; - /** @description A template for the API URL to get information about branches in the repository. */ - branches_url: string; - /** @description A template for the API URL to get information about collaborators of the repository. */ - collaborators_url: string; - /** @description A template for the API URL to get information about comments on the repository. */ - comments_url: string; - /** @description A template for the API URL to get information about commits on the repository. */ - commits_url: string; - /** @description A template for the API URL to compare two commits or refs. */ - compare_url: string; - /** @description A template for the API URL to get the contents of the repository. */ - contents_url: string; - /** - * Format: uri - * @description A template for the API URL to list the contributors to the repository. - */ - contributors_url: string; - /** - * Format: uri - * @description The API URL to list the deployments of the repository. - */ - deployments_url: string; - /** - * Format: uri - * @description The API URL to list the downloads on the repository. - */ - downloads_url: string; - /** - * Format: uri - * @description The API URL to list the events of the repository. - */ - events_url: string; - /** - * Format: uri - * @description The API URL to list the forks of the repository. - */ - forks_url: string; - /** @description A template for the API URL to get information about Git commits of the repository. */ - git_commits_url: string; - /** @description A template for the API URL to get information about Git refs of the repository. */ - git_refs_url: string; - /** @description A template for the API URL to get information about Git tags of the repository. */ - git_tags_url: string; - /** @description A template for the API URL to get information about issue comments on the repository. */ - issue_comment_url: string; - /** @description A template for the API URL to get information about issue events on the repository. */ - issue_events_url: string; - /** @description A template for the API URL to get information about issues on the repository. */ - issues_url: string; - /** @description A template for the API URL to get information about deploy keys on the repository. */ - keys_url: string; - /** @description A template for the API URL to get information about labels of the repository. */ - labels_url: string; - /** - * Format: uri - * @description The API URL to get information about the languages of the repository. - */ - languages_url: string; - /** - * Format: uri - * @description The API URL to merge branches in the repository. - */ - merges_url: string; - /** @description A template for the API URL to get information about milestones of the repository. */ - milestones_url: string; - /** @description A template for the API URL to get information about notifications on the repository. */ - notifications_url: string; - /** @description A template for the API URL to get information about pull requests on the repository. */ - pulls_url: string; - /** @description A template for the API URL to get information about releases on the repository. */ - releases_url: string; - /** - * Format: uri - * @description The API URL to list the stargazers on the repository. - */ - stargazers_url: string; - /** @description A template for the API URL to get information about statuses of a commit. */ - statuses_url: string; - /** - * Format: uri - * @description The API URL to list the subscribers on the repository. - */ - subscribers_url: string; - /** - * Format: uri - * @description The API URL to subscribe to notifications for this repository. - */ - subscription_url: string; - /** - * Format: uri - * @description The API URL to get information about tags on the repository. - */ - tags_url: string; - /** - * Format: uri - * @description The API URL to list the teams on the repository. - */ - teams_url: string; - /** @description A template for the API URL to create or retrieve a raw Git tree of the repository. */ - trees_url: string; - /** - * Format: uri - * @description The API URL to list the hooks on the repository. - */ - hooks_url: string; - }; - "code-scanning-organization-alert-items": { - number: components["schemas"]["alert-number"]; - created_at: components["schemas"]["alert-created-at"]; - updated_at?: components["schemas"]["alert-updated-at"]; - url: components["schemas"]["alert-url"]; - html_url: components["schemas"]["alert-html-url"]; - instances_url: components["schemas"]["alert-instances-url"]; - state: components["schemas"]["code-scanning-alert-state"]; - fixed_at?: components["schemas"]["alert-fixed-at"]; - dismissed_by: null | components["schemas"]["simple-user"]; - dismissed_at: components["schemas"]["alert-dismissed-at"]; - dismissed_reason: components["schemas"]["code-scanning-alert-dismissed-reason"]; - dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; - rule: components["schemas"]["code-scanning-alert-rule"]; - tool: components["schemas"]["code-scanning-analysis-tool"]; - most_recent_instance: components["schemas"]["code-scanning-alert-instance"]; - repository: components["schemas"]["simple-repository"]; - }; - /** @description Details for the vulnerable package. */ - readonly "dependabot-alert-package": { - /** @description The package's language or package management ecosystem. */ - readonly ecosystem: string; - /** @description The unique package name within its ecosystem. */ - readonly name: string; - }; - /** @description Details pertaining to one vulnerable version range for the advisory. */ - readonly "dependabot-alert-security-vulnerability": { - readonly package: components["schemas"]["dependabot-alert-package"]; - /** - * @description The severity of the vulnerability. - * @enum {string} - */ - readonly severity: "low" | "medium" | "high" | "critical"; - /** @description Conditions that identify vulnerable versions of this vulnerability's package. */ - readonly vulnerable_version_range: string; - /** @description Details pertaining to the package version that patches this vulnerability. */ - readonly first_patched_version: OneOf<[{ - /** @description The package version that patches this vulnerability. */ - readonly identifier: string; - }, null]>; - }; - /** @description Details for the GitHub Security Advisory. */ - readonly "dependabot-alert-security-advisory": { - /** @description The unique GitHub Security Advisory ID assigned to the advisory. */ - readonly ghsa_id: string; - /** @description The unique CVE ID assigned to the advisory. */ - readonly cve_id: OneOf<[string, null]>; - /** @description A short, plain text summary of the advisory. */ - readonly summary: string; - /** @description A long-form Markdown-supported description of the advisory. */ - readonly description: string; - /** @description Vulnerable version range information for the advisory. */ - readonly vulnerabilities: readonly (components["schemas"]["dependabot-alert-security-vulnerability"])[]; - /** - * @description The severity of the advisory. - * @enum {string} - */ - readonly severity: "low" | "medium" | "high" | "critical"; - /** @description Details for the advisory pertaining to the Common Vulnerability Scoring System. */ - readonly cvss: { - /** @description The overall CVSS score of the advisory. */ - readonly score: number; - /** @description The full CVSS vector string for the advisory. */ - readonly vector_string: OneOf<[string, null]>; - }; - /** @description Details for the advisory pertaining to Common Weakness Enumeration. */ - readonly cwes: readonly ({ - /** @description The unique CWE ID. */ - readonly cwe_id: string; - /** @description The short, plain text name of the CWE. */ - readonly name: string; - })[]; - /** @description Values that identify this advisory among security information sources. */ - readonly identifiers: readonly ({ - /** - * @description The type of advisory identifier. - * @enum {string} - */ - readonly type: "CVE" | "GHSA"; - /** @description The value of the advisory identifer. */ - readonly value: string; - })[]; - /** @description Links to additional advisory information. */ - readonly references: readonly ({ - /** - * Format: uri - * @description The URL of the reference. - */ - readonly url: string; - })[]; - /** - * Format: date-time - * @description The time that the advisory was published in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly published_at: string; - /** - * Format: date-time - * @description The time that the advisory was last modified in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly updated_at: string; - /** - * Format: date-time - * @description The time that the advisory was withdrawn in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly withdrawn_at: OneOf<[string, null]>; - }; - /** @description A Dependabot alert. */ - "dependabot-alert-with-repository": { - number: components["schemas"]["alert-number"]; - /** - * @description The state of the Dependabot alert. - * @enum {string} - */ - state: "dismissed" | "fixed" | "open"; - /** @description Details for the vulnerable dependency. */ - dependency: { - readonly package?: components["schemas"]["dependabot-alert-package"]; - /** @description The full path to the dependency manifest file, relative to the root of the repository. */ - readonly manifest_path?: string; - /** - * @description The execution scope of the vulnerable dependency. - * @enum {string|null} - */ - readonly scope?: "development" | "runtime" | "" | null; - }; - security_advisory: components["schemas"]["dependabot-alert-security-advisory"]; - security_vulnerability: components["schemas"]["dependabot-alert-security-vulnerability"]; - url: components["schemas"]["alert-url"]; - html_url: components["schemas"]["alert-html-url"]; - created_at: components["schemas"]["alert-created-at"]; - updated_at: components["schemas"]["alert-updated-at"]; - dismissed_at: components["schemas"]["alert-dismissed-at"]; - dismissed_by: null | components["schemas"]["simple-user"]; - /** - * @description The reason that the alert was dismissed. - * @enum {string|null} - */ - dismissed_reason: "fix_started" | "inaccurate" | "no_bandwidth" | "not_used" | "tolerable_risk" | "" | null; - /** @description An optional comment associated with the alert's dismissal. */ - dismissed_comment: OneOf<[string, null]>; - fixed_at: components["schemas"]["alert-fixed-at"]; - repository: components["schemas"]["simple-repository"]; - }; + post: operations["installation/deleted"]; + }; + "installation-new-permissions-accepted": { /** - * @description Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`. - * @enum {string} + * This event occurs when there is activity relating to a GitHub App installation. For more information, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) and [the REST API documentation](https://docs.github.com/rest/apps). + * @description Someone granted new permissions to a GitHub App. */ - "secret-scanning-alert-state": "open" | "resolved"; + post: operations["installation/new-permissions-accepted"]; + }; + "installation-repositories-added": { /** - * @description **Required when the `state` is `resolved`.** The reason for resolving the alert. - * @enum {string|null} + * This event occurs when there is activity relating to which repositories a GitHub App installation can access. For more information, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) and [the REST API documentation](https://docs.github.com/rest/apps). + * @description A GitHub App installation was granted access to one or more repositories. */ - "secret-scanning-alert-resolution": "" | "false_positive" | "wont_fix" | "revoked" | "used_in_tests" | null; - "organization-secret-scanning-alert": { - number?: components["schemas"]["alert-number"]; - created_at?: components["schemas"]["alert-created-at"]; - updated_at?: null | components["schemas"]["alert-updated-at"]; - url?: components["schemas"]["alert-url"]; - html_url?: components["schemas"]["alert-html-url"]; - /** - * Format: uri - * @description The REST API URL of the code locations for this alert. - */ - locations_url?: string; - state?: components["schemas"]["secret-scanning-alert-state"]; - resolution?: components["schemas"]["secret-scanning-alert-resolution"]; - /** - * Format: date-time - * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - resolved_at?: OneOf<[string, null]>; - resolved_by?: null | components["schemas"]["simple-user"]; - /** @description The type of secret that secret scanning detected. */ - secret_type?: string; - /** - * @description User-friendly name for the detected secret, matching the `secret_type`. - * For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." - */ - secret_type_display_name?: string; - /** @description The secret that was detected. */ - secret?: string; - repository?: components["schemas"]["simple-repository"]; - /** @description Whether push protection was bypassed for the detected secret. */ - push_protection_bypassed?: OneOf<[boolean, null]>; - push_protection_bypassed_by?: null | components["schemas"]["simple-user"]; - /** - * Format: date-time - * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - push_protection_bypassed_at?: OneOf<[string, null]>; - /** @description The comment that was optionally added when this alert was closed */ - resolution_comment?: OneOf<[string, null]>; - }; - "advanced-security-active-committers-user": { - user_login: string; - last_pushed_date: string; - }; - "advanced-security-active-committers-repository": { - name: string; - advanced_security_committers: number; - advanced_security_committers_breakdown: (components["schemas"]["advanced-security-active-committers-user"])[]; - }; - "advanced-security-active-committers": { - total_advanced_security_committers?: number; - total_count?: number; - repositories: (components["schemas"]["advanced-security-active-committers-repository"])[]; - }; + post: operations["installation-repositories/added"]; + }; + "installation-repositories-removed": { /** - * Actor - * @description Actor + * This event occurs when there is activity relating to which repositories a GitHub App installation can access. For more information, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) and [the REST API documentation](https://docs.github.com/rest/apps). + * @description Access to one or more repositories was revoked for a GitHub App installation. */ - actor: { - id: number; - login: string; - display_login?: string; - gravatar_id: OneOf<[string, null]>; - /** Format: uri */ - url: string; - /** Format: uri */ - avatar_url: string; - }; + post: operations["installation-repositories/removed"]; + }; + "installation-suspend": { /** - * Milestone - * @description A collection of related issues and pull requests. + * This event occurs when there is activity relating to a GitHub App installation. For more information, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) and [the REST API documentation](https://docs.github.com/rest/apps). + * @description Someone blocked access by a GitHub App to their user or organization account. */ - milestone: { - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - labels_url: string; - id: number; - node_id: string; - /** @description The number of the milestone. */ - number: number; - /** - * @description The state of the milestone. - * @default open - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - description: OneOf<[string, null]>; - creator: null | components["schemas"]["simple-user"]; - open_issues: number; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - /** Format: date-time */ - due_on: OneOf<[string, null]>; - }; + post: operations["installation/suspend"]; + }; + "installation-target-renamed": { /** - * author_association - * @description How the author is associated with the repository. - * @enum {string} + * This event occurs when there is activity relating to the user or organization account that a GitHub App is installed on. For more information, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) and [the REST API documentation](https://docs.github.com/rest/apps). + * @description Somebody renamed the user or organization account that a GitHub App is installed on. */ - "author-association": "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** Reaction Rollup */ - "reaction-rollup": { - /** Format: uri */ - url: string; - total_count: number; - "+1": number; - "-1": number; - laugh: number; - confused: number; - heart: number; - hooray: number; - eyes: number; - rocket: number; - }; + post: operations["installation-target/renamed"]; + }; + "installation-unsuspend": { /** - * Issue - * @description Issues are a great way to keep track of tasks, enhancements, and bugs for your projects. + * This event occurs when there is activity relating to a GitHub App installation. For more information, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) and [the REST API documentation](https://docs.github.com/rest/apps). + * @description A GitHub App that was blocked from accessing a user or organization account was given access the account again. */ - issue: { - id: number; - node_id: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** Format: uri */ - repository_url: string; - labels_url: string; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** @description Number uniquely identifying the issue within its repository */ - number: number; - /** @description State of the issue; either 'open' or 'closed' */ - state: string; - /** - * @description The reason for the current state - * @enum {string|null} - */ - state_reason?: "completed" | "reopened" | "not_planned" | "" | null; - /** @description Title of the issue */ - title: string; - /** @description Contents of the issue */ - body?: OneOf<[string, null]>; - user: null | components["schemas"]["simple-user"]; - /** @description Labels to associate with this issue; pass one or more label names to replace the set of labels on this issue; send an empty array to clear all labels from the issue; note that the labels are silently dropped for users without push access to the repository */ - labels: (OneOf<[string, { - /** Format: int64 */ - id?: number; - node_id?: string; - /** Format: uri */ - url?: string; - name?: string; - description?: OneOf<[string, null]>; - color?: OneOf<[string, null]>; - default?: boolean; - }]>)[]; - assignee: null | components["schemas"]["simple-user"]; - assignees?: OneOf<[(components["schemas"]["simple-user"])[], null]>; - milestone: null | components["schemas"]["milestone"]; - locked: boolean; - active_lock_reason?: OneOf<[string, null]>; - comments: number; - pull_request?: { - /** Format: date-time */ - merged_at?: OneOf<[string, null]>; - /** Format: uri */ - diff_url: OneOf<[string, null]>; - /** Format: uri */ - html_url: OneOf<[string, null]>; - /** Format: uri */ - patch_url: OneOf<[string, null]>; - /** Format: uri */ - url: OneOf<[string, null]>; - }; - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - draft?: boolean; - closed_by?: null | components["schemas"]["simple-user"]; - body_html?: string; - body_text?: string; - /** Format: uri */ - timeline_url?: string; - repository?: components["schemas"]["repository"]; - performed_via_github_app?: null | components["schemas"]["integration"]; - author_association: components["schemas"]["author-association"]; - reactions?: components["schemas"]["reaction-rollup"]; - }; + post: operations["installation/unsuspend"]; + }; + "issue-comment-created": { /** - * Issue Comment - * @description Comments provide a way for people to collaborate on an issue. + * This event occurs when there is activity relating to a comment on an issue of pull request. + * + * For more information about issues and pull requests, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)" and "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the Issue comments APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issuecomment) and [the REST API documentation](https://docs.github.com/rest/issues/comments). + * + * For activity relating to an issue as opposed to comments on an issue, see the `issue` event. For activity related to pull request reviews or pull request review comments, see the `pull_request_review` or `pull_request_review_comment` events. For mor information about the different types of pull request comments, see "[Working with comments](https://docs.github.com/rest/guides/working-with-comments)." + * + * In order to install this event on a GitHub App, the app must have at least read-level permission for issues or pull requests. + * @description A comment on an issue or pull request was created. */ - "issue-comment": { - /** @description Unique identifier of the issue comment */ - id: number; - node_id: string; - /** - * Format: uri - * @description URL for the issue comment - */ - url: string; - /** @description Contents of the issue comment */ - body?: string; - body_text?: string; - body_html?: string; - /** Format: uri */ - html_url: string; - user: null | components["schemas"]["simple-user"]; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - issue_url: string; - author_association: components["schemas"]["author-association"]; - performed_via_github_app?: null | components["schemas"]["integration"]; - reactions?: components["schemas"]["reaction-rollup"]; - }; + post: operations["issue-comment/created"]; + }; + "issue-comment-deleted": { /** - * Event - * @description Event + * This event occurs when there is activity relating to a comment on an issue of pull request. + * + * For more information about issues and pull requests, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)" and "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the Issue comments APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issuecomment) and [the REST API documentation](https://docs.github.com/rest/issues/comments). + * + * For activity relating to an issue as opposed to comments on an issue, see the `issue` event. For activity related to pull request reviews or pull request review comments, see the `pull_request_review` or `pull_request_review_comment` events. For mor information about the different types of pull request comments, see "[Working with comments](https://docs.github.com/rest/guides/working-with-comments)." + * + * In order to install this event on a GitHub App, the app must have at least read-level permission for issues or pull requests. + * @description A comment on an issue or pull request was deleted. */ - event: { - id: string; - type: OneOf<[string, null]>; - actor: components["schemas"]["actor"]; - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - org?: components["schemas"]["actor"]; - payload: { - action?: string; - issue?: components["schemas"]["issue"]; - comment?: components["schemas"]["issue-comment"]; - pages?: ({ - page_name?: string; - title?: string; - summary?: OneOf<[string, null]>; - action?: string; - sha?: string; - html_url?: string; - })[]; - }; - public: boolean; - /** Format: date-time */ - created_at: OneOf<[string, null]>; - }; + post: operations["issue-comment/deleted"]; + }; + "issue-comment-edited": { /** - * Link With Type - * @description Hypermedia Link with Type + * This event occurs when there is activity relating to a comment on an issue of pull request. + * + * For more information about issues and pull requests, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)" and "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the Issue comments APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issuecomment) and [the REST API documentation](https://docs.github.com/rest/issues/comments). + * + * For activity relating to an issue as opposed to comments on an issue, see the `issue` event. For activity related to pull request reviews or pull request review comments, see the `pull_request_review` or `pull_request_review_comment` events. For mor information about the different types of pull request comments, see "[Working with comments](https://docs.github.com/rest/guides/working-with-comments)." + * + * In order to install this event on a GitHub App, the app must have at least read-level permission for issues or pull requests. + * @description A comment on an issue or pull request was edited. */ - "link-with-type": { - href: string; - type: string; - }; + post: operations["issue-comment/edited"]; + }; + "issues-assigned": { /** - * Feed - * @description Feed + * This event occurs when there is activity relating to an issue. + * + * For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the Issues APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) and [the REST API documentation](https://docs.github.com/rest/issues). + * + * For activity relating to a comment on an issue, see the `issue_comment` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level `issues` permission. + * @description An issue was assigned to a user. */ - feed: { - timeline_url: string; - user_url: string; - current_user_public_url?: string; - current_user_url?: string; - current_user_actor_url?: string; - current_user_organization_url?: string; - current_user_organization_urls?: (string)[]; - security_advisories_url?: string; - /** @description A feed of discussions for a given repository. */ - repository_discussions_url?: string; - /** @description A feed of discussions for a given repository and category. */ - repository_discussions_category_url?: string; - _links: { - timeline: components["schemas"]["link-with-type"]; - user: components["schemas"]["link-with-type"]; - security_advisories?: components["schemas"]["link-with-type"]; - current_user?: components["schemas"]["link-with-type"]; - current_user_public?: components["schemas"]["link-with-type"]; - current_user_actor?: components["schemas"]["link-with-type"]; - current_user_organization?: components["schemas"]["link-with-type"]; - current_user_organizations?: (components["schemas"]["link-with-type"])[]; - repository_discussions?: components["schemas"]["link-with-type"]; - repository_discussions_category?: components["schemas"]["link-with-type"]; - }; - }; + post: operations["issues/assigned"]; + }; + "issues-closed": { /** - * Base Gist - * @description Base Gist + * This event occurs when there is activity relating to an issue. + * + * For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the Issues APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) and [the REST API documentation](https://docs.github.com/rest/issues). + * + * For activity relating to a comment on an issue, see the `issue_comment` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level `issues` permission. + * @description An issue was closed. */ - "base-gist": { - /** Format: uri */ - url: string; - /** Format: uri */ - forks_url: string; - /** Format: uri */ - commits_url: string; - id: string; - node_id: string; - /** Format: uri */ - git_pull_url: string; - /** Format: uri */ - git_push_url: string; - /** Format: uri */ - html_url: string; - files: { - [key: string]: { - filename?: string; - type?: string; - language?: string; - raw_url?: string; - size?: number; - } | undefined; - }; - public: boolean; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - description: OneOf<[string, null]>; - comments: number; - user: null | components["schemas"]["simple-user"]; - /** Format: uri */ - comments_url: string; - owner?: components["schemas"]["simple-user"]; - truncated?: boolean; - forks?: (Record)[]; - history?: (Record)[]; - }; + post: operations["issues/closed"]; + }; + "issues-deleted": { /** - * Public User - * @description Public User + * This event occurs when there is activity relating to an issue. + * + * For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the Issues APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) and [the REST API documentation](https://docs.github.com/rest/issues). + * + * For activity relating to a comment on an issue, see the `issue_comment` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level `issues` permission. + * @description An issue was deleted. */ - "public-user": { - login: string; - id: number; - node_id: string; - /** Format: uri */ - avatar_url: string; - gravatar_id: OneOf<[string, null]>; - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - /** Format: uri */ - subscriptions_url: string; - /** Format: uri */ - organizations_url: string; - /** Format: uri */ - repos_url: string; - events_url: string; - /** Format: uri */ - received_events_url: string; - type: string; - site_admin: boolean; - name: OneOf<[string, null]>; - company: OneOf<[string, null]>; - blog: OneOf<[string, null]>; - location: OneOf<[string, null]>; - /** Format: email */ - email: OneOf<[string, null]>; - hireable: OneOf<[boolean, null]>; - bio: OneOf<[string, null]>; - twitter_username?: OneOf<[string, null]>; - public_repos: number; - public_gists: number; - followers: number; - following: number; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - plan?: { - collaborators: number; - name: string; - space: number; - private_repos: number; - }; - /** Format: date-time */ - suspended_at?: OneOf<[string, null]>; - private_gists?: number; - total_private_repos?: number; - owned_private_repos?: number; - disk_usage?: number; - collaborators?: number; - }; + post: operations["issues/deleted"]; + }; + "issues-demilestoned": { /** - * Gist History - * @description Gist History + * This event occurs when there is activity relating to an issue. + * + * For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the Issues APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) and [the REST API documentation](https://docs.github.com/rest/issues). + * + * For activity relating to a comment on an issue, see the `issue_comment` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level `issues` permission. + * @description An issue was removed from a milestone. */ - "gist-history": { - user?: null | components["schemas"]["simple-user"]; - version?: string; - /** Format: date-time */ - committed_at?: string; - change_status?: { - total?: number; - additions?: number; - deletions?: number; - }; - /** Format: uri */ - url?: string; - }; + post: operations["issues/demilestoned"]; + }; + "issues-edited": { /** - * Gist Simple - * @description Gist Simple + * This event occurs when there is activity relating to an issue. + * + * For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the Issues APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) and [the REST API documentation](https://docs.github.com/rest/issues). + * + * For activity relating to a comment on an issue, see the `issue_comment` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level `issues` permission. + * @description The title or body on an issue was edited. */ - "gist-simple": { - /** @deprecated */ - forks?: OneOf<[({ - id?: string; - /** Format: uri */ - url?: string; - user?: components["schemas"]["public-user"]; - /** Format: date-time */ - created_at?: string; - /** Format: date-time */ - updated_at?: string; - })[], null]>; - /** @deprecated */ - history?: OneOf<[(components["schemas"]["gist-history"])[], null]>; - /** - * Gist - * @description Gist - */ - fork_of?: OneOf<[{ - /** Format: uri */ - url: string; - /** Format: uri */ - forks_url: string; - /** Format: uri */ - commits_url: string; - id: string; - node_id: string; - /** Format: uri */ - git_pull_url: string; - /** Format: uri */ - git_push_url: string; - /** Format: uri */ - html_url: string; - files: { - [key: string]: { - filename?: string; - type?: string; - language?: string; - raw_url?: string; - size?: number; - } | undefined; - }; - public: boolean; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - description: OneOf<[string, null]>; - comments: number; - user: null | components["schemas"]["simple-user"]; - /** Format: uri */ - comments_url: string; - owner?: null | components["schemas"]["simple-user"]; - truncated?: boolean; - forks?: (Record)[]; - history?: (Record)[]; - }, null]>; - url?: string; - forks_url?: string; - commits_url?: string; - id?: string; - node_id?: string; - git_pull_url?: string; - git_push_url?: string; - html_url?: string; - files?: { - [key: string]: OneOf<[{ - filename?: string; - type?: string; - language?: string; - raw_url?: string; - size?: number; - truncated?: boolean; - content?: string; - }, null]> | undefined; - }; - public?: boolean; - created_at?: string; - updated_at?: string; - description?: OneOf<[string, null]>; - comments?: number; - user?: OneOf<[string, null]>; - comments_url?: string; - owner?: components["schemas"]["simple-user"]; - truncated?: boolean; - }; + post: operations["issues/edited"]; + }; + "issues-labeled": { /** - * Gist Comment - * @description A comment made to a gist. + * This event occurs when there is activity relating to an issue. + * + * For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the Issues APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) and [the REST API documentation](https://docs.github.com/rest/issues). + * + * For activity relating to a comment on an issue, see the `issue_comment` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level `issues` permission. + * @description A label was added to an issue. */ - "gist-comment": { - id: number; - node_id: string; - /** Format: uri */ - url: string; - /** @description The comment text. */ - body: string; - user: null | components["schemas"]["simple-user"]; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - author_association: components["schemas"]["author-association"]; - }; + post: operations["issues/labeled"]; + }; + "issues-locked": { /** - * Gist Commit - * @description Gist Commit + * This event occurs when there is activity relating to an issue. + * + * For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the Issues APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) and [the REST API documentation](https://docs.github.com/rest/issues). + * + * For activity relating to a comment on an issue, see the `issue_comment` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level `issues` permission. + * @description Conversation on an issue was locked. For more information, see "[Locking conversations](https://docs.github.com/communities/moderating-comments-and-conversations/locking-conversations)." */ - "gist-commit": { - /** Format: uri */ - url: string; - version: string; - user: null | components["schemas"]["simple-user"]; - change_status: { - total?: number; - additions?: number; - deletions?: number; - }; - /** Format: date-time */ - committed_at: string; - }; + post: operations["issues/locked"]; + }; + "issues-milestoned": { /** - * Gitignore Template - * @description Gitignore Template + * This event occurs when there is activity relating to an issue. + * + * For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the Issues APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) and [the REST API documentation](https://docs.github.com/rest/issues). + * + * For activity relating to a comment on an issue, see the `issue_comment` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level `issues` permission. + * @description An issue was added to a milestone. */ - "gitignore-template": { - name: string; - source: string; - }; + post: operations["issues/milestoned"]; + }; + "issues-opened": { /** - * License - * @description License + * This event occurs when there is activity relating to an issue. + * + * For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the Issues APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) and [the REST API documentation](https://docs.github.com/rest/issues). + * + * For activity relating to a comment on an issue, see the `issue_comment` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level `issues` permission. + * @description An issue was created. When a closed issue is reopened, the action will be `reopened` instead. */ - license: { - key: string; - name: string; - spdx_id: OneOf<[string, null]>; - /** Format: uri */ - url: OneOf<[string, null]>; - node_id: string; - /** Format: uri */ - html_url: string; - description: string; - implementation: string; - permissions: (string)[]; - conditions: (string)[]; - limitations: (string)[]; - body: string; - featured: boolean; - }; + post: operations["issues/opened"]; + }; + "issues-pinned": { /** - * Marketplace Listing Plan - * @description Marketplace Listing Plan + * This event occurs when there is activity relating to an issue. + * + * For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the Issues APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) and [the REST API documentation](https://docs.github.com/rest/issues). + * + * For activity relating to a comment on an issue, see the `issue_comment` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level `issues` permission. + * @description An issue was pinned to a repository. For more information, see "[Pinning an issue to your repository](https://docs.github.com/issues/tracking-your-work-with-issues/pinning-an-issue-to-your-repository)." */ - "marketplace-listing-plan": { - /** Format: uri */ - url: string; - /** Format: uri */ - accounts_url: string; - id: number; - number: number; - name: string; - description: string; - monthly_price_in_cents: number; - yearly_price_in_cents: number; - price_model: string; - has_free_trial: boolean; - unit_name: OneOf<[string, null]>; - state: string; - bullets: (string)[]; - }; + post: operations["issues/pinned"]; + }; + "issues-reopened": { /** - * Marketplace Purchase - * @description Marketplace Purchase + * This event occurs when there is activity relating to an issue. + * + * For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the Issues APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) and [the REST API documentation](https://docs.github.com/rest/issues). + * + * For activity relating to a comment on an issue, see the `issue_comment` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level `issues` permission. + * @description A closed issue was reopened. */ - "marketplace-purchase": { - url: string; - type: string; - id: number; - login: string; - organization_billing_email?: string; - email?: OneOf<[string, null]>; - marketplace_pending_change?: OneOf<[{ - is_installed?: boolean; - effective_date?: string; - unit_count?: OneOf<[number, null]>; - id?: number; - plan?: components["schemas"]["marketplace-listing-plan"]; - }, null]>; - marketplace_purchase: { - billing_cycle?: string; - next_billing_date?: OneOf<[string, null]>; - is_installed?: boolean; - unit_count?: OneOf<[number, null]>; - on_free_trial?: boolean; - free_trial_ends_on?: OneOf<[string, null]>; - updated_at?: string; - plan?: components["schemas"]["marketplace-listing-plan"]; - }; - }; + post: operations["issues/reopened"]; + }; + "issues-transferred": { /** - * Api Overview - * @description Api Overview + * This event occurs when there is activity relating to an issue. + * + * For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the Issues APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) and [the REST API documentation](https://docs.github.com/rest/issues). + * + * For activity relating to a comment on an issue, see the `issue_comment` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level `issues` permission. + * @description An issue was transferred to another repository. For more information, see "[Transferring an issue to another repository](https://docs.github.com/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository)." */ - "api-overview": { - verifiable_password_authentication: boolean; - ssh_key_fingerprints?: { - SHA256_RSA?: string; - SHA256_DSA?: string; - SHA256_ECDSA?: string; - SHA256_ED25519?: string; - }; - ssh_keys?: (string)[]; - hooks?: (string)[]; - web?: (string)[]; - api?: (string)[]; - git?: (string)[]; - packages?: (string)[]; - pages?: (string)[]; - importer?: (string)[]; - actions?: (string)[]; - dependabot?: (string)[]; - }; + post: operations["issues/transferred"]; + }; + "issues-unassigned": { /** - * Minimal Repository - * @description Minimal Repository + * This event occurs when there is activity relating to an issue. + * + * For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the Issues APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) and [the REST API documentation](https://docs.github.com/rest/issues). + * + * For activity relating to a comment on an issue, see the `issue_comment` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level `issues` permission. + * @description A user was unassigned from an issue. */ - "minimal-repository": { - id: number; - node_id: string; - name: string; - full_name: string; - owner: components["schemas"]["simple-user"]; - private: boolean; - /** Format: uri */ - html_url: string; - description: OneOf<[string, null]>; - fork: boolean; - /** Format: uri */ - url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - /** Format: uri */ - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url?: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url?: string; - /** Format: uri */ - stargazers_url: string; - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - trees_url: string; - clone_url?: string; - mirror_url?: OneOf<[string, null]>; - /** Format: uri */ - hooks_url: string; - svn_url?: string; - homepage?: OneOf<[string, null]>; - language?: OneOf<[string, null]>; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: (string)[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - has_discussions?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - /** Format: date-time */ - pushed_at?: OneOf<[string, null]>; - /** Format: date-time */ - created_at?: OneOf<[string, null]>; - /** Format: date-time */ - updated_at?: OneOf<[string, null]>; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - role_name?: string; - temp_clone_token?: string; - delete_branch_on_merge?: boolean; - subscribers_count?: number; - network_count?: number; - code_of_conduct?: components["schemas"]["code-of-conduct"]; - license?: OneOf<[{ - key?: string; - name?: string; - spdx_id?: string; - url?: string; - node_id?: string; - }, null]>; - forks?: number; - open_issues?: number; - watchers?: number; - allow_forking?: boolean; - web_commit_signoff_required?: boolean; - }; + post: operations["issues/unassigned"]; + }; + "issues-unlabeled": { /** - * Thread - * @description Thread + * This event occurs when there is activity relating to an issue. + * + * For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the Issues APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) and [the REST API documentation](https://docs.github.com/rest/issues). + * + * For activity relating to a comment on an issue, see the `issue_comment` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level `issues` permission. + * @description A label was removed from an issue. */ - thread: { - id: string; - repository: components["schemas"]["minimal-repository"]; - subject: { - title: string; - url: string; - latest_comment_url: string; - type: string; - }; - reason: string; - unread: boolean; - updated_at: string; - last_read_at: OneOf<[string, null]>; - url: string; - subscription_url: string; - }; + post: operations["issues/unlabeled"]; + }; + "issues-unlocked": { /** - * Thread Subscription - * @description Thread Subscription + * This event occurs when there is activity relating to an issue. + * + * For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the Issues APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) and [the REST API documentation](https://docs.github.com/rest/issues). + * + * For activity relating to a comment on an issue, see the `issue_comment` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level `issues` permission. + * @description Conversation on an issue was locked. For more information, see "[Locking conversations](https://docs.github.com/communities/moderating-comments-and-conversations/locking-conversations)." */ - "thread-subscription": { - subscribed: boolean; - ignored: boolean; - reason: OneOf<[string, null]>; - /** Format: date-time */ - created_at: OneOf<[string, null]>; - /** Format: uri */ - url: string; - /** Format: uri */ - thread_url?: string; - /** Format: uri */ - repository_url?: string; - }; + post: operations["issues/unlocked"]; + }; + "issues-unpinned": { /** - * Organization Custom Repository Role - * @description Custom repository roles created by organization administrators + * This event occurs when there is activity relating to an issue. + * + * For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the Issues APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) and [the REST API documentation](https://docs.github.com/rest/issues). + * + * For activity relating to a comment on an issue, see the `issue_comment` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level `issues` permission. + * @description An issue was unpinned from a repository. For more information, see "[Pinning an issue to your repository](https://docs.github.com/issues/tracking-your-work-with-issues/pinning-an-issue-to-your-repository)." */ - "organization-custom-repository-role": { - /** @description The unique identifier of the custom role. */ - id: number; - /** @description The name of the custom role. */ - name: string; - /** @description A short description about who this role is for or what permissions it grants. */ - description?: OneOf<[string, null]>; - /** - * @description The system role from which this role inherits permissions. - * @enum {string} - */ - base_role?: "read" | "triage" | "write" | "maintain"; - /** @description A list of additional permissions included in this role. */ - permissions?: (string)[]; - organization?: components["schemas"]["simple-user"]; - /** Format: date-time */ - created_at?: string; - /** Format: date-time */ - updated_at?: string; - }; + post: operations["issues/unpinned"]; + }; + "label-created": { /** - * Organization Full - * @description Organization Full + * This event occurs when there is activity relating to labels. For more information, see "[Managing labels](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/managing-labels)." For information about the Label APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#label) and [the REST API documentation](https://docs.github.com/rest/issues/labels). + * + * If you want to receive an event when a label is added to or removed from an issue, pull request, or discussion, use the `labeled` or `unlabeled` action type for the `issues`, `pull_request`, or `discussion` events instead. + * + * In order to install this event on a GitHub App, the app must have at least read-level permission for repository metadata. + * @description A label was created. */ - "organization-full": { - login: string; - id: number; - node_id: string; - /** Format: uri */ - url: string; - /** Format: uri */ - repos_url: string; - /** Format: uri */ - events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; - avatar_url: string; - description: OneOf<[string, null]>; - name?: string; - company?: string; - /** Format: uri */ - blog?: string; - location?: string; - /** Format: email */ - email?: string; - twitter_username?: OneOf<[string, null]>; - is_verified?: boolean; - has_organization_projects: boolean; - has_repository_projects: boolean; - public_repos: number; - public_gists: number; - followers: number; - following: number; - /** Format: uri */ - html_url: string; - /** Format: date-time */ - created_at: string; - type: string; - total_private_repos?: number; - owned_private_repos?: number; - private_gists?: OneOf<[number, null]>; - disk_usage?: OneOf<[number, null]>; - collaborators?: OneOf<[number, null]>; - /** Format: email */ - billing_email?: OneOf<[string, null]>; - plan?: { - name: string; - space: number; - private_repos: number; - filled_seats?: number; - seats?: number; - }; - default_repository_permission?: OneOf<[string, null]>; - members_can_create_repositories?: OneOf<[boolean, null]>; - two_factor_requirement_enabled?: OneOf<[boolean, null]>; - members_allowed_repository_creation_type?: string; - members_can_create_public_repositories?: boolean; - members_can_create_private_repositories?: boolean; - members_can_create_internal_repositories?: boolean; - members_can_create_pages?: boolean; - members_can_create_public_pages?: boolean; - members_can_create_private_pages?: boolean; - members_can_fork_private_repositories?: OneOf<[boolean, null]>; - web_commit_signoff_required?: boolean; - /** Format: date-time */ - updated_at: string; - /** - * @description Whether GitHub Advanced Security is enabled for new repositories and repositories transferred to this organization. - * - * This field is only visible to organization owners or members of a team with the security manager role. - */ - advanced_security_enabled_for_new_repositories?: boolean; - /** - * @description Whether GitHub Advanced Security is automatically enabled for new repositories and repositories transferred to - * this organization. - * - * This field is only visible to organization owners or members of a team with the security manager role. - */ - dependabot_alerts_enabled_for_new_repositories?: boolean; - /** - * @description Whether dependabot security updates are automatically enabled for new repositories and repositories transferred - * to this organization. - * - * This field is only visible to organization owners or members of a team with the security manager role. - */ - dependabot_security_updates_enabled_for_new_repositories?: boolean; - /** - * @description Whether dependency graph is automatically enabled for new repositories and repositories transferred to this - * organization. - * - * This field is only visible to organization owners or members of a team with the security manager role. - */ - dependency_graph_enabled_for_new_repositories?: boolean; - /** - * @description Whether secret scanning is automatically enabled for new repositories and repositories transferred to this - * organization. - * - * This field is only visible to organization owners or members of a team with the security manager role. - */ - secret_scanning_enabled_for_new_repositories?: boolean; - /** - * @description Whether secret scanning push protection is automatically enabled for new repositories and repositories - * transferred to this organization. - * - * This field is only visible to organization owners or members of a team with the security manager role. - */ - secret_scanning_push_protection_enabled_for_new_repositories?: boolean; - /** @description Whether a custom link is shown to contributors who are blocked from pushing a secret by push protection. */ - secret_scanning_push_protection_custom_link_enabled?: boolean; - /** @description An optional URL string to display to contributors who are blocked from pushing a secret. */ - secret_scanning_push_protection_custom_link?: OneOf<[string, null]>; - }; + post: operations["label/created"]; + }; + "label-deleted": { /** - * Actions Cache Usage by repository - * @description GitHub Actions Cache Usage by repository. + * This event occurs when there is activity relating to labels. For more information, see "[Managing labels](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/managing-labels)." For information about the Label APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#label) and [the REST API documentation](https://docs.github.com/rest/issues/labels). + * + * If you want to receive an event when a label is added to or removed from an issue, pull request, or discussion, use the `labeled` or `unlabeled` action type for the `issues`, `pull_request`, or `discussion` events instead. + * + * In order to install this event on a GitHub App, the app must have at least read-level permission for repository metadata. + * @description A label was deleted. */ - "actions-cache-usage-by-repository": { - /** @description The repository owner and name for the cache usage being shown. */ - full_name: string; - /** @description The sum of the size in bytes of all the active cache items in the repository. */ - active_caches_size_in_bytes: number; - /** @description The number of active caches in the repository. */ - active_caches_count: number; - }; + post: operations["label/deleted"]; + }; + "label-edited": { /** - * @description The policy that controls the repositories in the organization that are allowed to run GitHub Actions. - * @enum {string} + * This event occurs when there is activity relating to labels. For more information, see "[Managing labels](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/managing-labels)." For information about the Label APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#label) and [the REST API documentation](https://docs.github.com/rest/issues/labels). + * + * If you want to receive an event when a label is added to or removed from an issue, pull request, or discussion, use the `labeled` or `unlabeled` action type for the `issues`, `pull_request`, or `discussion` events instead. + * + * In order to install this event on a GitHub App, the app must have at least read-level permission for repository metadata. + * @description A label's name, description, or color was changed. */ - "enabled-repositories": "all" | "none" | "selected"; - "actions-organization-permissions": { - enabled_repositories: components["schemas"]["enabled-repositories"]; - /** @description The API URL to use to get or set the selected repositories that are allowed to run GitHub Actions, when `enabled_repositories` is set to `selected`. */ - selected_repositories_url?: string; - allowed_actions?: components["schemas"]["allowed-actions"]; - selected_actions_url?: components["schemas"]["selected-actions-url"]; - }; - "runner-groups-org": { - id: number; - name: string; - visibility: string; - default: boolean; - /** @description Link to the selected repositories resource for this runner group. Not present unless visibility was set to `selected` */ - selected_repositories_url?: string; - runners_url: string; - inherited: boolean; - inherited_allows_public_repositories?: boolean; - allows_public_repositories: boolean; - /** - * @description If `true`, the `restricted_to_workflows` and `selected_workflows` fields cannot be modified. - * @default false - */ - workflow_restrictions_read_only?: boolean; - /** - * @description If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array. - * @default false - */ - restricted_to_workflows?: boolean; - /** @description List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`. */ - selected_workflows?: (string)[]; - }; + post: operations["label/edited"]; + }; + "marketplace-purchase-cancelled": { /** - * Actions Secret for an Organization - * @description Secrets for GitHub Actions for an organization. + * This event occurs when there is activity relating to a GitHub Marketplace purchase. For more information, see "[GitHub Marketplace](https://docs.github.com/marketplace)." For information about the Marketplace APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#marketplacelisting) and [the REST API documentation](https://docs.github.com/rest/apps/marketplace). + * @description Someone cancelled a GitHub Marketplace plan and the last billing cycle has ended. The change will take effect on the account immediately. */ - "organization-actions-secret": { - /** @description The name of the secret. */ - name: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** - * @description Visibility of a secret - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** Format: uri */ - selected_repositories_url?: string; - }; + post: operations["marketplace-purchase/cancelled"]; + }; + "marketplace-purchase-changed": { /** - * ActionsPublicKey - * @description The public key used for setting Actions Secrets. + * This event occurs when there is activity relating to a GitHub Marketplace purchase. For more information, see "[GitHub Marketplace](https://docs.github.com/marketplace)." For information about the Marketplace APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#marketplacelisting) and [the REST API documentation](https://docs.github.com/rest/apps/marketplace). + * @description Someone upgraded or downgraded a GitHub Marketplace plan and the last billing cycle has ended. The change will take effect on the account immediately. */ - "actions-public-key": { - /** @description The identifier for the key. */ - key_id: string; - /** @description The Base64 encoded public key. */ - key: string; - id?: number; - url?: string; - title?: string; - created_at?: string; - }; + post: operations["marketplace-purchase/changed"]; + }; + "marketplace-purchase-pending-change": { /** - * Empty Object - * @description An object without any properties. + * This event occurs when there is activity relating to a GitHub Marketplace purchase. For more information, see "[GitHub Marketplace](https://docs.github.com/marketplace)." For information about the Marketplace APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#marketplacelisting) and [the REST API documentation](https://docs.github.com/rest/apps/marketplace). + * @description Someone downgraded or cancelled a GitHub Marketplace plan. The new plan or cancellation will take effect at the end of the current billing cycle. When the change takes effect, the `changed` or `cancelled` event will be sent. */ - "empty-object": Record; + post: operations["marketplace-purchase/pending-change"]; + }; + "marketplace-purchase-pending-change-cancelled": { /** - * Codespace machine - * @description A description of the machine powering a codespace. + * This event occurs when there is activity relating to a GitHub Marketplace purchase. For more information, see "[GitHub Marketplace](https://docs.github.com/marketplace)." For information about the Marketplace APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#marketplacelisting) and [the REST API documentation](https://docs.github.com/rest/apps/marketplace). + * @description Someone cancelled a pending change to a GitHub Marketplace plan. Pending changes include plan cancellations and downgrades that will take effect at the end of a billing cycle. */ - "codespace-machine": { - /** @description The name of the machine. */ - name: string; - /** @description The display name of the machine includes cores, memory, and storage. */ - display_name: string; - /** @description The operating system of the machine. */ - operating_system: string; - /** @description How much storage is available to the codespace. */ - storage_in_bytes: number; - /** @description How much memory is available to the codespace. */ - memory_in_bytes: number; - /** @description How many cores are available to the codespace. */ - cpus: number; - /** - * @description Whether a prebuild is currently available when creating a codespace for this machine and repository. If a branch was not specified as a ref, the default branch will be assumed. Value will be "null" if prebuilds are not supported or prebuild availability could not be determined. Value will be "none" if no prebuild is available. Latest values "ready" and "in_progress" indicate the prebuild availability status. - * @enum {string|null} - */ - prebuild_availability: "none" | "ready" | "in_progress" | "" | null; - }; + post: operations["marketplace-purchase/pending-change-cancelled"]; + }; + "marketplace-purchase-purchased": { /** - * Codespace - * @description A codespace. + * This event occurs when there is activity relating to a GitHub Marketplace purchase. For more information, see "[GitHub Marketplace](https://docs.github.com/marketplace)." For information about the Marketplace APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#marketplacelisting) and [the REST API documentation](https://docs.github.com/rest/apps/marketplace). + * @description Someone purchased a GitHub Marketplace plan. The change will take effect on the account immediately. */ - codespace: { - id: number; - /** @description Automatically generated name of this codespace. */ - name: string; - /** @description Display name for this codespace. */ - display_name?: OneOf<[string, null]>; - /** @description UUID identifying this codespace's environment. */ - environment_id: OneOf<[string, null]>; - owner: components["schemas"]["simple-user"]; - billable_owner: components["schemas"]["simple-user"]; - repository: components["schemas"]["minimal-repository"]; - machine: null | components["schemas"]["codespace-machine"]; - /** @description Path to devcontainer.json from repo root used to create Codespace. */ - devcontainer_path?: OneOf<[string, null]>; - /** @description Whether the codespace was created from a prebuild. */ - prebuild: OneOf<[boolean, null]>; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: date-time - * @description Last known time this codespace was started. - */ - last_used_at: string; - /** - * @description State of this codespace. - * @enum {string} - */ - state: "Unknown" | "Created" | "Queued" | "Provisioning" | "Available" | "Awaiting" | "Unavailable" | "Deleted" | "Moved" | "Shutdown" | "Archived" | "Starting" | "ShuttingDown" | "Failed" | "Exporting" | "Updating" | "Rebuilding"; - /** - * Format: uri - * @description API URL for this codespace. - */ - url: string; - /** @description Details about the codespace's git repository. */ - git_status: { - /** @description The number of commits the local repository is ahead of the remote. */ - ahead?: number; - /** @description The number of commits the local repository is behind the remote. */ - behind?: number; - /** @description Whether the local repository has unpushed changes. */ - has_unpushed_changes?: boolean; - /** @description Whether the local repository has uncommitted changes. */ - has_uncommitted_changes?: boolean; - /** @description The current branch (or SHA if in detached HEAD state) of the local repository. */ - ref?: string; - }; - /** - * @description The Azure region where this codespace is located. - * @enum {string} - */ - location: "EastUs" | "SouthEastAsia" | "WestEurope" | "WestUs2"; - /** @description The number of minutes of inactivity after which this codespace will be automatically stopped. */ - idle_timeout_minutes: OneOf<[number, null]>; - /** - * Format: uri - * @description URL to access this codespace on the web. - */ - web_url: string; - /** - * Format: uri - * @description API URL to access available alternate machine types for this codespace. - */ - machines_url: string; - /** - * Format: uri - * @description API URL to start this codespace. - */ - start_url: string; - /** - * Format: uri - * @description API URL to stop this codespace. - */ - stop_url: string; - /** - * Format: uri - * @description API URL for the Pull Request associated with this codespace, if any. - */ - pulls_url: OneOf<[string, null]>; - recent_folders: (string)[]; - runtime_constraints?: { - /** @description The privacy settings a user can select from when forwarding a port. */ - allowed_port_privacy_settings?: OneOf<[(string)[], null]>; - }; - /** @description Whether or not a codespace has a pending async operation. This would mean that the codespace is temporarily unavailable. The only thing that you can do with a codespace in this state is delete it. */ - pending_operation?: OneOf<[boolean, null]>; - /** @description Text to show user when codespace is disabled by a pending operation */ - pending_operation_disabled_reason?: OneOf<[string, null]>; - /** @description Text to show user when codespace idle timeout minutes has been overriden by an organization policy */ - idle_timeout_notice?: OneOf<[string, null]>; - /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ - retention_period_minutes?: OneOf<[number, null]>; - /** - * Format: date-time - * @description When a codespace will be auto-deleted based on the "retention_period_minutes" and "last_used_at" - */ - retention_expires_at?: OneOf<[string, null]>; - /** @description The text to display to a user when a codespace has been stopped for a potentially actionable reason. */ - last_known_stop_notice?: OneOf<[string, null]>; - }; + post: operations["marketplace-purchase/purchased"]; + }; + "member-added": { /** - * Codespaces Secret - * @description Secrets for a GitHub Codespace. + * This event occurs when there is activity relating to collaborators in a repository. For more information, see "[Adding outside collaborators to repositories in your organization](https://docs.github.com/organizations/managing-user-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization)." For more information about the API to manage repository collaborators, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#repositorycollaboratorconnection) or "[Collaborators](https://docs.github.com/rest/collaborators/collaborators)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. + * @description A GitHub user accepted an invitation to a repository. */ - "codespaces-org-secret": { - /** @description The name of the secret */ - name: string; - /** - * Format: date-time - * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - created_at: string; - /** - * Format: date-time - * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - updated_at: string; - /** - * @description The type of repositories in the organization that the secret is visible to - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** - * Format: uri - * @description The API URL at which the list of repositories this secret is visible to can be retrieved - */ - selected_repositories_url?: string; - }; + post: operations["member/added"]; + }; + "member-edited": { /** - * CodespacesPublicKey - * @description The public key used for setting Codespaces secrets. + * This event occurs when there is activity relating to collaborators in a repository. For more information, see "[Adding outside collaborators to repositories in your organization](https://docs.github.com/organizations/managing-user-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization)." For more information about the API to manage repository collaborators, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#repositorycollaboratorconnection) or "[Collaborators](https://docs.github.com/rest/collaborators/collaborators)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. + * @description Permissions were changed for a collaborator on a repository. */ - "codespaces-public-key": { - /** @description The identifier for the key. */ - key_id: string; - /** @description The Base64 encoded public key. */ - key: string; - id?: number; - url?: string; - title?: string; - created_at?: string; - }; + post: operations["member/edited"]; + }; + "member-removed": { /** - * Dependabot Secret for an Organization - * @description Secrets for GitHub Dependabot for an organization. + * This event occurs when there is activity relating to collaborators in a repository. For more information, see "[Adding outside collaborators to repositories in your organization](https://docs.github.com/organizations/managing-user-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization)." For more information about the API to manage repository collaborators, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#repositorycollaboratorconnection) or "[Collaborators](https://docs.github.com/rest/collaborators/collaborators)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. + * @description A collaborator was removed from a repository. */ - "organization-dependabot-secret": { - /** @description The name of the secret. */ - name: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** - * @description Visibility of a secret - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** Format: uri */ - selected_repositories_url?: string; - }; + post: operations["member/removed"]; + }; + "membership-added": { /** - * DependabotPublicKey - * @description The public key used for setting Dependabot Secrets. + * This event occurs when there is activity relating to team membership. For more information, see "[About teams](https://docs.github.com/organizations/organizing-members-into-teams/about-teams)." For more information about the API to manage team memberships, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#team) or "[Team members](https://docs.github.com/rest/teams/members)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. + * @description An organization member was added to a team. */ - "dependabot-public-key": { - /** @description The identifier for the key. */ - key_id: string; - /** @description The Base64 encoded public key. */ - key: string; - }; + post: operations["membership/added"]; + }; + "membership-removed": { /** - * Organization Invitation - * @description Organization Invitation + * This event occurs when there is activity relating to team membership. For more information, see "[About teams](https://docs.github.com/organizations/organizing-members-into-teams/about-teams)." For more information about the API to manage team memberships, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#team) or "[Team members](https://docs.github.com/rest/teams/members)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. + * @description An organization member was removed from a team. */ - "organization-invitation": { - id: number; - login: OneOf<[string, null]>; - email: OneOf<[string, null]>; - role: string; - created_at: string; - failed_at?: OneOf<[string, null]>; - failed_reason?: OneOf<[string, null]>; - inviter: components["schemas"]["simple-user"]; - team_count: number; - node_id: string; - invitation_teams_url: string; - }; + post: operations["membership/removed"]; + }; + "merge-group-checks-requested": { /** - * Organization Fine-Grained Permission - * @description Fine-grained permissions available for the organization + * This event occurs when there is activity relating to a merge group in a merge queue. For more information, see "[Managing a merge queue](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-a-merge-queue)." + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Merge queues" repository permission. + * + * **Note**: The pull request merge queue feature is currently in limited private beta and subject to change. + * @description Status checks were requested for a merge group. This happens when a merge group is created or added to by the merge queue because a pull request was queued. + * + * When you receive this event, you should perform checks on the head SHA and report status back using check runs or commit statuses. */ - "organization-fine-grained-permission": { - name: string; - description: string; - }; + post: operations["merge-group/checks-requested"]; + }; + "meta-deleted": { /** - * Org Hook - * @description Org Hook + * This event occurs when there is activity relating to a webhook itself. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Meta" app permission. + * @description The webhook was deleted. */ - "org-hook": { - id: number; - /** Format: uri */ - url: string; - /** Format: uri */ - ping_url: string; - /** Format: uri */ - deliveries_url?: string; - name: string; - events: (string)[]; - active: boolean; - config: { - url?: string; - insecure_ssl?: string; - content_type?: string; - secret?: string; - }; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - created_at: string; - type: string; - }; + post: operations["meta/deleted"]; + }; + "milestone-closed": { /** - * @description The type of GitHub user that can comment, open issues, or create pull requests while the interaction limit is in effect. - * @enum {string} + * This event occurs when there is activity relating to milestones. For more information, see "[About milestones](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/about-milestones)." For information about the Milestone APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#milestone) and [the REST API documentation](https://docs.github.com/rest/issues/milestones). + * + * If you want to receive an event when an issue or pull request is added to or removed from a milestone, use the `milestoned` or `demilestoned` action type for the `issues` or `pull_request` events instead. + * + * In order to install this event on a GitHub App, the app must have at least read-level permission for either issues or pull requests. + * @description A milestone was closed. */ - "interaction-group": "existing_users" | "contributors_only" | "collaborators_only"; + post: operations["milestone/closed"]; + }; + "milestone-created": { /** - * Interaction Limits - * @description Interaction limit settings. + * This event occurs when there is activity relating to milestones. For more information, see "[About milestones](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/about-milestones)." For information about the Milestone APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#milestone) and [the REST API documentation](https://docs.github.com/rest/issues/milestones). + * + * If you want to receive an event when an issue or pull request is added to or removed from a milestone, use the `milestoned` or `demilestoned` action type for the `issues` or `pull_request` events instead. + * + * In order to install this event on a GitHub App, the app must have at least read-level permission for either issues or pull requests. + * @description A milestone was created. */ - "interaction-limit-response": { - limit: components["schemas"]["interaction-group"]; - origin: string; - /** Format: date-time */ - expires_at: string; - }; + post: operations["milestone/created"]; + }; + "milestone-deleted": { /** - * @description The duration of the interaction restriction. Default: `one_day`. - * @enum {string} + * This event occurs when there is activity relating to milestones. For more information, see "[About milestones](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/about-milestones)." For information about the Milestone APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#milestone) and [the REST API documentation](https://docs.github.com/rest/issues/milestones). + * + * If you want to receive an event when an issue or pull request is added to or removed from a milestone, use the `milestoned` or `demilestoned` action type for the `issues` or `pull_request` events instead. + * + * In order to install this event on a GitHub App, the app must have at least read-level permission for either issues or pull requests. + * @description A milestone was deleted. */ - "interaction-expiry": "one_day" | "three_days" | "one_week" | "one_month" | "six_months"; + post: operations["milestone/deleted"]; + }; + "milestone-edited": { /** - * Interaction Restrictions - * @description Limit interactions to a specific type of user for a specified duration + * This event occurs when there is activity relating to milestones. For more information, see "[About milestones](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/about-milestones)." For information about the Milestone APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#milestone) and [the REST API documentation](https://docs.github.com/rest/issues/milestones). + * + * If you want to receive an event when an issue or pull request is added to or removed from a milestone, use the `milestoned` or `demilestoned` action type for the `issues` or `pull_request` events instead. + * + * In order to install this event on a GitHub App, the app must have at least read-level permission for either issues or pull requests. + * @description A milestone was edited. */ - "interaction-limit": { - limit: components["schemas"]["interaction-group"]; - expiry?: components["schemas"]["interaction-expiry"]; - }; + post: operations["milestone/edited"]; + }; + "milestone-opened": { /** - * Team Simple - * @description Groups of organization members that gives permissions on specified repositories. + * This event occurs when there is activity relating to milestones. For more information, see "[About milestones](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/about-milestones)." For information about the Milestone APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#milestone) and [the REST API documentation](https://docs.github.com/rest/issues/milestones). + * + * If you want to receive an event when an issue or pull request is added to or removed from a milestone, use the `milestoned` or `demilestoned` action type for the `issues` or `pull_request` events instead. + * + * In order to install this event on a GitHub App, the app must have at least read-level permission for either issues or pull requests. + * @description A milestone was opened. */ - "team-simple": { - /** @description Unique identifier of the team */ - id: number; - node_id: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - members_url: string; - /** @description Name of the team */ - name: string; - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @description The level of privacy this team should have */ - privacy?: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - repositories_url: string; - slug: string; - /** @description Distinguished Name (DN) that team maps to within LDAP environment */ - ldap_dn?: string; - }; + post: operations["milestone/opened"]; + }; + "org-block-blocked": { /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. + * This event occurs when organization owners or moderators block or unblock a non-member from collaborating on the organization's repositories. For more information, see "[Blocking a user from your organization](https://docs.github.com/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization)." For information about the Blocking users APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#userblockedevent) and [the REST API documentation](https://docs.github.com/rest/orgs/blocking). + * + * If you want to receive an event when members are added or removed from an organization, use the `organization` event instead. + * + * In order to install this event on a GitHub App, the app must have at least read-level access for the organization administration permission. + * @description A user was blocked from the organization. */ - team: { - id: number; - node_id: string; - name: string; - slug: string; - description: OneOf<[string, null]>; - privacy?: string; - permission: string; - permissions?: { - pull: boolean; - triage: boolean; - push: boolean; - maintain: boolean; - admin: boolean; - }; - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - members_url: string; - /** Format: uri */ - repositories_url: string; - parent: null | components["schemas"]["team-simple"]; - }; + post: operations["org-block/blocked"]; + }; + "org-block-unblocked": { /** - * Org Membership - * @description Org Membership + * This event occurs when organization owners or moderators block or unblock a non-member from collaborating on the organization's repositories. For more information, see "[Blocking a user from your organization](https://docs.github.com/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization)." For information about the Blocking users APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#userblockedevent) and [the REST API documentation](https://docs.github.com/rest/orgs/blocking). + * + * If you want to receive an event when members are added or removed from an organization, use the `organization` event instead. + * + * In order to install this event on a GitHub App, the app must have at least read-level access for the organization administration permission. + * @description A previously blocked user was unblocked from the organization. */ - "org-membership": { - /** Format: uri */ - url: string; - /** - * @description The state of the member in the organization. The `pending` state indicates the user has not yet accepted an invitation. - * @enum {string} - */ - state: "active" | "pending"; - /** - * @description The user's membership type in the organization. - * @enum {string} - */ - role: "admin" | "member" | "billing_manager"; - /** Format: uri */ - organization_url: string; - organization: components["schemas"]["organization-simple"]; - user: null | components["schemas"]["simple-user"]; - permissions?: { - can_create_repository: boolean; - }; - }; + post: operations["org-block/unblocked"]; + }; + "organization-deleted": { /** - * Migration - * @description A migration. + * This event occurs when there is activity relating to an organization and its members. For more information, see "[About organizations](https://docs.github.com/organizations/collaborating-with-groups-in-organizations/about-organizations)." For information about the Organization APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#organization) and [the REST API documentation](https://docs.github.com/rest/orgs). + * + * If you want to receive an event when a non-member is blocked or unblocked from an organization, use the `org_block` event instead. + * + * In order to install this event on a GitHub App, the app must have at least read-level access for the organization members permission. + * @description An organization was deleted. */ - migration: { - id: number; - owner: null | components["schemas"]["simple-user"]; - guid: string; - state: string; - lock_repositories: boolean; - exclude_metadata: boolean; - exclude_git_data: boolean; - exclude_attachments: boolean; - exclude_releases: boolean; - exclude_owner_projects: boolean; - org_metadata_only: boolean; - repositories: (components["schemas"]["repository"])[]; - /** Format: uri */ - url: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - node_id: string; - /** Format: uri */ - archive_url?: string; - exclude?: (Record)[]; - }; + post: operations["organization/deleted"]; + }; + "organization-member-added": { /** - * Package - * @description A software package + * This event occurs when there is activity relating to an organization and its members. For more information, see "[About organizations](https://docs.github.com/organizations/collaborating-with-groups-in-organizations/about-organizations)." For information about the Organization APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#organization) and [the REST API documentation](https://docs.github.com/rest/orgs). + * + * If you want to receive an event when a non-member is blocked or unblocked from an organization, use the `org_block` event instead. + * + * In order to install this event on a GitHub App, the app must have at least read-level access for the organization members permission. + * @description A member accepted an invitation to join an organization. */ - package: { - /** @description Unique identifier of the package. */ - id: number; - /** @description The name of the package. */ - name: string; - /** @enum {string} */ - package_type: "npm" | "maven" | "rubygems" | "docker" | "nuget" | "container"; - url: string; - html_url: string; - /** @description The number of versions of the package. */ - version_count: number; - /** @enum {string} */ - visibility: "private" | "public"; - owner?: null | components["schemas"]["simple-user"]; - repository?: null | components["schemas"]["minimal-repository"]; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - }; + post: operations["organization/member-added"]; + }; + "organization-member-invited": { /** - * Package Version - * @description A version of a software package + * This event occurs when there is activity relating to an organization and its members. For more information, see "[About organizations](https://docs.github.com/organizations/collaborating-with-groups-in-organizations/about-organizations)." For information about the Organization APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#organization) and [the REST API documentation](https://docs.github.com/rest/orgs). + * + * If you want to receive an event when a non-member is blocked or unblocked from an organization, use the `org_block` event instead. + * + * In order to install this event on a GitHub App, the app must have at least read-level access for the organization members permission. + * @description A member was invited to join the organization. */ - "package-version": { - /** @description Unique identifier of the package version. */ - id: number; - /** @description The name of the package version. */ - name: string; - url: string; - package_html_url: string; - html_url?: string; - license?: string; - description?: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - deleted_at?: string; - /** Package Version Metadata */ - metadata?: { - /** @enum {string} */ - package_type: "npm" | "maven" | "rubygems" | "docker" | "nuget" | "container"; - /** Container Metadata */ - container?: { - tags: (string)[]; - }; - /** Docker Metadata */ - docker?: { - tag?: (string)[]; - }; - }; - }; + post: operations["organization/member-invited"]; + }; + "organization-member-removed": { /** - * Project - * @description Projects are a way to organize columns and cards of work. + * This event occurs when there is activity relating to an organization and its members. For more information, see "[About organizations](https://docs.github.com/organizations/collaborating-with-groups-in-organizations/about-organizations)." For information about the Organization APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#organization) and [the REST API documentation](https://docs.github.com/rest/orgs). + * + * If you want to receive an event when a non-member is blocked or unblocked from an organization, use the `org_block` event instead. + * + * In order to install this event on a GitHub App, the app must have at least read-level access for the organization members permission. + * @description A member was removed from the organization. */ - project: { - /** Format: uri */ - owner_url: string; - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - columns_url: string; - id: number; - node_id: string; - /** @description Name of the project */ - name: string; - /** @description Body of the project */ - body: OneOf<[string, null]>; - number: number; - /** @description State of the project; either 'open' or 'closed' */ - state: string; - creator: null | components["schemas"]["simple-user"]; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** - * @description The baseline permission that all organization members have on this project. Only present if owner is an organization. - * @enum {string} - */ - organization_permission?: "read" | "write" | "admin" | "none"; - /** @description Whether or not this project can be seen by everyone. Only present if owner is an organization. */ - private?: boolean; - }; - "actions-billing-usage": { - /** @description The sum of the free and paid GitHub Actions minutes used. */ - total_minutes_used: number; - /** @description The total paid GitHub Actions minutes used. */ - total_paid_minutes_used: number; - /** @description The amount of free GitHub Actions minutes available. */ - included_minutes: number; - minutes_used_breakdown: { - /** @description Total minutes used on Ubuntu runner machines. */ - UBUNTU?: number; - /** @description Total minutes used on macOS runner machines. */ - MACOS?: number; - /** @description Total minutes used on Windows runner machines. */ - WINDOWS?: number; - /** @description Total minutes used on Ubuntu 4 core runner machines. */ - ubuntu_4_core?: number; - /** @description Total minutes used on Ubuntu 8 core runner machines. */ - ubuntu_8_core?: number; - /** @description Total minutes used on Ubuntu 16 core runner machines. */ - ubuntu_16_core?: number; - /** @description Total minutes used on Ubuntu 32 core runner machines. */ - ubuntu_32_core?: number; - /** @description Total minutes used on Ubuntu 64 core runner machines. */ - ubuntu_64_core?: number; - /** @description Total minutes used on Windows 4 core runner machines. */ - windows_4_core?: number; - /** @description Total minutes used on Windows 8 core runner machines. */ - windows_8_core?: number; - /** @description Total minutes used on Windows 16 core runner machines. */ - windows_16_core?: number; - /** @description Total minutes used on Windows 32 core runner machines. */ - windows_32_core?: number; - /** @description Total minutes used on Windows 64 core runner machines. */ - windows_64_core?: number; - /** @description Total minutes used on all runner machines. */ - total?: number; - }; - }; - "packages-billing-usage": { - /** @description Sum of the free and paid storage space (GB) for GitHuub Packages. */ - total_gigabytes_bandwidth_used: number; - /** @description Total paid storage space (GB) for GitHuub Packages. */ - total_paid_gigabytes_bandwidth_used: number; - /** @description Free storage space (GB) for GitHub Packages. */ - included_gigabytes_bandwidth: number; - }; - "combined-billing-usage": { - /** @description Numbers of days left in billing cycle. */ - days_left_in_billing_cycle: number; - /** @description Estimated storage space (GB) used in billing cycle. */ - estimated_paid_storage_for_month: number; - /** @description Estimated sum of free and paid storage space (GB) used in billing cycle. */ - estimated_storage_for_month: number; - }; + post: operations["organization/member-removed"]; + }; + "organization-renamed": { /** - * Team Organization - * @description Team Organization + * This event occurs when there is activity relating to an organization and its members. For more information, see "[About organizations](https://docs.github.com/organizations/collaborating-with-groups-in-organizations/about-organizations)." For information about the Organization APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#organization) and [the REST API documentation](https://docs.github.com/rest/orgs). + * + * If you want to receive an event when a non-member is blocked or unblocked from an organization, use the `org_block` event instead. + * + * In order to install this event on a GitHub App, the app must have at least read-level access for the organization members permission. + * @description The name of an organization was changed. */ - "team-organization": { - login: string; - id: number; - node_id: string; - /** Format: uri */ - url: string; - /** Format: uri */ - repos_url: string; - /** Format: uri */ - events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; - avatar_url: string; - description: OneOf<[string, null]>; - name?: string; - company?: string; - /** Format: uri */ - blog?: string; - location?: string; - /** Format: email */ - email?: string; - twitter_username?: OneOf<[string, null]>; - is_verified?: boolean; - has_organization_projects: boolean; - has_repository_projects: boolean; - public_repos: number; - public_gists: number; - followers: number; - following: number; - /** Format: uri */ - html_url: string; - /** Format: date-time */ - created_at: string; - type: string; - total_private_repos?: number; - owned_private_repos?: number; - private_gists?: OneOf<[number, null]>; - disk_usage?: OneOf<[number, null]>; - collaborators?: OneOf<[number, null]>; - /** Format: email */ - billing_email?: OneOf<[string, null]>; - plan?: { - name: string; - space: number; - private_repos: number; - filled_seats?: number; - seats?: number; - }; - default_repository_permission?: OneOf<[string, null]>; - members_can_create_repositories?: OneOf<[boolean, null]>; - two_factor_requirement_enabled?: OneOf<[boolean, null]>; - members_allowed_repository_creation_type?: string; - members_can_create_public_repositories?: boolean; - members_can_create_private_repositories?: boolean; - members_can_create_internal_repositories?: boolean; - members_can_create_pages?: boolean; - members_can_create_public_pages?: boolean; - members_can_create_private_pages?: boolean; - members_can_fork_private_repositories?: OneOf<[boolean, null]>; - web_commit_signoff_required?: boolean; - /** Format: date-time */ - updated_at: string; - }; + post: operations["organization/renamed"]; + }; + "package-published": { + /** Package published */ + post: operations["package/published"]; + }; + "package-updated": { + /** Package updated */ + post: operations["package/updated"]; + }; + "package-v2-create": { + /** Package v2 create */ + post: operations["package-v2/create"]; + }; + "page-build": { /** - * Full Team - * @description Groups of organization members that gives permissions on specified repositories. + * This event occurs when there is an attempted build of a GitHub Pages site. This event occurs regardless of whether the build is successful. For more information, see "[Configuring a publishing source for your GitHub Pages site](https://docs.github.com/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site)." For information about the APIs to manage GitHub Pages, see "[Pages](https://docs.github.com/rest/pages)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pages" repository permission. */ - "team-full": { - /** @description Unique identifier of the team */ - id: number; - node_id: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - /** Format: uri */ - html_url: string; - /** @description Name of the team */ - name: string; - slug: string; - description: OneOf<[string, null]>; - /** - * @description The level of privacy this team should have - * @enum {string} - */ - privacy?: "closed" | "secret"; - /** @description Permission that the team will have for its repositories */ - permission: string; - members_url: string; - /** Format: uri */ - repositories_url: string; - parent?: null | components["schemas"]["team-simple"]; - members_count: number; - repos_count: number; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - organization: components["schemas"]["team-organization"]; - /** @description Distinguished Name (DN) that team maps to within LDAP environment */ - ldap_dn?: string; - }; + post: operations["page-build"]; + }; + "ping": { + /** This event occurs when you create a new webhook. The ping event is a confirmation from GitHub that you configured the webhook correctly. */ + post: operations["ping"]; + }; + "project-card-converted": { /** - * Team Discussion - * @description A team discussion is a persistent record of a free-form conversation within a team. + * This event occurs when there is activity relating to a card on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see "[Project](https://docs.github.com/graphql/reference/objects#project)" in the GraphQL API documentation and "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. + * + * For activity relating to a project or a column on a project, see the `project` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description A note in a classic project was converted to an issue. */ - "team-discussion": { - author: null | components["schemas"]["simple-user"]; - /** @description The main text of the discussion. */ - body: string; - body_html: string; - /** @description The current version of the body content. If provided, this update operation will be rejected if the given version does not match the latest version on the server. */ - body_version: string; - comments_count: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - last_edited_at: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - node_id: string; - /** @description The unique sequence number of a team discussion. */ - number: number; - /** @description Whether or not this discussion should be pinned for easy retrieval. */ - pinned: boolean; - /** @description Whether or not this discussion should be restricted to team members and organization administrators. */ - private: boolean; - /** Format: uri */ - team_url: string; - /** @description The title of the discussion. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - reactions?: components["schemas"]["reaction-rollup"]; - }; + post: operations["project-card/converted"]; + }; + "project-card-created": { /** - * Team Discussion Comment - * @description A reply to a discussion within a team. + * This event occurs when there is activity relating to a card on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see "[Project](https://docs.github.com/graphql/reference/objects#project)" in the GraphQL API documentation and "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. + * + * For activity relating to a project or a column on a project, see the `project` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description A card was added to a classic project. */ - "team-discussion-comment": { - author: null | components["schemas"]["simple-user"]; - /** @description The main text of the comment. */ - body: string; - body_html: string; - /** @description The current version of the body content. If provided, this update operation will be rejected if the given version does not match the latest version on the server. */ - body_version: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - last_edited_at: OneOf<[string, null]>; - /** Format: uri */ - discussion_url: string; - /** Format: uri */ - html_url: string; - node_id: string; - /** @description The unique sequence number of a team discussion comment. */ - number: number; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - reactions?: components["schemas"]["reaction-rollup"]; - }; + post: operations["project-card/created"]; + }; + "project-card-deleted": { /** - * Reaction - * @description Reactions to conversations provide a way to help people express their feelings more simply and effectively. + * This event occurs when there is activity relating to a card on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see "[Project](https://docs.github.com/graphql/reference/objects#project)" in the GraphQL API documentation and "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. + * + * For activity relating to a project or a column on a project, see the `project` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description A card on a classic project was deleted. */ - reaction: { - id: number; - node_id: string; - user: null | components["schemas"]["simple-user"]; - /** - * @description The reaction to use - * @enum {string} - */ - content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - /** Format: date-time */ - created_at: string; - }; + post: operations["project-card/deleted"]; + }; + "project-card-edited": { /** - * Team Membership - * @description Team Membership + * This event occurs when there is activity relating to a card on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see "[Project](https://docs.github.com/graphql/reference/objects#project)" in the GraphQL API documentation and "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. + * + * For activity relating to a project or a column on a project, see the `project` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description A note on a classic project was edited. */ - "team-membership": { - /** Format: uri */ - url: string; - /** - * @description The role of the user in the team. - * @default member - * @enum {string} - */ - role: "member" | "maintainer"; - /** - * @description The state of the user's membership in the team. - * @enum {string} - */ - state: "active" | "pending"; - }; + post: operations["project-card/edited"]; + }; + "project-card-moved": { /** - * Team Project - * @description A team's access to a project. + * This event occurs when there is activity relating to a card on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see "[Project](https://docs.github.com/graphql/reference/objects#project)" in the GraphQL API documentation and "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. + * + * For activity relating to a project or a column on a project, see the `project` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description A card on a classic project was moved to another column or to another position in its column. */ - "team-project": { - owner_url: string; - url: string; - html_url: string; - columns_url: string; - id: number; - node_id: string; - name: string; - body: OneOf<[string, null]>; - number: number; - state: string; - creator: components["schemas"]["simple-user"]; - created_at: string; - updated_at: string; - /** @description The organization permission for this project. Only present when owner is an organization. */ - organization_permission?: string; - /** @description Whether the project is private or not. Only present when owner is an organization. */ - private?: boolean; - permissions: { - read: boolean; - write: boolean; - admin: boolean; - }; - }; + post: operations["project-card/moved"]; + }; + "project-closed": { /** - * Team Repository - * @description A team's access to a repository. + * This event occurs when there is activity relating to a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see "[Project](https://docs.github.com/graphql/reference/objects#project)" in the GraphQL API documentation and "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. + * + * For activity relating to a card or column on a project, see the `project_card` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description A classic project was closed. */ - "team-repository": { - /** @description Unique identifier of the repository */ - id: number; - node_id: string; - /** @description The name of the repository. */ - name: string; - full_name: string; - license: null | components["schemas"]["license-simple"]; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - }; - role_name?: string; - owner: null | components["schemas"]["simple-user"]; - /** - * @description Whether the repository is private or public. - * @default false - */ - private: boolean; - /** Format: uri */ - html_url: string; - description: OneOf<[string, null]>; - fork: boolean; - /** Format: uri */ - url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - /** Format: uri */ - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url: string; - /** Format: uri */ - stargazers_url: string; - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - trees_url: string; - clone_url: string; - /** Format: uri */ - mirror_url: OneOf<[string, null]>; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - homepage: OneOf<[string, null]>; - language: OneOf<[string, null]>; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - /** @description The default branch of the repository. */ - default_branch: string; - open_issues_count: number; - /** - * @description Whether this repository acts as a template that can be used to generate new repositories. - * @default false - */ - is_template?: boolean; - topics?: (string)[]; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - has_pages: boolean; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** - * @description The repository visibility: public, private, or internal. - * @default public - */ - visibility?: string; - /** Format: date-time */ - pushed_at: OneOf<[string, null]>; - /** Format: date-time */ - created_at: OneOf<[string, null]>; - /** Format: date-time */ - updated_at: OneOf<[string, null]>; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - template_repository?: null | components["schemas"]["repository"]; - temp_clone_token?: string; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - /** - * @description Whether to allow Auto-merge to be used on pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow forking this repo - * @default false - */ - allow_forking?: boolean; - /** - * @description Whether to require contributors to sign off on web-based commits - * @default false - */ - web_commit_signoff_required?: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - }; + post: operations["project/closed"]; + }; + "project-column-created": { /** - * Project Card - * @description Project cards represent a scope of work. + * This event occurs when there is activity relating to a column on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see "[Project](https://docs.github.com/graphql/reference/objects#project)" in the GraphQL API documentation and "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. + * + * For activity relating to a project or a card on a project, see the `project` and `project_card` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description A column was added to a classic project. */ - "project-card": { - /** Format: uri */ - url: string; - /** @description The project card's ID */ - id: number; - node_id: string; - note: OneOf<[string, null]>; - creator: null | components["schemas"]["simple-user"]; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** @description Whether or not the card is archived */ - archived?: boolean; - column_name?: string; - project_id?: string; - /** Format: uri */ - column_url: string; - /** Format: uri */ - content_url?: string; - /** Format: uri */ - project_url: string; - }; + post: operations["project-column/created"]; + }; + "project-column-deleted": { /** - * Project Column - * @description Project columns contain cards of work. + * This event occurs when there is activity relating to a column on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see "[Project](https://docs.github.com/graphql/reference/objects#project)" in the GraphQL API documentation and "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. + * + * For activity relating to a project or a card on a project, see the `project` and `project_card` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description A column was deleted from a classic project. */ - "project-column": { - /** Format: uri */ - url: string; - /** Format: uri */ - project_url: string; - /** Format: uri */ - cards_url: string; - /** @description The unique identifier of the project column */ - id: number; - node_id: string; - /** @description Name of the project column */ - name: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - }; + post: operations["project-column/deleted"]; + }; + "project-column-edited": { /** - * Project Collaborator Permission - * @description Project Collaborator Permission + * This event occurs when there is activity relating to a column on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see "[Project](https://docs.github.com/graphql/reference/objects#project)" in the GraphQL API documentation and "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. + * + * For activity relating to a project or a card on a project, see the `project` and `project_card` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description The name of a column on a classic project was changed. */ - "project-collaborator-permission": { - permission: string; - user: null | components["schemas"]["simple-user"]; - }; - /** Rate Limit */ - "rate-limit": { - limit: number; - remaining: number; - reset: number; - used: number; - }; + post: operations["project-column/edited"]; + }; + "project-column-moved": { /** - * Rate Limit Overview - * @description Rate Limit Overview + * This event occurs when there is activity relating to a column on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see "[Project](https://docs.github.com/graphql/reference/objects#project)" in the GraphQL API documentation and "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. + * + * For activity relating to a project or a card on a project, see the `project` and `project_card` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description A column was moved to a new position on a classic project. */ - "rate-limit-overview": { - resources: { - core: components["schemas"]["rate-limit"]; - graphql?: components["schemas"]["rate-limit"]; - search: components["schemas"]["rate-limit"]; - source_import?: components["schemas"]["rate-limit"]; - integration_manifest?: components["schemas"]["rate-limit"]; - code_scanning_upload?: components["schemas"]["rate-limit"]; - actions_runner_registration?: components["schemas"]["rate-limit"]; - scim?: components["schemas"]["rate-limit"]; - dependency_snapshots?: components["schemas"]["rate-limit"]; - }; - rate: components["schemas"]["rate-limit"]; - }; + post: operations["project-column/moved"]; + }; + "project-created": { /** - * Code Of Conduct Simple - * @description Code of Conduct Simple + * This event occurs when there is activity relating to a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see "[Project](https://docs.github.com/graphql/reference/objects#project)" in the GraphQL API documentation and "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. + * + * For activity relating to a card or column on a project, see the `project_card` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description A classic project was created. */ - "code-of-conduct-simple": { - /** Format: uri */ - url: string; - key: string; - name: string; - /** Format: uri */ - html_url: OneOf<[string, null]>; - }; - "security-and-analysis": OneOf<[{ - advanced_security?: { - /** @enum {string} */ - status?: "enabled" | "disabled"; - }; - secret_scanning?: { - /** @enum {string} */ - status?: "enabled" | "disabled"; - }; - secret_scanning_push_protection?: { - /** @enum {string} */ - status?: "enabled" | "disabled"; - }; - }, null]>; + post: operations["project/created"]; + }; + "project-deleted": { /** - * Full Repository - * @description Full Repository + * This event occurs when there is activity relating to a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see "[Project](https://docs.github.com/graphql/reference/objects#project)" in the GraphQL API documentation and "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. + * + * For activity relating to a card or column on a project, see the `project_card` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description A classic project was deleted. */ - "full-repository": { - id: number; - node_id: string; - name: string; - full_name: string; - owner: components["schemas"]["simple-user"]; - private: boolean; - /** Format: uri */ - html_url: string; - description: OneOf<[string, null]>; - fork: boolean; - /** Format: uri */ - url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - /** Format: uri */ - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url: string; - /** Format: uri */ - stargazers_url: string; - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - trees_url: string; - clone_url: string; - /** Format: uri */ - mirror_url: OneOf<[string, null]>; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - homepage: OneOf<[string, null]>; - language: OneOf<[string, null]>; - forks_count: number; - stargazers_count: number; - watchers_count: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ - size: number; - default_branch: string; - open_issues_count: number; - is_template?: boolean; - topics?: (string)[]; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - has_discussions: boolean; - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** @description The repository visibility: public, private, or internal. */ - visibility?: string; - /** Format: date-time */ - pushed_at: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - permissions?: { - admin: boolean; - maintain?: boolean; - push: boolean; - triage?: boolean; - pull: boolean; - }; - allow_rebase_merge?: boolean; - template_repository?: null | components["schemas"]["repository"]; - temp_clone_token?: OneOf<[string, null]>; - allow_squash_merge?: boolean; - allow_auto_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_merge_commit?: boolean; - allow_update_branch?: boolean; - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - allow_forking?: boolean; - web_commit_signoff_required?: boolean; - subscribers_count: number; - network_count: number; - license: null | components["schemas"]["license-simple"]; - organization?: null | components["schemas"]["simple-user"]; - parent?: components["schemas"]["repository"]; - source?: components["schemas"]["repository"]; - forks: number; - master_branch?: string; - open_issues: number; - watchers: number; - /** - * @description Whether anonymous git access is allowed. - * @default true - */ - anonymous_access_enabled?: boolean; - code_of_conduct?: components["schemas"]["code-of-conduct-simple"]; - security_and_analysis?: components["schemas"]["security-and-analysis"]; - }; + post: operations["project/deleted"]; + }; + "project-edited": { /** - * Artifact - * @description An artifact + * This event occurs when there is activity relating to a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see "[Project](https://docs.github.com/graphql/reference/objects#project)" in the GraphQL API documentation and "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. + * + * For activity relating to a card or column on a project, see the `project_card` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description The name or description of a classic project was changed. */ - artifact: { - id: number; - node_id: string; - /** @description The name of the artifact. */ - name: string; - /** @description The size in bytes of the artifact. */ - size_in_bytes: number; - url: string; - archive_download_url: string; - /** @description Whether or not the artifact has expired. */ - expired: boolean; - /** Format: date-time */ - created_at: OneOf<[string, null]>; - /** Format: date-time */ - expires_at: OneOf<[string, null]>; - /** Format: date-time */ - updated_at: OneOf<[string, null]>; - workflow_run?: OneOf<[{ - id?: number; - repository_id?: number; - head_repository_id?: number; - head_branch?: string; - head_sha?: string; - }, null]>; - }; + post: operations["project/edited"]; + }; + "project-reopened": { /** - * Repository actions caches - * @description Repository actions caches + * This event occurs when there is activity relating to a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see "[Project](https://docs.github.com/graphql/reference/objects#project)" in the GraphQL API documentation and "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. + * + * For activity relating to a card or column on a project, see the `project_card` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description A classic project was closed. */ - "actions-cache-list": { - /** @description Total number of caches */ - total_count: number; - /** @description Array of caches */ - actions_caches: ({ - id?: number; - ref?: string; - key?: string; - version?: string; - /** Format: date-time */ - last_accessed_at?: string; - /** Format: date-time */ - created_at?: string; - size_in_bytes?: number; - })[]; - }; + post: operations["project/reopened"]; + }; + "projects-v2-item-archived": { /** - * Job - * @description Information of a job execution in a workflow run + * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). + * + * For activity relating to a project (instead of an item on a project), see the `projects_v2` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. + * + * To install this event on a GitHub App, the app must have at least read-level access for the organization projects permission. + * + * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). + * @description An item on an organization project was archived. For more information, see "[Archiving items from your project](https://docs.github.com/issues/planning-and-tracking-with-projects/managing-items-in-your-project/archiving-items-from-your-project)." */ - job: { - /** @description The id of the job. */ - id: number; - /** @description The id of the associated workflow run. */ - run_id: number; - run_url: string; - /** @description Attempt number of the associated workflow run, 1 for first attempt and higher if the workflow was re-run. */ - run_attempt?: number; - node_id: string; - /** @description The SHA of the commit that is being run. */ - head_sha: string; - url: string; - html_url: OneOf<[string, null]>; - /** - * @description The phase of the lifecycle that the job is currently in. - * @enum {string} - */ - status: "queued" | "in_progress" | "completed"; - /** - * @description The outcome of the job. - * @enum {string|null} - */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | "" | null; - /** - * Format: date-time - * @description The time that the job started, in ISO 8601 format. - */ - started_at: string; - /** - * Format: date-time - * @description The time that the job finished, in ISO 8601 format. - */ - completed_at: OneOf<[string, null]>; - /** @description The name of the job. */ - name: string; - /** @description Steps in this job. */ - steps?: ({ - /** - * @description The phase of the lifecycle that the job is currently in. - * @enum {string} - */ - status: "queued" | "in_progress" | "completed"; - /** @description The outcome of the job. */ - conclusion: OneOf<[string, null]>; - /** @description The name of the job. */ - name: string; - number: number; - /** - * Format: date-time - * @description The time that the step started, in ISO 8601 format. - */ - started_at?: OneOf<[string, null]>; - /** - * Format: date-time - * @description The time that the job finished, in ISO 8601 format. - */ - completed_at?: OneOf<[string, null]>; - })[]; - check_run_url: string; - /** @description Labels for the workflow job. Specified by the "runs_on" attribute in the action's workflow file. */ - labels: (string)[]; - /** @description The ID of the runner to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) */ - runner_id: OneOf<[number, null]>; - /** @description The name of the runner to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) */ - runner_name: OneOf<[string, null]>; - /** @description The ID of the runner group to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) */ - runner_group_id: OneOf<[number, null]>; - /** @description The name of the runner group to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) */ - runner_group_name: OneOf<[string, null]>; - }; - /** @description Whether GitHub Actions is enabled on the repository. */ - "actions-enabled": boolean; - "actions-repository-permissions": { - enabled: components["schemas"]["actions-enabled"]; - allowed_actions?: components["schemas"]["allowed-actions"]; - selected_actions_url?: components["schemas"]["selected-actions-url"]; - }; - "actions-workflow-access-to-repository": { - /** - * @description Defines the level of access that workflows outside of the repository have to actions and reusable workflows within the - * repository. `none` means access is only possible from workflows in this repository. - * @enum {string} - */ - access_level: "none" | "organization" | "enterprise"; - }; + post: operations["projects-v2-item/archived"]; + }; + "projects-v2-item-converted": { /** - * Referenced workflow - * @description A workflow referenced/reused by the initial caller workflow + * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). + * + * For activity relating to a project (instead of an item on a project), see the `projects_v2` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. + * + * To install this event on a GitHub App, the app must have at least read-level access for the organization projects permission. + * + * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). + * @description A draft issue in an organization project was converted to an issue. */ - "referenced-workflow": { - path: string; - sha: string; - ref?: string; - }; - /** Pull Request Minimal */ - "pull-request-minimal": { - id: number; - number: number; - url: string; - head: { - ref: string; - sha: string; - repo: { - id: number; - url: string; - name: string; - }; - }; - base: { - ref: string; - sha: string; - repo: { - id: number; - url: string; - name: string; - }; - }; - }; + post: operations["projects-v2-item/converted"]; + }; + "projects-v2-item-created": { /** - * Simple Commit - * @description A commit. + * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). + * + * For activity relating to a project (instead of an item on a project), see the `projects_v2` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. + * + * To install this event on a GitHub App, the app must have at least read-level access for the organization projects permission. + * + * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). + * @description An item was added to a project in the organization. */ - "simple-commit": { - id: string; - tree_id: string; - message: string; - /** Format: date-time */ - timestamp: string; - author: OneOf<[{ - name: string; - email: string; - }, null]>; - committer: OneOf<[{ - name: string; - email: string; - }, null]>; - }; + post: operations["projects-v2-item/created"]; + }; + "projects-v2-item-deleted": { /** - * Workflow Run - * @description An invocation of a workflow + * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). + * + * For activity relating to a project (instead of an item on a project), see the `projects_v2` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. + * + * To install this event on a GitHub App, the app must have at least read-level access for the organization projects permission. + * + * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). + * @description An item was deleted from a project in the organization. */ - "workflow-run": { - /** @description The ID of the workflow run. */ - id: number; - /** @description The name of the workflow run. */ - name?: OneOf<[string, null]>; - node_id: string; - /** @description The ID of the associated check suite. */ - check_suite_id?: number; - /** @description The node ID of the associated check suite. */ - check_suite_node_id?: string; - head_branch: OneOf<[string, null]>; - /** @description The SHA of the head commit that points to the version of the workflow being run. */ - head_sha: string; - /** @description The full path of the workflow */ - path: string; - /** @description The auto incrementing run number for the workflow run. */ - run_number: number; - /** @description Attempt number of the run, 1 for first attempt and higher if the workflow was re-run. */ - run_attempt?: number; - referenced_workflows?: OneOf<[(components["schemas"]["referenced-workflow"])[], null]>; - event: string; - status: OneOf<[string, null]>; - conclusion: OneOf<[string, null]>; - /** @description The ID of the parent workflow. */ - workflow_id: number; - /** @description The URL to the workflow run. */ - url: string; - html_url: string; - pull_requests: OneOf<[(components["schemas"]["pull-request-minimal"])[], null]>; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - actor?: components["schemas"]["simple-user"]; - triggering_actor?: components["schemas"]["simple-user"]; - /** - * Format: date-time - * @description The start time of the latest run. Resets on re-run. - */ - run_started_at?: string; - /** @description The URL to the jobs for the workflow run. */ - jobs_url: string; - /** @description The URL to download the logs for the workflow run. */ - logs_url: string; - /** @description The URL to the associated check suite. */ - check_suite_url: string; - /** @description The URL to the artifacts for the workflow run. */ - artifacts_url: string; - /** @description The URL to cancel the workflow run. */ - cancel_url: string; - /** @description The URL to rerun the workflow run. */ - rerun_url: string; - /** @description The URL to the previous attempted run of this workflow, if one exists. */ - previous_attempt_url?: OneOf<[string, null]>; - /** @description The URL to the workflow. */ - workflow_url: string; - head_commit: null | components["schemas"]["simple-commit"]; - repository: components["schemas"]["minimal-repository"]; - head_repository: components["schemas"]["minimal-repository"]; - head_repository_id?: number; - /** @description The event-specific title associated with the run or the run-name if set, or the value of `run-name` if it is set in the workflow. */ - display_title: string; - }; + post: operations["projects-v2-item/deleted"]; + }; + "projects-v2-item-edited": { /** - * Environment Approval - * @description An entry in the reviews log for environment deployments + * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). + * + * For activity relating to a project (instead of an item on a project), see the `projects_v2` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. + * + * To install this event on a GitHub App, the app must have at least read-level access for the organization projects permission. + * + * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). + * @description The values or state of an item in an organization project were changed. For example, the value of a field was updated, the body of a draft issue was changed, or a draft issue was converted to an issue. */ - "environment-approvals": { - /** @description The list of environments that were approved or rejected */ - environments: ({ - /** @description The id of the environment. */ - id?: number; - node_id?: string; - /** @description The name of the environment. */ - name?: string; - url?: string; - html_url?: string; - /** - * Format: date-time - * @description The time that the environment was created, in ISO 8601 format. - */ - created_at?: string; - /** - * Format: date-time - * @description The time that the environment was last updated, in ISO 8601 format. - */ - updated_at?: string; - })[]; - /** - * @description Whether deployment to the environment(s) was approved or rejected - * @enum {string} - */ - state: "approved" | "rejected"; - user: components["schemas"]["simple-user"]; - /** @description The comment submitted with the deployment review */ - comment: string; - }; + post: operations["projects-v2-item/edited"]; + }; + "projects-v2-item-reordered": { /** - * @description The type of reviewer. - * @enum {string} + * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). + * + * For activity relating to a project (instead of an item on a project), see the `projects_v2` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. + * + * To install this event on a GitHub App, the app must have at least read-level access for the organization projects permission. + * + * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). + * @description The position of an item in an organization project was changed. For example, an item was moved above or below another item in the table or board layout. */ - "deployment-reviewer-type": "User" | "Team"; + post: operations["projects-v2-item/reordered"]; + }; + "projects-v2-item-restored": { /** - * Pending Deployment - * @description Details of a deployment that is waiting for protection rules to pass + * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). + * + * For activity relating to a project (instead of an item on a project), see the `projects_v2` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. + * + * To install this event on a GitHub App, the app must have at least read-level access for the organization projects permission. + * + * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). + * @description An archived item on an organization project was restored from the archive. For more information, see "[Archiving items from your project](https://docs.github.com/issues/planning-and-tracking-with-projects/managing-items-in-your-project/archiving-items-from-your-project)." */ - "pending-deployment": { - environment: { - /** @description The id of the environment. */ - id?: number; - node_id?: string; - /** @description The name of the environment. */ - name?: string; - url?: string; - html_url?: string; - }; - /** @description The set duration of the wait timer */ - wait_timer: number; - /** - * Format: date-time - * @description The time that the wait timer began. - */ - wait_timer_started_at: OneOf<[string, null]>; - /** @description Whether the currently authenticated user can approve the deployment */ - current_user_can_approve: boolean; - /** @description The people or teams that may approve jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. */ - reviewers: ({ - type?: components["schemas"]["deployment-reviewer-type"]; - reviewer?: components["schemas"]["simple-user"] | components["schemas"]["team"]; - })[]; - }; + post: operations["projects-v2-item/restored"]; + }; + "public": { /** - * Deployment - * @description A request for a specific ref(branch,sha,tag) to be deployed + * This event occurs when repository visibility changes from private to public. For more information, see "[Setting repository visibility](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/setting-repository-visibility)." + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. */ - deployment: { - /** Format: uri */ - url: string; - /** @description Unique identifier of the deployment */ - id: number; - node_id: string; - sha: string; - /** @description The ref to deploy. This can be a branch, tag, or sha. */ - ref: string; - /** @description Parameter to specify a task to execute */ - task: string; - payload: OneOf<[{ - [key: string]: unknown | undefined; - }, string]>; - original_environment?: string; - /** @description Name for the target deployment environment. */ - environment: string; - description: OneOf<[string, null]>; - creator: null | components["schemas"]["simple-user"]; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - statuses_url: string; - /** Format: uri */ - repository_url: string; - /** @description Specifies if the given environment is will no longer exist at some point in the future. Default: false. */ - transient_environment?: boolean; - /** @description Specifies if the given environment is one that end-users directly interact with. Default: false. */ - production_environment?: boolean; - performed_via_github_app?: null | components["schemas"]["integration"]; - }; + post: operations["public"]; + }; + "pull-request-assigned": { /** - * Workflow Run Usage - * @description Workflow Run Usage + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A pull request was assigned to a user. */ - "workflow-run-usage": { - billable: { - UBUNTU?: { - total_ms: number; - jobs: number; - job_runs?: ({ - job_id: number; - duration_ms: number; - })[]; - }; - MACOS?: { - total_ms: number; - jobs: number; - job_runs?: ({ - job_id: number; - duration_ms: number; - })[]; - }; - WINDOWS?: { - total_ms: number; - jobs: number; - job_runs?: ({ - job_id: number; - duration_ms: number; - })[]; - }; - }; - run_duration_ms?: number; - }; + post: operations["pull-request/assigned"]; + }; + "pull-request-auto-merge-disabled": { /** - * Actions Secret - * @description Set secrets for GitHub Actions. + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description Auto merge was disabled for a pull request. For more information, see "[Automatically merging a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request)." */ - "actions-secret": { - /** @description The name of the secret. */ - name: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - }; + post: operations["pull-request/auto-merge-disabled"]; + }; + "pull-request-auto-merge-enabled": { /** - * Workflow - * @description A GitHub Actions workflow + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description Auto merge was enabled for a pull request. For more information, see "[Automatically merging a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request)." */ - workflow: { - id: number; - node_id: string; - name: string; - path: string; - /** @enum {string} */ - state: "active" | "deleted" | "disabled_fork" | "disabled_inactivity" | "disabled_manually"; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - url: string; - html_url: string; - badge_url: string; - /** Format: date-time */ - deleted_at?: string; - }; + post: operations["pull-request/auto-merge-enabled"]; + }; + "pull-request-closed": { /** - * Workflow Usage - * @description Workflow Usage + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A pull request was closed. If `merged` is false in the webhook payload, the pull request was closed with unmerged commits. If `merged` is true in the webhook payload, the pull request was merged. */ - "workflow-usage": { - billable: { - UBUNTU?: { - total_ms?: number; - }; - MACOS?: { - total_ms?: number; - }; - WINDOWS?: { - total_ms?: number; - }; - }; - }; + post: operations["pull-request/closed"]; + }; + "pull-request-converted-to-draft": { /** - * Autolink reference - * @description An autolink reference. + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A pull request was converted to a draft. For more information, see "[Changing the stage of a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request)." */ - autolink: { - id: number; - /** @description The prefix of a key that is linkified. */ - key_prefix: string; - /** @description A template for the target URL that is generated if a key was found. */ - url_template: string; - /** @description Whether this autolink reference matches alphanumeric characters. If false, this autolink reference only matches numeric characters. */ - is_alphanumeric: boolean; - }; + post: operations["pull-request/converted-to-draft"]; + }; + "pull-request-demilestoned": { /** - * Protected Branch Required Status Check - * @description Protected Branch Required Status Check + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A pull request was removed from a milestone. */ - "protected-branch-required-status-check": { - url?: string; - enforcement_level?: string; - contexts: (string)[]; - checks: ({ - context: string; - app_id: OneOf<[number, null]>; - })[]; - contexts_url?: string; - strict?: boolean; - }; + post: operations["pull-request/demilestoned"]; + }; + "pull-request-edited": { /** - * Protected Branch Admin Enforced - * @description Protected Branch Admin Enforced + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description The title or body of a pull request was edited. */ - "protected-branch-admin-enforced": { - /** Format: uri */ - url: string; - enabled: boolean; - }; + post: operations["pull-request/edited"]; + }; + "pull-request-labeled": { /** - * Protected Branch Pull Request Review - * @description Protected Branch Pull Request Review + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A label was added to a pull request. */ - "protected-branch-pull-request-review": { - /** Format: uri */ - url?: string; - dismissal_restrictions?: { - /** @description The list of users with review dismissal access. */ - users?: (components["schemas"]["simple-user"])[]; - /** @description The list of teams with review dismissal access. */ - teams?: (components["schemas"]["team"])[]; - /** @description The list of apps with review dismissal access. */ - apps?: (components["schemas"]["integration"])[]; - url?: string; - users_url?: string; - teams_url?: string; - }; - /** @description Allow specific users, teams, or apps to bypass pull request requirements. */ - bypass_pull_request_allowances?: { - /** @description The list of users allowed to bypass pull request requirements. */ - users?: (components["schemas"]["simple-user"])[]; - /** @description The list of teams allowed to bypass pull request requirements. */ - teams?: (components["schemas"]["team"])[]; - /** @description The list of apps allowed to bypass pull request requirements. */ - apps?: (components["schemas"]["integration"])[]; - }; - dismiss_stale_reviews: boolean; - require_code_owner_reviews: boolean; - required_approving_review_count?: number; - /** - * @description Whether the most recent push must be approved by someone other than the person who pushed it. - * @default false - */ - require_last_push_approval?: boolean; - }; + post: operations["pull-request/labeled"]; + }; + "pull-request-locked": { /** - * Branch Restriction Policy - * @description Branch Restriction Policy + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description Conversation on a pull request was locked. For more information, see "[Locking conversations](https://docs.github.com/communities/moderating-comments-and-conversations/locking-conversations)." */ - "branch-restriction-policy": { - /** Format: uri */ - url: string; - /** Format: uri */ - users_url: string; - /** Format: uri */ - teams_url: string; - /** Format: uri */ - apps_url: string; - users: ({ - login?: string; - id?: number; - node_id?: string; - avatar_url?: string; - gravatar_id?: string; - url?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - repos_url?: string; - events_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - })[]; - teams: ({ - id?: number; - node_id?: string; - url?: string; - html_url?: string; - name?: string; - slug?: string; - description?: OneOf<[string, null]>; - privacy?: string; - permission?: string; - members_url?: string; - repositories_url?: string; - parent?: OneOf<[string, null]>; - })[]; - apps: ({ - id?: number; - slug?: string; - node_id?: string; - owner?: { - login?: string; - id?: number; - node_id?: string; - url?: string; - repos_url?: string; - events_url?: string; - hooks_url?: string; - issues_url?: string; - members_url?: string; - public_members_url?: string; - avatar_url?: string; - description?: string; - gravatar_id?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - }; - name?: string; - description?: string; - external_url?: string; - html_url?: string; - created_at?: string; - updated_at?: string; - permissions?: { - metadata?: string; - contents?: string; - issues?: string; - single_file?: string; - }; - events?: (string)[]; - })[]; - }; + post: operations["pull-request/locked"]; + }; + "pull-request-milestoned": { /** - * Branch Protection - * @description Branch Protection + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A pull request was added to a milestone. */ - "branch-protection": { - url?: string; - enabled?: boolean; - required_status_checks?: components["schemas"]["protected-branch-required-status-check"]; - enforce_admins?: components["schemas"]["protected-branch-admin-enforced"]; - required_pull_request_reviews?: components["schemas"]["protected-branch-pull-request-review"]; - restrictions?: components["schemas"]["branch-restriction-policy"]; - required_linear_history?: { - enabled?: boolean; - }; - allow_force_pushes?: { - enabled?: boolean; - }; - allow_deletions?: { - enabled?: boolean; - }; - block_creations?: { - enabled?: boolean; - }; - required_conversation_resolution?: { - enabled?: boolean; - }; - name?: string; - protection_url?: string; - required_signatures?: { - /** Format: uri */ - url: string; - enabled: boolean; - }; - /** @description Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. */ - lock_branch?: { - /** @default false */ - enabled?: boolean; - }; - /** @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. */ - allow_fork_syncing?: { - /** @default false */ - enabled?: boolean; - }; - }; + post: operations["pull-request/milestoned"]; + }; + "pull-request-opened": { /** - * Short Branch - * @description Short Branch + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A pull request was created */ - "short-branch": { - name: string; - commit: { - sha: string; - /** Format: uri */ - url: string; - }; - protected: boolean; - protection?: components["schemas"]["branch-protection"]; - /** Format: uri */ - protection_url?: string; - }; + post: operations["pull-request/opened"]; + }; + "pull-request-ready-for-review": { /** - * Git User - * @description Metaproperties for Git author/committer information. + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A draft pull request was marked as ready for review. For more information, see "[Changing the stage of a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request)." */ - "git-user": { - name?: string; - email?: string; - date?: string; - }; - /** Verification */ - verification: { - verified: boolean; - reason: string; - payload: OneOf<[string, null]>; - signature: OneOf<[string, null]>; - }; + post: operations["pull-request/ready-for-review"]; + }; + "pull-request-reopened": { /** - * Diff Entry - * @description Diff Entry + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments,or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A previously closed pull request was reopened. */ - "diff-entry": { - sha: string; - filename: string; - /** @enum {string} */ - status: "added" | "removed" | "modified" | "renamed" | "copied" | "changed" | "unchanged"; - additions: number; - deletions: number; - changes: number; - /** Format: uri */ - blob_url: string; - /** Format: uri */ - raw_url: string; - /** Format: uri */ - contents_url: string; - patch?: string; - previous_filename?: string; - }; + post: operations["pull-request/reopened"]; + }; + "pull-request-review-comment-created": { /** - * Commit - * @description Commit + * This event occurs when there is activity relating to a pull request review comment. A pull request review comment is a comment on a pull request's diff. For more information, see "[Commenting on a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)." For information about the APIs to manage pull request review comments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreviewcomment) or "[Pull request review comments](https://docs.github.com/rest/pulls/comments)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request comments, or pull request review threads, use the `pull_request_review`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A comment on a pull request diff was created. */ - commit: { - /** Format: uri */ - url: string; - sha: string; - node_id: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - comments_url: string; - commit: { - /** Format: uri */ - url: string; - author: null | components["schemas"]["git-user"]; - committer: null | components["schemas"]["git-user"]; - message: string; - comment_count: number; - tree: { - sha: string; - /** Format: uri */ - url: string; - }; - verification?: components["schemas"]["verification"]; - }; - author: null | components["schemas"]["simple-user"]; - committer: null | components["schemas"]["simple-user"]; - parents: ({ - sha: string; - /** Format: uri */ - url: string; - /** Format: uri */ - html_url?: string; - })[]; - stats?: { - additions?: number; - deletions?: number; - total?: number; - }; - files?: (components["schemas"]["diff-entry"])[]; - }; + post: operations["pull-request-review-comment/created"]; + }; + "pull-request-review-comment-deleted": { /** - * Branch With Protection - * @description Branch With Protection + * This event occurs when there is activity relating to a pull request review comment. A pull request review comment is a comment on a pull request's diff. For more information, see "[Commenting on a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)." For information about the APIs to manage pull request review comments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreviewcomment) or "[Pull request review comments](https://docs.github.com/rest/pulls/comments)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request comments, or pull request review threads, use the `pull_request_review`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A comment on a pull request diff was deleted. */ - "branch-with-protection": { - name: string; - commit: components["schemas"]["commit"]; - _links: { - html: string; - /** Format: uri */ - self: string; - }; - protected: boolean; - protection: components["schemas"]["branch-protection"]; - /** Format: uri */ - protection_url: string; - pattern?: string; - required_approving_review_count?: number; - }; + post: operations["pull-request-review-comment/deleted"]; + }; + "pull-request-review-comment-edited": { /** - * Status Check Policy - * @description Status Check Policy + * This event occurs when there is activity relating to a pull request review comment. A pull request review comment is a comment on a pull request's diff. For more information, see "[Commenting on a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)." For information about the APIs to manage pull request review comments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreviewcomment) or "[Pull request review comments](https://docs.github.com/rest/pulls/comments)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request comments, or pull request review threads, use the `pull_request_review`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description The content of a comment on a pull request diff was changed. */ - "status-check-policy": { - /** Format: uri */ - url: string; - strict: boolean; - contexts: (string)[]; - checks: ({ - context: string; - app_id: OneOf<[number, null]>; - })[]; - /** Format: uri */ - contexts_url: string; - }; + post: operations["pull-request-review-comment/edited"]; + }; + "pull-request-review-dismissed": { /** - * Protected Branch - * @description Branch protections protect branches + * This event occurs when there is activity relating to a pull request review. A pull request review is a group of pull request review comments in addition to a body comment and a state. For more information, see "[About pull request reviews](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)." For information about the APIs to manage pull request reviews, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreview) or "[Pull request reviews](https://docs.github.com/rest/pulls/reviews)" in the REST API documentation. + * + * For activity related to pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A review on a pull request was dismissed. */ - "protected-branch": { - /** Format: uri */ - url: string; - required_status_checks?: components["schemas"]["status-check-policy"]; - required_pull_request_reviews?: { - /** Format: uri */ - url: string; - dismiss_stale_reviews?: boolean; - require_code_owner_reviews?: boolean; - required_approving_review_count?: number; - /** - * @description Whether the most recent push must be approved by someone other than the person who pushed it. - * @default false - */ - require_last_push_approval?: boolean; - dismissal_restrictions?: { - /** Format: uri */ - url: string; - /** Format: uri */ - users_url: string; - /** Format: uri */ - teams_url: string; - users: (components["schemas"]["simple-user"])[]; - teams: (components["schemas"]["team"])[]; - apps?: (components["schemas"]["integration"])[]; - }; - bypass_pull_request_allowances?: { - users: (components["schemas"]["simple-user"])[]; - teams: (components["schemas"]["team"])[]; - apps?: (components["schemas"]["integration"])[]; - }; - }; - required_signatures?: { - /** Format: uri */ - url: string; - enabled: boolean; - }; - enforce_admins?: { - /** Format: uri */ - url: string; - enabled: boolean; - }; - required_linear_history?: { - enabled: boolean; - }; - allow_force_pushes?: { - enabled: boolean; - }; - allow_deletions?: { - enabled: boolean; - }; - restrictions?: components["schemas"]["branch-restriction-policy"]; - required_conversation_resolution?: { - enabled?: boolean; - }; - block_creations?: { - enabled: boolean; - }; - /** @description Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. */ - lock_branch?: { - /** @default false */ - enabled?: boolean; - }; - /** @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. */ - allow_fork_syncing?: { - /** @default false */ - enabled?: boolean; - }; - }; + post: operations["pull-request-review/dismissed"]; + }; + "pull-request-review-edited": { /** - * Deployment - * @description A deployment created as the result of an Actions check run from a workflow that references an environment + * This event occurs when there is activity relating to a pull request review. A pull request review is a group of pull request review comments in addition to a body comment and a state. For more information, see "[About pull request reviews](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)." For information about the APIs to manage pull request reviews, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreview) or "[Pull request reviews](https://docs.github.com/rest/pulls/reviews)" in the REST API documentation. + * + * For activity related to pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description The body comment on a pull request review was edited. */ - "deployment-simple": { - /** Format: uri */ - url: string; - /** @description Unique identifier of the deployment */ - id: number; - node_id: string; - /** @description Parameter to specify a task to execute */ - task: string; - original_environment?: string; - /** @description Name for the target deployment environment. */ - environment: string; - description: OneOf<[string, null]>; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - statuses_url: string; - /** Format: uri */ - repository_url: string; - /** @description Specifies if the given environment is will no longer exist at some point in the future. Default: false. */ - transient_environment?: boolean; - /** @description Specifies if the given environment is one that end-users directly interact with. Default: false. */ - production_environment?: boolean; - performed_via_github_app?: null | components["schemas"]["integration"]; - }; + post: operations["pull-request-review/edited"]; + }; + "pull-request-review-request-removed": { /** - * CheckRun - * @description A check performed on the code of a given code change + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A request for review by a person or team was removed from a pull request. */ - "check-run": { - /** @description The id of the check. */ - id: number; - /** @description The SHA of the commit that is being checked. */ - head_sha: string; - node_id: string; - external_id: OneOf<[string, null]>; - url: string; - html_url: OneOf<[string, null]>; - details_url: OneOf<[string, null]>; - /** - * @description The phase of the lifecycle that the check is currently in. - * @enum {string} - */ - status: "queued" | "in_progress" | "completed"; - /** @enum {string|null} */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | "" | null; - /** Format: date-time */ - started_at: OneOf<[string, null]>; - /** Format: date-time */ - completed_at: OneOf<[string, null]>; - output: { - title: OneOf<[string, null]>; - summary: OneOf<[string, null]>; - text: OneOf<[string, null]>; - annotations_count: number; - /** Format: uri */ - annotations_url: string; - }; - /** @description The name of the check. */ - name: string; - check_suite: OneOf<[{ - id: number; - }, null]>; - app: null | components["schemas"]["integration"]; - pull_requests: (components["schemas"]["pull-request-minimal"])[]; - deployment?: components["schemas"]["deployment-simple"]; - }; + post: operations["pull-request/review-request-removed"]; + }; + "pull-request-review-requested": { /** - * Check Annotation - * @description Check Annotation + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description Review by a person or team was requested for a pull request. For more information, see "[Requesting a pull request review](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/requesting-a-pull-request-review)." */ - "check-annotation": { - path: string; - start_line: number; - end_line: number; - start_column: OneOf<[number, null]>; - end_column: OneOf<[number, null]>; - annotation_level: OneOf<[string, null]>; - title: OneOf<[string, null]>; - message: OneOf<[string, null]>; - raw_details: OneOf<[string, null]>; - blob_href: string; - }; + post: operations["pull-request/review-requested"]; + }; + "pull-request-review-submitted": { /** - * CheckSuite - * @description A suite of checks performed on the code of a given code change + * This event occurs when there is activity relating to a pull request review. A pull request review is a group of pull request review comments in addition to a body comment and a state. For more information, see "[About pull request reviews](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)." For information about the APIs to manage pull request reviews, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreview) or "[Pull request reviews](https://docs.github.com/rest/pulls/reviews)" in the REST API documentation. + * + * For activity related to pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A review on a pull request was submitted. */ - "check-suite": { - id: number; - node_id: string; - head_branch: OneOf<[string, null]>; - /** @description The SHA of the head commit that is being checked. */ - head_sha: string; - /** @enum {string|null} */ - status: "queued" | "in_progress" | "completed" | "" | null; - /** @enum {string|null} */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | "startup_failure" | "stale" | "" | null; - url: OneOf<[string, null]>; - before: OneOf<[string, null]>; - after: OneOf<[string, null]>; - pull_requests: OneOf<[(components["schemas"]["pull-request-minimal"])[], null]>; - app: null | components["schemas"]["integration"]; - repository: components["schemas"]["minimal-repository"]; - /** Format: date-time */ - created_at: OneOf<[string, null]>; - /** Format: date-time */ - updated_at: OneOf<[string, null]>; - head_commit: components["schemas"]["simple-commit"]; - latest_check_runs_count: number; - check_runs_url: string; - rerequestable?: boolean; - runs_rerequestable?: boolean; - }; + post: operations["pull-request-review/submitted"]; + }; + "pull-request-review-thread-resolved": { /** - * Check Suite Preference - * @description Check suite configuration preferences for a repository. + * This event occurs when there is activity relating to a comment thread on a pull request. For more information, see "[About pull request reviews](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)." For information about the APIs to manage pull request review comment threads, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreviewthread) or "[Pull request reviews](https://docs.github.com/rest/pulls/reviews)" in the REST API documentation. + * + * For activity related to pull request review comments, pull request comments, or pull request reviews, use the `pull_request_review_comment`, `issue_comment`, or `pull_request_review` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A comment thread on a pull request was marked as resolved. */ - "check-suite-preference": { - preferences: { - auto_trigger_checks?: ({ - app_id: number; - setting: boolean; - })[]; - }; - repository: components["schemas"]["minimal-repository"]; - }; - "code-scanning-alert-rule-summary": { - /** @description A unique identifier for the rule used to detect the alert. */ - id?: OneOf<[string, null]>; - /** @description The name of the rule used to detect the alert. */ - name?: string; - /** @description A set of tags applicable for the rule. */ - tags?: OneOf<[(string)[], null]>; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity?: "none" | "note" | "warning" | "error" | "" | null; - /** @description A short description of the rule used to detect the alert. */ - description?: string; - }; - "code-scanning-alert-items": { - number: components["schemas"]["alert-number"]; - created_at: components["schemas"]["alert-created-at"]; - updated_at?: components["schemas"]["alert-updated-at"]; - url: components["schemas"]["alert-url"]; - html_url: components["schemas"]["alert-html-url"]; - instances_url: components["schemas"]["alert-instances-url"]; - state: components["schemas"]["code-scanning-alert-state"]; - fixed_at?: components["schemas"]["alert-fixed-at"]; - dismissed_by: null | components["schemas"]["simple-user"]; - dismissed_at: components["schemas"]["alert-dismissed-at"]; - dismissed_reason: components["schemas"]["code-scanning-alert-dismissed-reason"]; - dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; - rule: components["schemas"]["code-scanning-alert-rule-summary"]; - tool: components["schemas"]["code-scanning-analysis-tool"]; - most_recent_instance: components["schemas"]["code-scanning-alert-instance"]; - }; - "code-scanning-alert": { - number: components["schemas"]["alert-number"]; - created_at: components["schemas"]["alert-created-at"]; - updated_at?: components["schemas"]["alert-updated-at"]; - url: components["schemas"]["alert-url"]; - html_url: components["schemas"]["alert-html-url"]; - instances_url: components["schemas"]["alert-instances-url"]; - state: components["schemas"]["code-scanning-alert-state"]; - fixed_at?: components["schemas"]["alert-fixed-at"]; - dismissed_by: null | components["schemas"]["simple-user"]; - dismissed_at: components["schemas"]["alert-dismissed-at"]; - dismissed_reason: components["schemas"]["code-scanning-alert-dismissed-reason"]; - dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; - rule: components["schemas"]["code-scanning-alert-rule"]; - tool: components["schemas"]["code-scanning-analysis-tool"]; - most_recent_instance: components["schemas"]["code-scanning-alert-instance"]; - }; + post: operations["pull-request-review-thread/resolved"]; + }; + "pull-request-review-thread-unresolved": { /** - * @description Sets the state of the code scanning alert. You must provide `dismissed_reason` when you set the state to `dismissed`. - * @enum {string} + * This event occurs when there is activity relating to a comment thread on a pull request. For more information, see "[About pull request reviews](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)." For information about the APIs to manage pull request reviews, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreviewthread) or "[Pull request review comments](https://docs.github.com/rest/pulls/comments)" in the REST API documentation. + * + * For activity related to pull request review comments, pull request comments, or pull request reviews, use the `pull_request_review_comment`, `issue_comment`, or `pull_request_review` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A previously resolved comment thread on a pull request was marked as unresolved. */ - "code-scanning-alert-set-state": "open" | "dismissed"; - /** @description An identifier for the upload. */ - "code-scanning-analysis-sarif-id": string; - /** @description The SHA of the commit to which the analysis you are uploading relates. */ - "code-scanning-analysis-commit-sha": string; - /** @description Identifies the variable values associated with the environment in which this analysis was performed. */ - "code-scanning-analysis-environment": string; + post: operations["pull-request-review-thread/unresolved"]; + }; + "pull-request-synchronize": { /** - * Format: date-time - * @description The time that the analysis was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A pull request's head branch was updated. For example, the head branch was updated from the base branch, new commits were pushed to the head branch, or the base branch was changed. */ - readonly "code-scanning-analysis-created-at": string; + post: operations["pull-request/synchronize"]; + }; + "pull-request-unassigned": { /** - * Format: uri - * @description The REST API URL of the analysis resource. + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A user was unassigned from a pull request. */ - readonly "code-scanning-analysis-url": string; - "code-scanning-analysis": { - ref: components["schemas"]["code-scanning-ref"]; - commit_sha: components["schemas"]["code-scanning-analysis-commit-sha"]; - analysis_key: components["schemas"]["code-scanning-analysis-analysis-key"]; - environment: components["schemas"]["code-scanning-analysis-environment"]; - category?: components["schemas"]["code-scanning-analysis-category"]; - error: string; - created_at: components["schemas"]["code-scanning-analysis-created-at"]; - /** @description The total number of results in the analysis. */ - results_count: number; - /** @description The total number of rules used in the analysis. */ - rules_count: number; - /** @description Unique identifier for this analysis. */ - id: number; - url: components["schemas"]["code-scanning-analysis-url"]; - sarif_id: components["schemas"]["code-scanning-analysis-sarif-id"]; - tool: components["schemas"]["code-scanning-analysis-tool"]; - deletable: boolean; - /** @description Warning generated when processing the analysis */ - warning: string; - }; + post: operations["pull-request/unassigned"]; + }; + "pull-request-unlabeled": { /** - * Analysis deletion - * @description Successful deletion of a code scanning analysis + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A label was removed from a pull request. */ - "code-scanning-analysis-deletion": { - /** - * Format: uri - * @description Next deletable analysis in chain, without last analysis deletion confirmation - */ - next_analysis_url: OneOf<[string, null]>; - /** - * Format: uri - * @description Next deletable analysis in chain, with last analysis deletion confirmation - */ - confirm_delete_url: OneOf<[string, null]>; - }; + post: operations["pull-request/unlabeled"]; + }; + "pull-request-unlocked": { /** - * CodeQL Database - * @description A CodeQL database. + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description Conversation on a pull request was unlocked. For more information, see "[Locking conversations](https://docs.github.com/communities/moderating-comments-and-conversations/locking-conversations)." */ - "code-scanning-codeql-database": { - /** @description The ID of the CodeQL database. */ - id: number; - /** @description The name of the CodeQL database. */ - name: string; - /** @description The language of the CodeQL database. */ - language: string; - uploader: components["schemas"]["simple-user"]; - /** @description The MIME type of the CodeQL database file. */ - content_type: string; - /** @description The size of the CodeQL database file in bytes. */ - size: number; - /** - * Format: date-time - * @description The date and time at which the CodeQL database was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - created_at: string; - /** - * Format: date-time - * @description The date and time at which the CodeQL database was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - updated_at: string; - /** - * Format: uri - * @description The URL at which to download the CodeQL database. The `Accept` header must be set to the value of the `content_type` property. - */ - url: string; - }; - /** @description A Base64 string representing the SARIF file to upload. You must first compress your SARIF file using [`gzip`](http://www.gnu.org/software/gzip/manual/gzip.html) and then translate the contents of the file into a Base64 encoding string. For more information, see "[SARIF support for code scanning](https://docs.github.com/code-security/secure-coding/sarif-support-for-code-scanning)." */ - "code-scanning-analysis-sarif-file": string; - "code-scanning-sarifs-receipt": { - id?: components["schemas"]["code-scanning-analysis-sarif-id"]; - /** - * Format: uri - * @description The REST API URL for checking the status of the upload. - */ - url?: string; - }; - "code-scanning-sarifs-status": { - /** - * @description `pending` files have not yet been processed, while `complete` means results from the SARIF have been stored. `failed` files have either not been processed at all, or could only be partially processed. - * @enum {string} - */ - processing_status?: "pending" | "complete" | "failed"; - /** - * Format: uri - * @description The REST API URL for getting the analyses associated with the upload. - */ - analyses_url?: OneOf<[string, null]>; - /** @description Any errors that ocurred during processing of the delivery. */ - errors?: OneOf<[readonly (string)[], null]>; - }; + post: operations["pull-request/unlocked"]; + }; + "push": { /** - * CODEOWNERS errors - * @description A list of errors found in a repo's CODEOWNERS file + * This event occurs when a commit or tag is pushed. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. + * + * **Note**: An event will not be created when more than three tags are pushed at once. */ - "codeowners-errors": { - errors: ({ - /** @description The line number where this errors occurs. */ - line: number; - /** @description The column number where this errors occurs. */ - column: number; - /** @description The contents of the line where the error occurs. */ - source?: string; - /** @description The type of error. */ - kind: string; - /** @description Suggested action to fix the error. This will usually be `null`, but is provided for some common errors. */ - suggestion?: OneOf<[string, null]>; - /** @description A human-readable description of the error, combining information from multiple fields, laid out for display in a monospaced typeface (for example, a command-line setting). */ - message: string; - /** @description The path of the file where the error occured. */ - path: string; - })[]; - }; + post: operations["push"]; + }; + "registry-package-published": { + /** Registry package published */ + post: operations["registry-package/published"]; + }; + "registry-package-updated": { + /** Registry package updated */ + post: operations["registry-package/updated"]; + }; + "release-created": { + /** Release created */ + post: operations["release/created"]; + }; + "release-deleted": { + /** Release deleted */ + post: operations["release/deleted"]; + }; + "release-edited": { + /** Release edited */ + post: operations["release/edited"]; + }; + "release-prereleased": { + /** Release prereleased */ + post: operations["release/prereleased"]; + }; + "release-published": { + /** Release published */ + post: operations["release/published"]; + }; + "release-released": { + /** Release released */ + post: operations["release/released"]; + }; + "release-unpublished": { + /** Release unpublished */ + post: operations["release/unpublished"]; + }; + "repository-archived": { /** - * Codespaces Secret - * @description Set repository secrets for GitHub Codespaces. + * This event occurs when there is activity relating to repositories. + * + * For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) and [the REST API documentation](https://docs.github.com/rest/repos). + * + * To install this event on a GitHub App, the app must have at least read-level access for the repository metadata permission. + * @description A repository was archived. */ - "repo-codespaces-secret": { - /** @description The name of the secret. */ - name: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; + post: operations["repository/archived"]; + }; + "repository-created": { + /** + * This event occurs when there is activity relating to repositories. + * + * For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) and [the REST API documentation](https://docs.github.com/rest/repos). + * + * To install this event on a GitHub App, the app must have at least read-level access for the repository metadata permission. + * @description A repository was created. + */ + post: operations["repository/created"]; + }; + "repository-deleted": { + /** + * This event occurs when there is activity relating to repositories. + * + * For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) and [the REST API documentation](https://docs.github.com/rest/repos). + * + * To install this event on a GitHub App, the app must have at least read-level access for the repository metadata permission. + * @description A repository was deleted. GitHub Apps and repository webhooks will not receive this event. + */ + post: operations["repository/deleted"]; + }; + "repository-dispatch-sample.collected": { + /** + * This event occurs when a GitHub App sends a `POST` request to `/repos/{owner}/{repo}/dispatches`. For more information, see [the REST API documentation for creating a repository dispatch event](https://docs.github.com/rest/repos/repos#create-a-repository-dispatch-event). + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. + * @description The `event_type` that was specified in the `POST /repos/{owner}/{repo}/dispatches` request body. + */ + post: operations["repository-dispatch/sample.collected"]; + }; + "repository-edited": { + /** + * This event occurs when there is activity relating to repositories. + * + * For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) and [the REST API documentation](https://docs.github.com/rest/repos). + * + * To install this event on a GitHub App, the app must have at least read-level access for the repository metadata permission. + * @description The topics, default branch, description, or homepage of a repository was changed. + */ + post: operations["repository/edited"]; + }; + "repository-import": { + /** This event occurs when a repository is imported to GitHub. For more information, see "[Importing a repository with GitHub Importer](https://docs.github.com/get-started/importing-your-projects-to-github/importing-source-code-to-github/importing-a-repository-with-github-importer)." For more information about the API to manage imports, see [the REST API documentation](https://docs.github.com/rest/migrations/source-imports). */ + post: operations["repository-import"]; + }; + "repository-privatized": { + /** + * This event occurs when there is activity relating to repositories. + * + * For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) and [the REST API documentation](https://docs.github.com/rest/repos). + * + * To install this event on a GitHub App, the app must have at least read-level access for the repository metadata permission. + * @description The visibility of a repository was changed to `private`. + */ + post: operations["repository/privatized"]; + }; + "repository-publicized": { + /** + * This event occurs when there is activity relating to repositories. + * + * For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) and [the REST API documentation](https://docs.github.com/rest/repos). + * + * To install this event on a GitHub App, the app must have at least read-level access for the repository metadata permission. + * @description The visibility of a repository was changed to `public`. + */ + post: operations["repository/publicized"]; + }; + "repository-renamed": { + /** + * This event occurs when there is activity relating to repositories. + * + * For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) and [the REST API documentation](https://docs.github.com/rest/repos). + * + * To install this event on a GitHub App, the app must have at least read-level access for the repository metadata permission. + * @description The name of a repository was changed. + */ + post: operations["repository/renamed"]; + }; + "repository-transferred": { + /** + * This event occurs when there is activity relating to repositories. + * + * For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) and [the REST API documentation](https://docs.github.com/rest/repos). + * + * To install this event on a GitHub App, the app must have at least read-level access for the repository metadata permission. + * @description Ownership of the repository was transferred to a user or organization account. + */ + post: operations["repository/transferred"]; + }; + "repository-unarchived": { + /** + * This event occurs when there is activity relating to repositories. + * + * For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) and [the REST API documentation](https://docs.github.com/rest/repos). + * + * To install this event on a GitHub App, the app must have at least read-level access for the repository metadata permission. + * @description A previously archived repository was unarchived. + */ + post: operations["repository/unarchived"]; + }; + "repository-vulnerability-alert-create": { + /** + * This event occurs when there is activity relating to a security vulnerability alert in a repository. + * + * **Note**: This event is deprecated. Use the `dependabot_alert` event instead. + * @description A repository vulnerability alert was created. + */ + post: operations["repository-vulnerability-alert/create"]; + }; + "repository-vulnerability-alert-dismiss": { + /** + * This event occurs when there is activity relating to a security vulnerability alert in a repository. + * + * **Note**: This event is deprecated. Use the `dependabot_alert` event instead. + * @description A repository vulnerability alert was dismissed. + */ + post: operations["repository-vulnerability-alert/dismiss"]; + }; + "repository-vulnerability-alert-reopen": { + /** + * This event occurs when there is activity relating to a security vulnerability alert in a repository. + * + * **Note**: This event is deprecated. Use the `dependabot_alert` event instead. + * @description A previously dismissed or resolved repository vulnerability alert was reopened. + */ + post: operations["repository-vulnerability-alert/reopen"]; + }; + "repository-vulnerability-alert-resolve": { + /** + * This event occurs when there is activity relating to a security vulnerability alert in a repository. + * + * **Note**: This event is deprecated. Use the `dependabot_alert` event instead. + * @description A repository vulnerability alert was marked as resolved. + */ + post: operations["repository-vulnerability-alert/resolve"]; + }; + "secret-scanning-alert-created": { + /** + * This event occurs when there is activity relating to a secret scanning alert. + * + * For more information about secret scanning, see "[About secret scanning](https://docs.github.com/code-security/secret-scanning/about-secret-scanning)." For information about the API to manage secret scanning alerts, see [the REST API documentation](https://docs.github.com/rest/secret-scanning). + * + * For activity relating to secret scanning alert locations, see the `secret_scanning_alert_location` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level access for the secret scanning alerts permission. + * @description A secret scanning alert was created. + */ + post: operations["secret-scanning-alert/created"]; + }; + "secret-scanning-alert-location-created": { + /** + * This event occurs when there is activity relating to the locations of a secret in a secret scanning alert. + * + * For more information about secret scanning, see "[About secret scanning](https://docs.github.com/code-security/secret-scanning/about-secret-scanning)." For information about the API to manage secret scanning alerts, see [the REST API documentation](https://docs.github.com/rest/secret-scanning). + * + * For activity relating to secret scanning alerts, see the `secret_scanning_alert` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level access for the secret scanning alerts permission. + * @description A new instance of a previously detected secret was detected in a repository, and the location of the secret was added to the existing alert. + */ + post: operations["secret-scanning-alert-location/created"]; + }; + "secret-scanning-alert-reopened": { + /** + * This event occurs when there is activity relating to a secret scanning alert. + * + * For more information about secret scanning, see "[About secret scanning](https://docs.github.com/code-security/secret-scanning/about-secret-scanning)." For information about the API to manage secret scanning alerts, see [the REST API documentation](https://docs.github.com/rest/secret-scanning). + * + * For activity relating to secret scanning alert locations, see the `secret_scanning_alert_location` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level access for the secret scanning alerts permission. + * @description A previously closed secret scanning alert was reopened. + */ + post: operations["secret-scanning-alert/reopened"]; + }; + "secret-scanning-alert-resolved": { + /** + * This event occurs when there is activity relating to a secret scanning alert. + * + * For more information about secret scanning, see "[About secret scanning](https://docs.github.com/code-security/secret-scanning/about-secret-scanning)." For information about the API to manage secret scanning alerts, see [the REST API documentation](https://docs.github.com/rest/secret-scanning). + * + * For activity relating to secret scanning alert locations, see the `secret_scanning_alert_location` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level access for the secret scanning alerts permission. + * @description A secret scanning alert was closed. + */ + post: operations["secret-scanning-alert/resolved"]; + }; + "secret-scanning-alert-revoked": { + /** + * This event occurs when there is activity relating to a secret scanning alert. + * + * For more information about secret scanning, see "[About secret scanning](https://docs.github.com/code-security/secret-scanning/about-secret-scanning)." For information about the API to manage secret scanning alerts, see [the REST API documentation](https://docs.github.com/rest/secret-scanning). + * + * For activity relating to secret scanning alert locations, see the `secret_scanning_alert_location` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level access for the secret scanning alerts permission. + * @description A secret scanning alert was marked as revoked. + */ + post: operations["secret-scanning-alert/revoked"]; + }; + "security-advisory-performed": { + /** + * This event occurs when there is activity relating to a security advisory that was reviewed by GitHub. A GitHub-reviewed security advisory provides information about security-related vulnerabilities in software on GitHub. + * + * For more information about security advisories, see "[About GitHub Security Advisories for repositories](https://docs.github.com/code-security/repository-security-advisories/about-github-security-advisories-for-repositories)." For information about the API to manage security advisories, see "[SecurityAdvisory](https://docs.github.com/graphql/reference/objects#securityadvisory)" in the GraphQL documentation. + * + * GitHub Dependabot alerts are also powered by the security advisory dataset. For more information, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." + * @description A security advisory was published to the GitHub community, the metadata or description of a security advisory was changed, or the security advisory was withdrawn. + */ + post: operations["security-advisory/performed"]; + }; + "security-advisory-published": { + /** + * This event occurs when there is activity relating to a security advisory that was reviewed by GitHub. A GitHub-reviewed security advisory provides information about security-related vulnerabilities in software on GitHub. + * + * For more information about security advisories, see "[About GitHub Security Advisories for repositories](https://docs.github.com/code-security/repository-security-advisories/about-github-security-advisories-for-repositories)." For information about the API to manage security advisories, see "[SecurityAdvisory](https://docs.github.com/graphql/reference/objects#securityadvisory)" in the GraphQL documentation. + * + * GitHub Dependabot alerts are also powered by the security advisory dataset. For more information, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." + * @description A security advisory was published to the GitHub community. + */ + post: operations["security-advisory/published"]; + }; + "security-advisory-updated": { + /** + * This event occurs when there is activity relating to a security advisory that was reviewed by GitHub. A GitHub-reviewed security advisory provides information about security-related vulnerabilities in software on GitHub. + * + * For more information about security advisories, see "[About GitHub Security Advisories for repositories](https://docs.github.com/code-security/repository-security-advisories/about-github-security-advisories-for-repositories)." For information about the API to manage security advisories, see "[SecurityAdvisory](https://docs.github.com/graphql/reference/objects#securityadvisory)" in the GraphQL documentation. + * + * GitHub Dependabot alerts are also powered by the security advisory dataset. For more information, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." + * @description The metadata or description of a security advisory was changed, or the security advisory was withdrawn. + */ + post: operations["security-advisory/updated"]; + }; + "security-advisory-withdrawn": { + /** + * This event occurs when there is activity relating to a security advisory that was reviewed by GitHub. A GitHub-reviewed security advisory provides information about security-related vulnerabilities in software on GitHub. + * + * For more information about security advisories, see "[About GitHub Security Advisories for repositories](https://docs.github.com/code-security/repository-security-advisories/about-github-security-advisories-for-repositories)." For information about the API to manage security advisories, see "[SecurityAdvisory](https://docs.github.com/graphql/reference/objects#securityadvisory)" in the GraphQL documentation. + * + * GitHub Dependabot alerts are also powered by the security advisory dataset. For more information, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." + * @description A previously published security advisory was withdrawn. + */ + post: operations["security-advisory/withdrawn"]; + }; + "security-and-analysis": { + /** + * This event occurs when code security and analysis features are enabled or disabled for a repository. For more information, see "[GitHub security features](https://docs.github.com/code-security/getting-started/github-security-features)." + * + * To install this event on a GitHub App, the app must have at least read-level access for the "Administration" repository permission. + */ + post: operations["security-and-analysis"]; + }; + "sponsorship-cancelled": { + /** + * This event occurs when there is activity relating to a sponsorship listing. For more information, see "[About GitHub Sponsors](https://docs.github.com/sponsors/getting-started-with-github-sponsors/about-github-sponsors)." For information about the API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#sponsorship). + * + * You can only create a sponsorship webhook on GitHub.com. For more information, see "[Configuring webhooks for events in your sponsored account](https://docs.github.com/sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account)." + * @description A sponsorship was cancelled and the last billing cycle has ended. + * + * This event is only sent when a recurring (monthly) sponsorship is cancelled; it is not sent for one-time sponsorships. + */ + post: operations["sponsorship/cancelled"]; + }; + "sponsorship-created": { + /** + * This event occurs when there is activity relating to a sponsorship listing. For more information, see "[About GitHub Sponsors](https://docs.github.com/sponsors/getting-started-with-github-sponsors/about-github-sponsors)." For information about the API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#sponsorship). + * + * You can only create a sponsorship webhook on GitHub.com. For more information, see "[Configuring webhooks for events in your sponsored account](https://docs.github.com/sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account)." + * @description A sponsor created a sponsorship for a sponsored account. This event occurs once the payment is successfully processed. + */ + post: operations["sponsorship/created"]; + }; + "sponsorship-edited": { + /** + * This event occurs when there is activity relating to a sponsorship listing. For more information, see "[About GitHub Sponsors](https://docs.github.com/sponsors/getting-started-with-github-sponsors/about-github-sponsors)." For information about the API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#sponsorship). + * + * You can only create a sponsorship webhook on GitHub.com. For more information, see "[Configuring webhooks for events in your sponsored account](https://docs.github.com/sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account)." + * @description A monthly sponsor changed who can see their sponsorship. If you recognize your sponsors publicly, you may want to update your sponsor recognition to reflect the change when this event occurs. + */ + post: operations["sponsorship/edited"]; + }; + "sponsorship-pending-cancellation": { + /** + * This event occurs when there is activity relating to a sponsorship listing. For more information, see "[About GitHub Sponsors](https://docs.github.com/sponsors/getting-started-with-github-sponsors/about-github-sponsors)." For information about the API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#sponsorship). + * + * You can only create a sponsorship webhook on GitHub.com. For more information, see "[Configuring webhooks for events in your sponsored account](https://docs.github.com/sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account)." + * @description A sponsor scheduled a cancellation for their sponsorship. The cancellation will become effective on their next billing date. + * + * This event is only sent when a recurring (monthly) sponsorship is cancelled; it is not sent for one-time sponsorships. + */ + post: operations["sponsorship/pending-cancellation"]; + }; + "sponsorship-pending-tier-change": { + /** + * This event occurs when there is activity relating to a sponsorship listing. For more information, see "[About GitHub Sponsors](https://docs.github.com/sponsors/getting-started-with-github-sponsors/about-github-sponsors)." For information about the API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#sponsorship). + * + * You can only create a sponsorship webhook on GitHub.com. For more information, see "[Configuring webhooks for events in your sponsored account](https://docs.github.com/sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account)." + * @description A sponsor scheduled a downgrade to a lower sponsorship tier. The new tier will become effective on their next billing date. + */ + post: operations["sponsorship/pending-tier-change"]; + }; + "sponsorship-tier-changed": { + /** + * This event occurs when there is activity relating to a sponsorship listing. For more information, see "[About GitHub Sponsors](https://docs.github.com/sponsors/getting-started-with-github-sponsors/about-github-sponsors)." For information about the API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#sponsorship). + * + * You can only create a sponsorship webhook on GitHub.com. For more information, see "[Configuring webhooks for events in your sponsored account](https://docs.github.com/sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account)." + * @description A sponsor changed the tier of their sponsorship and the change has taken effect. If a sponsor upgraded their tier, the change took effect immediately. If a sponsor downgraded their tier, the change took effect at the beginning of the sponsor's next billing cycle. + */ + post: operations["sponsorship/tier-changed"]; + }; + "star-created": { + /** + * This event occurs when there is activity relating to repository stars. + * + * For more information about stars, see "[Saving repositories with stars](https://docs.github.com/get-started/exploring-projects-on-github/saving-repositories-with-stars)." For information about the APIs to manage stars, see "[StarredRepositoryConnection](https://docs.github.com/graphql/reference/objects#starredrepositoryconnection)" in the GraphQL documentation and "[Starring](https://docs.github.com/rest/activity/starring)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. + * @description Someone starred a repository. + */ + post: operations["star/created"]; + }; + "star-deleted": { + /** + * This event occurs when there is activity relating to repository stars. + * + * For more information about stars, see "[Saving repositories with stars](https://docs.github.com/get-started/exploring-projects-on-github/saving-repositories-with-stars)." For information about the APIs to manage stars, see "[StarredRepositoryConnection](https://docs.github.com/graphql/reference/objects#starredrepositoryconnection)" in the GraphQL documentation and "[Starring](https://docs.github.com/rest/activity/starring)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. + * @description Someone unstarred the repository. + */ + post: operations["star/deleted"]; + }; + "status": { + /** + * This event occurs when the status of a Git commit changes. For example, commits can be marked as `error`, `failure`, `pending`, or `success`. For more information, see "[About status checks](https://docs.github.com/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks)." For information about the commit status APIs, see "[Status](https://docs.github.com/graphql/reference/objects#status)" in the GraphQL API documentation or "[Statuses](https://docs.github.com/rest/reference/commits#commit-statuses)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Commit statuses" repository permission. + */ + post: operations["status"]; + }; + "team-add": { + /** Team add */ + post: operations["team-add"]; + }; + "team-added-to-repository": { + /** Team added to repository */ + post: operations["team/added-to-repository"]; + }; + "team-created": { + /** Team created */ + post: operations["team/created"]; + }; + "team-deleted": { + /** Team deleted */ + post: operations["team/deleted"]; + }; + "team-edited": { + /** Team edited */ + post: operations["team/edited"]; + }; + "team-removed-from-repository": { + /** Team removed from repository */ + post: operations["team/removed-from-repository"]; + }; + "user-created": { + /** + * This event occurs when there is activity relating to user accounts in an enterprise. + * @description A user account was added to the enterprise. + */ + post: operations["user/created"]; + }; + "watch-started": { + /** + * This event occurs when there is activity relating to watching, or subscribing to, a repository. + * + * For more information about watching, see "[Managing your subscriptions](https://docs.github.com/account-and-profile/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github/managing-your-subscriptions)." For information about the APIs to manage stars, see "[Watching](https://docs.github.com/rest/activity/watching)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. + * @description Someone started watching the repository. + */ + post: operations["watch/started"]; + }; + "workflow-dispatch": { + /** + * This event occurs when a GitHub Actions workflow is manually triggered. + * For more information, see "[Manually running a workflow](https://docs.github.com/actions/managing-workflow-runs/manually-running-a-workflow)." + * + * For activity relating to workflow runs, see the `workflow_run` event. + * + * To install this event on a GitHub App, the app must have at least read-level access for the "Contents" repository permission. + */ + post: operations["workflow-dispatch"]; + }; + "workflow-job-completed": { + /** + * This event occurs when there is activity relating to a job in a GitHub Actions workflow. + * + * For more information, see "[Using jobs in a workflow](https://docs.github.com/actions/using-jobs/using-jobs-in-a-workflow)." For information about the API to manage workflow jobs, see [the REST API documentation](https://docs.github.com/rest/actions/workflow-jobs). + * + * For activity relating to a workflow run instead of a job in a workflow run, see the `workflow_run` event. + * + * To install this event on a GitHub App, the app must have at least read-level access for the Actions metadata permission. + * @description A job in a workflow run finished. This event occurs when a job in a workflow is completed, regardless of whether the job was successful or unsuccessful. + */ + post: operations["workflow-job/completed"]; + }; + "workflow-job-in-progress": { + /** + * This event occurs when there is activity relating to a job in a GitHub Actions workflow. + * + * For more information, see "[Using jobs in a workflow](https://docs.github.com/actions/using-jobs/using-jobs-in-a-workflow)." For information about the API to manage workflow jobs, see [the REST API documentation](https://docs.github.com/rest/actions/workflow-jobs). + * + * For activity relating to a workflow run instead of a job in a workflow run, see the `workflow_run` event. + * + * To install this event on a GitHub App, the app must have at least read-level access for the Actions metadata permission. + * @description A job in a workflow run started processing on a runner. + */ + post: operations["workflow-job/in-progress"]; + }; + "workflow-job-queued": { + /** + * This event occurs when there is activity relating to a job in a GitHub Actions workflow. + * + * For more information, see "[Using jobs in a workflow](https://docs.github.com/actions/using-jobs/using-jobs-in-a-workflow)." For information about the API to manage workflow jobs, see [the REST API documentation](https://docs.github.com/rest/actions/workflow-jobs). + * + * For activity relating to a workflow run instead of a job in a workflow run, see the `workflow_run` event. + * + * To install this event on a GitHub App, the app must have at least read-level access for the Actions metadata permission. + * @description A job in a workflow run was created. + */ + post: operations["workflow-job/queued"]; + }; + "workflow-run-completed": { + /** + * This event occurs when there is activity relating to a run of a GitHub Actions workflow. + * + * For more information, see "[About workflows](https://docs.github.com/actions/using-workflows/about-workflows)." For information about the APIs to manage workflow runs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#workflowrun) and [the REST API documentation](https://docs.github.com/rest/actions/workflow-runs). + * + * For activity relating to job in a workflow run, see the `workflow_job` event. + * + * To install this event on a GitHub App, the app must have at least read-level access for the Actions or contents metadata permission. + * @description A workflow run finished. This event occurs when a workflow run is completed, regardless of whether the workflow was successful or unsuccessful. + */ + post: operations["workflow-run/completed"]; + }; + "workflow-run-in-progress": { + /** + * This event occurs when there is activity relating to a run of a GitHub Actions workflow. + * + * For more information, see "[About workflows](https://docs.github.com/actions/using-workflows/about-workflows)." For information about the APIs to manage workflow runs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#workflowrun) and [the REST API documentation](https://docs.github.com/rest/actions/workflow-runs). + * + * For activity relating to job in a workflow run, see the `workflow_job` event. + * + * To install this event on a GitHub App, the app must have at least read-level access for the Actions or contents metadata permission. + * @description A workflow run started processing on a runner. + */ + post: operations["workflow-run/in-progress"]; + }; + "workflow-run-requested": { + /** + * This event occurs when there is activity relating to a run of a GitHub Actions workflow. + * + * For more information, see "[About workflows](https://docs.github.com/actions/using-workflows/about-workflows)." For information about the APIs to manage workflow runs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#workflowrun) and [the REST API documentation](https://docs.github.com/rest/actions/workflow-runs). + * + * For activity relating to job in a workflow run, see the `workflow_job` event. + * + * To install this event on a GitHub App, the app must have at least read-level access for the Actions or contents metadata permission. + * @description A workflow run was triggered. + */ + post: operations["workflow-run/requested"]; + }; +} + +export interface components { + schemas: { + root: { + /** Format: uri-template */ + current_user_url: string; + /** Format: uri-template */ + current_user_authorizations_html_url: string; + /** Format: uri-template */ + authorizations_url: string; + /** Format: uri-template */ + code_search_url: string; + /** Format: uri-template */ + commit_search_url: string; + /** Format: uri-template */ + emails_url: string; + /** Format: uri-template */ + emojis_url: string; + /** Format: uri-template */ + events_url: string; + /** Format: uri-template */ + feeds_url: string; + /** Format: uri-template */ + followers_url: string; + /** Format: uri-template */ + following_url: string; + /** Format: uri-template */ + gists_url: string; + /** Format: uri-template */ + hub_url: string; + /** Format: uri-template */ + issue_search_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + label_search_url: string; + /** Format: uri-template */ + notifications_url: string; + /** Format: uri-template */ + organization_url: string; + /** Format: uri-template */ + organization_repositories_url: string; + /** Format: uri-template */ + organization_teams_url: string; + /** Format: uri-template */ + public_gists_url: string; + /** Format: uri-template */ + rate_limit_url: string; + /** Format: uri-template */ + repository_url: string; + /** Format: uri-template */ + repository_search_url: string; + /** Format: uri-template */ + current_user_repositories_url: string; + /** Format: uri-template */ + starred_url: string; + /** Format: uri-template */ + starred_gists_url: string; + /** Format: uri-template */ + topic_search_url?: string; + /** Format: uri-template */ + user_url: string; + /** Format: uri-template */ + user_organizations_url: string; + /** Format: uri-template */ + user_repositories_url: string; + /** Format: uri-template */ + user_search_url: string; }; /** - * Collaborator - * @description Collaborator + * Simple User + * @description A GitHub user. */ - collaborator: { + "simple-user": { + name?: OneOf<[string, null]>; + email?: OneOf<[string, null]>; login: string; id: number; - email?: OneOf<[string, null]>; - name?: OneOf<[string, null]>; node_id: string; /** Format: uri */ avatar_url: string; @@ -13011,3042 +10059,2234 @@ export interface components { received_events_url: string; type: string; site_admin: boolean; - permissions?: { - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - admin: boolean; - }; - role_name: string; + starred_at?: string; }; /** - * Repository Invitation - * @description Repository invitations let you manage who you collaborate with. + * GitHub app + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. */ - "repository-invitation": { - /** @description Unique identifier of the repository invitation. */ + integration: { + /** @description Unique identifier of the GitHub app */ id: number; - repository: components["schemas"]["minimal-repository"]; - invitee: null | components["schemas"]["simple-user"]; - inviter: null | components["schemas"]["simple-user"]; - /** - * @description The permission associated with the invitation. - * @enum {string} - */ - permissions: "read" | "write" | "admin" | "triage" | "maintain"; - /** Format: date-time */ - created_at: string; - /** @description Whether or not the invitation has expired */ - expired?: boolean; - /** @description URL for the repository invitation */ - url: string; - html_url: string; + /** @description The slug name of the GitHub app */ + slug?: string; node_id: string; - }; - /** - * Repository Collaborator Permission - * @description Repository Collaborator Permission - */ - "repository-collaborator-permission": { - permission: string; - role_name: string; - user: null | components["schemas"]["collaborator"]; - }; - /** - * Commit Comment - * @description Commit Comment - */ - "commit-comment": { + owner: null | components["schemas"]["simple-user"]; + /** @description The name of the GitHub app */ + name: string; + description: OneOf<[string, null]>; /** Format: uri */ - html_url: string; + external_url: string; /** Format: uri */ - url: string; - id: number; - node_id: string; - body: string; - path: OneOf<[string, null]>; - position: OneOf<[number, null]>; - line: OneOf<[number, null]>; - commit_id: string; - user: null | components["schemas"]["simple-user"]; + html_url: string; /** Format: date-time */ created_at: string; /** Format: date-time */ updated_at: string; - author_association: components["schemas"]["author-association"]; - reactions?: components["schemas"]["reaction-rollup"]; - }; - /** - * Branch Short - * @description Branch Short - */ - "branch-short": { - name: string; - commit: { - sha: string; - url: string; + /** + * @description The set of permissions for the GitHub app + * @example { + * "issues": "read", + * "deployments": "write" + * } + */ + permissions: { + issues?: string; + checks?: string; + metadata?: string; + contents?: string; + deployments?: string; + [key: string]: string | undefined; }; - protected: boolean; + /** @description The list of events for the GitHub app */ + events: (string)[]; + /** @description The number of installations associated with the GitHub app */ + installations_count?: number; + client_id?: string; + client_secret?: string; + webhook_secret?: OneOf<[string, null]>; + pem?: string; }; /** - * Link - * @description Hypermedia Link + * Basic Error + * @description Basic Error */ - link: { - href: string; + "basic-error": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; }; /** - * Auto merge - * @description The status of auto merging a pull request. + * Validation Error Simple + * @description Validation Error Simple */ - "auto-merge": OneOf<[{ - enabled_by: components["schemas"]["simple-user"]; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - /** @description Title for the merge commit message. */ - commit_title: string; - /** @description Commit message for the merge commit. */ - commit_message: string; - }, null]>; + "validation-error-simple": { + message: string; + documentation_url: string; + errors?: (string)[]; + }; /** - * Pull Request Simple - * @description Pull Request Simple + * Format: uri + * @description The URL to which the payloads will be delivered. */ - "pull-request-simple": { - /** Format: uri */ - url: string; - id: number; - node_id: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - diff_url: string; - /** Format: uri */ - patch_url: string; - /** Format: uri */ - issue_url: string; - /** Format: uri */ - commits_url: string; - /** Format: uri */ - review_comments_url: string; - review_comment_url: string; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - statuses_url: string; - number: number; - state: string; - locked: boolean; - title: string; - user: null | components["schemas"]["simple-user"]; - body: OneOf<[string, null]>; - labels: ({ - /** Format: int64 */ - id: number; - node_id: string; - url: string; - name: string; - description: string; - color: string; - default: boolean; - })[]; - milestone: null | components["schemas"]["milestone"]; - active_lock_reason?: OneOf<[string, null]>; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - /** Format: date-time */ - merged_at: OneOf<[string, null]>; - merge_commit_sha: OneOf<[string, null]>; - assignee: null | components["schemas"]["simple-user"]; - assignees?: OneOf<[(components["schemas"]["simple-user"])[], null]>; - requested_reviewers?: OneOf<[(components["schemas"]["simple-user"])[], null]>; - requested_teams?: OneOf<[(components["schemas"]["team"])[], null]>; - head: { - label: string; - ref: string; - repo: components["schemas"]["repository"]; - sha: string; - user: null | components["schemas"]["simple-user"]; - }; - base: { - label: string; - ref: string; - repo: components["schemas"]["repository"]; - sha: string; - user: null | components["schemas"]["simple-user"]; - }; - _links: { - comments: components["schemas"]["link"]; - commits: components["schemas"]["link"]; - statuses: components["schemas"]["link"]; - html: components["schemas"]["link"]; - issue: components["schemas"]["link"]; - review_comments: components["schemas"]["link"]; - review_comment: components["schemas"]["link"]; - self: components["schemas"]["link"]; - }; - author_association: components["schemas"]["author-association"]; - auto_merge: components["schemas"]["auto-merge"]; - /** @description Indicates whether or not the pull request is a draft. */ - draft?: boolean; - }; - /** Simple Commit Status */ - "simple-commit-status": { - description: OneOf<[string, null]>; - id: number; - node_id: string; - state: string; - context: string; - /** Format: uri */ - target_url: OneOf<[string, null]>; - required?: OneOf<[boolean, null]>; - /** Format: uri */ - avatar_url: OneOf<[string, null]>; - /** Format: uri */ - url: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - }; + "webhook-config-url": string; + /** @description The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`. */ + "webhook-config-content-type": string; + /** @description If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/webhooks/event-payloads/#delivery-headers). */ + "webhook-config-secret": string; + "webhook-config-insecure-ssl": string | number; /** - * Combined Commit Status - * @description Combined Commit Status + * Webhook Configuration + * @description Configuration object of the webhook */ - "combined-commit-status": { - state: string; - statuses: (components["schemas"]["simple-commit-status"])[]; - sha: string; - total_count: number; - repository: components["schemas"]["minimal-repository"]; - /** Format: uri */ - commit_url: string; - /** Format: uri */ - url: string; + "webhook-config": { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; }; /** - * Status - * @description The status of a commit. + * Simple webhook delivery + * @description Delivery made by a webhook, without request and response information. */ - status: { - url: string; - avatar_url: OneOf<[string, null]>; + "hook-delivery-item": { + /** @description Unique identifier of the webhook delivery. */ id: number; - node_id: string; - state: string; - description: OneOf<[string, null]>; - target_url: OneOf<[string, null]>; - context: string; - created_at: string; - updated_at: string; - creator: null | components["schemas"]["simple-user"]; - }; - /** Community Health File */ - "community-health-file": { - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; + /** @description Unique identifier for the event (shared with all deliveries for all webhooks that subscribe to this event). */ + guid: string; + /** + * Format: date-time + * @description Time when the webhook delivery occurred. + */ + delivered_at: string; + /** @description Whether the webhook delivery is a redelivery. */ + redelivery: boolean; + /** @description Time spent delivering. */ + duration: number; + /** @description Describes the response returned after attempting the delivery. */ + status: string; + /** @description Status code received when delivery was made. */ + status_code: number; + /** @description The event that triggered the delivery. */ + event: string; + /** @description The type of activity for the event that triggered the delivery. */ + action: OneOf<[string, null]>; + /** @description The id of the GitHub App installation associated with this event. */ + installation_id: OneOf<[number, null]>; + /** @description The id of the repository associated with this event. */ + repository_id: OneOf<[number, null]>; }; /** - * Community Profile - * @description Community Profile + * Scim Error + * @description Scim Error */ - "community-profile": { - health_percentage: number; - description: OneOf<[string, null]>; - documentation: OneOf<[string, null]>; - files: { - code_of_conduct: null | components["schemas"]["code-of-conduct-simple"]; - code_of_conduct_file: null | components["schemas"]["community-health-file"]; - license: null | components["schemas"]["license-simple"]; - contributing: null | components["schemas"]["community-health-file"]; - readme: null | components["schemas"]["community-health-file"]; - issue_template: null | components["schemas"]["community-health-file"]; - pull_request_template: null | components["schemas"]["community-health-file"]; - }; - /** Format: date-time */ - updated_at: OneOf<[string, null]>; - content_reports_enabled?: boolean; + "scim-error": { + message?: OneOf<[string, null]>; + documentation_url?: OneOf<[string, null]>; + detail?: OneOf<[string, null]>; + status?: number; + scimType?: OneOf<[string, null]>; + schemas?: (string)[]; }; /** - * Commit Comparison - * @description Commit Comparison + * Validation Error + * @description Validation Error */ - "commit-comparison": { - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - permalink_url: string; - /** Format: uri */ - diff_url: string; - /** Format: uri */ - patch_url: string; - base_commit: components["schemas"]["commit"]; - merge_base_commit: components["schemas"]["commit"]; - /** @enum {string} */ - status: "diverged" | "ahead" | "behind" | "identical"; - ahead_by: number; - behind_by: number; - total_commits: number; - commits: (components["schemas"]["commit"])[]; - files?: (components["schemas"]["diff-entry"])[]; + "validation-error": { + message: string; + documentation_url: string; + errors?: ({ + resource?: string; + field?: string; + message?: string; + code: string; + index?: number; + value?: OneOf<[string, null]> | OneOf<[number, null]> | OneOf<[(string)[], null]>; + })[]; }; /** - * Content Tree - * @description Content Tree + * Webhook delivery + * @description Delivery made by a webhook. */ - "content-tree": { - type: string; - size: number; - name: string; - path: string; - sha: string; - /** Format: uri */ - url: string; - /** Format: uri */ - git_url: OneOf<[string, null]>; - /** Format: uri */ - html_url: OneOf<[string, null]>; - /** Format: uri */ - download_url: OneOf<[string, null]>; - entries?: ({ - type: string; - size: number; - name: string; - path: string; - content?: string; - sha: string; - /** Format: uri */ - url: string; - /** Format: uri */ - git_url: OneOf<[string, null]>; - /** Format: uri */ - html_url: OneOf<[string, null]>; - /** Format: uri */ - download_url: OneOf<[string, null]>; - _links: { - /** Format: uri */ - git: OneOf<[string, null]>; - /** Format: uri */ - html: OneOf<[string, null]>; - /** Format: uri */ - self: string; - }; - })[]; - _links: { - /** Format: uri */ - git: OneOf<[string, null]>; - /** Format: uri */ - html: OneOf<[string, null]>; - /** Format: uri */ - self: string; + "hook-delivery": { + /** @description Unique identifier of the delivery. */ + id: number; + /** @description Unique identifier for the event (shared with all deliveries for all webhooks that subscribe to this event). */ + guid: string; + /** + * Format: date-time + * @description Time when the delivery was delivered. + */ + delivered_at: string; + /** @description Whether the delivery is a redelivery. */ + redelivery: boolean; + /** @description Time spent delivering. */ + duration: number; + /** @description Description of the status of the attempted delivery */ + status: string; + /** @description Status code received when delivery was made. */ + status_code: number; + /** @description The event that triggered the delivery. */ + event: string; + /** @description The type of activity for the event that triggered the delivery. */ + action: OneOf<[string, null]>; + /** @description The id of the GitHub App installation associated with this event. */ + installation_id: OneOf<[number, null]>; + /** @description The id of the repository associated with this event. */ + repository_id: OneOf<[number, null]>; + /** @description The URL target of the delivery. */ + url?: string; + request: { + /** @description The request headers sent with the webhook delivery. */ + headers: OneOf<[{ + [key: string]: unknown | undefined; + }, null]>; + /** @description The webhook payload. */ + payload: OneOf<[{ + [key: string]: unknown | undefined; + }, null]>; + }; + response: { + /** @description The response headers received when the delivery was made. */ + headers: OneOf<[{ + [key: string]: unknown | undefined; + }, null]>; + /** @description The response payload received. */ + payload: OneOf<[string, null]>; }; }; /** - * Content Directory - * @description A list of directory items - */ - "content-directory": ({ - /** @enum {string} */ - type: "dir" | "file" | "submodule" | "symlink"; - size: number; - name: string; - path: string; - content?: string; - sha: string; - /** Format: uri */ - url: string; - /** Format: uri */ - git_url: OneOf<[string, null]>; - /** Format: uri */ - html_url: OneOf<[string, null]>; - /** Format: uri */ - download_url: OneOf<[string, null]>; - _links: { - /** Format: uri */ - git: OneOf<[string, null]>; - /** Format: uri */ - html: OneOf<[string, null]>; - /** Format: uri */ - self: string; - }; - })[]; - /** - * Content File - * @description Content File + * Enterprise + * @description An enterprise on GitHub. */ - "content-file": { - /** @enum {string} */ - type: "file"; - encoding: string; - size: number; - name: string; - path: string; - content: string; - sha: string; - /** Format: uri */ - url: string; - /** Format: uri */ - git_url: OneOf<[string, null]>; + enterprise: { + /** @description A short description of the enterprise. */ + description?: OneOf<[string, null]>; /** Format: uri */ - html_url: OneOf<[string, null]>; + html_url: string; + /** + * Format: uri + * @description The enterprise's website URL. + */ + website_url?: OneOf<[string, null]>; + /** @description Unique identifier of the enterprise */ + id: number; + node_id: string; + /** @description The name of the enterprise. */ + name: string; + /** @description The slug url identifier for the enterprise. */ + slug: string; + /** Format: date-time */ + created_at: OneOf<[string, null]>; + /** Format: date-time */ + updated_at: OneOf<[string, null]>; /** Format: uri */ - download_url: OneOf<[string, null]>; - _links: { - /** Format: uri */ - git: OneOf<[string, null]>; - /** Format: uri */ - html: OneOf<[string, null]>; - /** Format: uri */ - self: string; - }; - target?: string; - submodule_git_url?: string; + avatar_url: string; }; /** - * Symlink Content - * @description An object describing a symlink + * App Permissions + * @description The permissions granted to the user-to-server access token. + * @example { + * "contents": "read", + * "issues": "read", + * "deployments": "write", + * "single_file": "read" + * } */ - "content-symlink": { - /** @enum {string} */ - type: "symlink"; - target: string; - size: number; - name: string; - path: string; - sha: string; - /** Format: uri */ - url: string; - /** Format: uri */ - git_url: OneOf<[string, null]>; - /** Format: uri */ - html_url: OneOf<[string, null]>; - /** Format: uri */ - download_url: OneOf<[string, null]>; - _links: { - /** Format: uri */ - git: OneOf<[string, null]>; - /** Format: uri */ - html: OneOf<[string, null]>; - /** Format: uri */ - self: string; - }; - }; - /** - * Submodule Content - * @description An object describing a submodule - */ - "content-submodule": { - /** @enum {string} */ - type: "submodule"; - /** Format: uri */ - submodule_git_url: string; - size: number; - name: string; - path: string; - sha: string; - /** Format: uri */ - url: string; - /** Format: uri */ - git_url: OneOf<[string, null]>; - /** Format: uri */ - html_url: OneOf<[string, null]>; - /** Format: uri */ - download_url: OneOf<[string, null]>; - _links: { - /** Format: uri */ - git: OneOf<[string, null]>; - /** Format: uri */ - html: OneOf<[string, null]>; - /** Format: uri */ - self: string; - }; - }; - /** - * File Commit - * @description File Commit - */ - "file-commit": { - content: OneOf<[{ - name?: string; - path?: string; - sha?: string; - size?: number; - url?: string; - html_url?: string; - git_url?: string; - download_url?: string; - type?: string; - _links?: { - self?: string; - git?: string; - html?: string; - }; - }, null]>; - commit: { - sha?: string; - node_id?: string; - url?: string; - html_url?: string; - author?: { - date?: string; - name?: string; - email?: string; - }; - committer?: { - date?: string; - name?: string; - email?: string; - }; - message?: string; - tree?: { - url?: string; - sha?: string; - }; - parents?: ({ - url?: string; - html_url?: string; - sha?: string; - })[]; - verification?: { - verified?: boolean; - reason?: string; - signature?: OneOf<[string, null]>; - payload?: OneOf<[string, null]>; - }; - }; - }; - /** - * Contributor - * @description Contributor - */ - contributor: { - login?: string; - id?: number; - node_id?: string; - /** Format: uri */ - avatar_url?: string; - gravatar_id?: OneOf<[string, null]>; - /** Format: uri */ - url?: string; - /** Format: uri */ - html_url?: string; - /** Format: uri */ - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - repos_url?: string; - events_url?: string; - /** Format: uri */ - received_events_url?: string; - type: string; - site_admin?: boolean; - contributions: number; - email?: string; - name?: string; - }; - /** @description A Dependabot alert. */ - "dependabot-alert": { - number: components["schemas"]["alert-number"]; + "app-permissions": { /** - * @description The state of the Dependabot alert. + * @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. * @enum {string} */ - state: "dismissed" | "fixed" | "open"; - /** @description Details for the vulnerable dependency. */ - dependency: { - readonly package?: components["schemas"]["dependabot-alert-package"]; - /** @description The full path to the dependency manifest file, relative to the root of the repository. */ - readonly manifest_path?: string; - /** - * @description The execution scope of the vulnerable dependency. - * @enum {string|null} - */ - readonly scope?: "development" | "runtime" | "" | null; - }; - security_advisory: components["schemas"]["dependabot-alert-security-advisory"]; - security_vulnerability: components["schemas"]["dependabot-alert-security-vulnerability"]; - url: components["schemas"]["alert-url"]; - html_url: components["schemas"]["alert-html-url"]; - created_at: components["schemas"]["alert-created-at"]; - updated_at: components["schemas"]["alert-updated-at"]; - dismissed_at: components["schemas"]["alert-dismissed-at"]; - dismissed_by: null | components["schemas"]["simple-user"]; + actions?: "read" | "write"; /** - * @description The reason that the alert was dismissed. - * @enum {string|null} + * @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + * @enum {string} */ - dismissed_reason: "fix_started" | "inaccurate" | "no_bandwidth" | "not_used" | "tolerable_risk" | "" | null; - /** @description An optional comment associated with the alert's dismissal. */ - dismissed_comment: OneOf<[string, null]>; - fixed_at: components["schemas"]["alert-fixed-at"]; - }; - /** - * Dependabot Secret - * @description Set secrets for Dependabot. - */ - "dependabot-secret": { - /** @description The name of the secret. */ - name: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - }; - /** - * Dependency Graph Diff - * @description A diff of the dependencies between two commits. - */ - "dependency-graph-diff": ({ - /** @enum {string} */ - change_type: "added" | "removed"; - manifest: string; - ecosystem: string; - name: string; - version: string; - package_url: OneOf<[string, null]>; - license: OneOf<[string, null]>; - source_repository_url: OneOf<[string, null]>; - vulnerabilities: ({ - severity: string; - advisory_ghsa_id: string; - advisory_summary: string; - advisory_url: string; - })[]; - /** - * @description Where the dependency is utilized. `development` means that the dependency is only utilized in the development environment. `runtime` means that the dependency is utilized at runtime and in the development environment. - * @enum {string} - */ - scope: "unknown" | "runtime" | "development"; - })[]; - /** - * metadata - * @description User-defined metadata to store domain-specific information limited to 8 keys with scalar values. - */ - metadata: { - [key: string]: OneOf<[null, string, number, boolean]> | undefined; - }; - dependency: { - /** @description Package-url (PURL) of dependency. See https://github.com/package-url/purl-spec for more details. */ - package_url?: string; - metadata?: components["schemas"]["metadata"]; + administration?: "read" | "write"; /** - * @description A notation of whether a dependency is requested directly by this manifest or is a dependency of another dependency. + * @description The level of permission to grant the access token for checks on code. * @enum {string} */ - relationship?: "direct" | "indirect"; + checks?: "read" | "write"; /** - * @description A notation of whether the dependency is required for the primary build artifact (runtime) or is only used for development. Future versions of this specification may allow for more granular scopes. + * @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. * @enum {string} */ - scope?: "runtime" | "development"; - /** @description Array of package-url (PURLs) of direct child dependencies. */ - dependencies?: (string)[]; - }; - manifest: { - /** @description The name of the manifest. */ - name: string; - file?: { - /** @description The path of the manifest file relative to the root of the Git repository. */ - source_location?: string; - }; - metadata?: components["schemas"]["metadata"]; - /** @description A collection of resolved package dependencies. */ - resolved?: { - [key: string]: components["schemas"]["dependency"] | undefined; - }; - }; - /** - * snapshot - * @description Create a new snapshot of a repository's dependencies. - */ - snapshot: { - /** @description The version of the repository snapshot submission. */ - version: number; - job: { - /** @description The external ID of the job. */ - id: string; - /** @description Correlator provides a key that is used to group snapshots submitted over time. Only the "latest" submitted snapshot for a given combination of `job.correlator` and `detector.name` will be considered when calculating a repository's current dependencies. Correlator should be as unique as it takes to distinguish all detection runs for a given "wave" of CI workflow you run. If you're using GitHub Actions, a good default value for this could be the environment variables GITHUB_WORKFLOW and GITHUB_JOB concatenated together. If you're using a build matrix, then you'll also need to add additional key(s) to distinguish between each submission inside a matrix variation. */ - correlator: string; - /** @description The url for the job. */ - html_url?: string; - }; - /** @description The commit SHA associated with this dependency snapshot. */ - sha: string; - /** @description The repository branch that triggered this snapshot. */ - ref: string; - /** @description A description of the detector used. */ - detector: { - /** @description The name of the detector used. */ - name: string; - /** @description The version of the detector used. */ - version: string; - /** @description The url of the detector used. */ - url: string; - }; - metadata?: components["schemas"]["metadata"]; - /** @description A collection of package manifests, which are a collection of related dependencies declared in a file or representing a logical group of dependencies. */ - manifests?: { - [key: string]: components["schemas"]["manifest"] | undefined; - }; + contents?: "read" | "write"; /** - * Format: date-time - * @description The time at which the snapshot was scanned. + * @description The level of permission to grant the access token for deployments and deployment statuses. + * @enum {string} */ - scanned: string; - }; - /** - * Deployment Status - * @description The status of a deployment. - */ - "deployment-status": { - /** Format: uri */ - url: string; - id: number; - node_id: string; + deployments?: "read" | "write"; /** - * @description The state of the status. + * @description The level of permission to grant the access token for managing repository environments. * @enum {string} */ - state: "error" | "failure" | "inactive" | "pending" | "success" | "queued" | "in_progress"; - creator: null | components["schemas"]["simple-user"]; + environments?: "read" | "write"; /** - * @description A short description of the status. - * @default + * @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + * @enum {string} */ - description: string; + issues?: "read" | "write"; /** - * @description The environment of the deployment that the status is for. - * @default + * @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + * @enum {string} */ - environment?: string; + metadata?: "read" | "write"; /** - * Format: uri - * @description Deprecated: the URL to associate with this status. - * @default + * @description The level of permission to grant the access token for packages published to GitHub Packages. + * @enum {string} */ - target_url: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - deployment_url: string; - /** Format: uri */ - repository_url: string; + packages?: "read" | "write"; /** - * Format: uri - * @description The URL for accessing your environment. - * @default + * @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + * @enum {string} */ - environment_url?: string; + pages?: "read" | "write"; /** - * Format: uri - * @description The URL to associate with this status. - * @default + * @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + * @enum {string} */ - log_url?: string; - performed_via_github_app?: null | components["schemas"]["integration"]; - }; - /** @description The amount of time to delay a job after the job is initially triggered. The time (in minutes) must be an integer between 0 and 43,200 (30 days). */ - "wait-timer": number; - /** @description The type of deployment branch policy for this environment. To allow all branches to deploy, set to `null`. */ - "deployment-branch-policy-settings": OneOf<[{ - /** @description Whether only branches with branch protection rules can deploy to this environment. If `protected_branches` is `true`, `custom_branch_policies` must be `false`; if `protected_branches` is `false`, `custom_branch_policies` must be `true`. */ - protected_branches: boolean; - /** @description Whether only branches that match the specified name patterns can deploy to this environment. If `custom_branch_policies` is `true`, `protected_branches` must be `false`; if `custom_branch_policies` is `false`, `protected_branches` must be `true`. */ - custom_branch_policies: boolean; - }, null]>; - /** - * Environment - * @description Details of a deployment environment - */ - environment: { - /** @description The id of the environment. */ - id: number; - node_id: string; - /** @description The name of the environment. */ - name: string; - url: string; - html_url: string; + pull_requests?: "read" | "write"; /** - * Format: date-time - * @description The time that the environment was created, in ISO 8601 format. + * @description The level of permission to grant the access token to view and manage announcement banners for a repository. + * @enum {string} */ - created_at: string; + repository_announcement_banners?: "read" | "write"; /** - * Format: date-time - * @description The time that the environment was last updated, in ISO 8601 format. + * @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + * @enum {string} */ - updated_at: string; - protection_rules?: ({ - id: number; - node_id: string; - type: string; - wait_timer?: components["schemas"]["wait-timer"]; - } | ({ - id: number; - node_id: string; - type: string; - /** @description The people or teams that may approve jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. */ - reviewers?: ({ - type?: components["schemas"]["deployment-reviewer-type"]; - reviewer?: components["schemas"]["simple-user"] | components["schemas"]["team"]; - })[]; - }) | { - id: number; - node_id: string; - type: string; - })[]; - deployment_branch_policy?: components["schemas"]["deployment-branch-policy-settings"]; - }; - /** - * Deployment branch policy - * @description Details of a deployment branch policy. - */ - "deployment-branch-policy": { - /** @description The unique identifier of the branch policy. */ - id?: number; - node_id?: string; - /** @description The name pattern that branches must match in order to deploy to the environment. */ - name?: string; - }; - /** Deployment branch policy name pattern */ - "deployment-branch-policy-name-pattern": { + repository_hooks?: "read" | "write"; /** - * @description The name pattern that branches must match in order to deploy to the environment. - * - * Wildcard characters will not match `/`. For example, to match branches that begin with `release/` and contain an additional single slash, use `release/*\/*`. - * For more information about pattern matching syntax, see the [Ruby File.fnmatch documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch). + * @description The level of permission to grant the access token to manage repository projects, columns, and cards. + * @enum {string} */ - name: string; + repository_projects?: "read" | "write" | "admin"; + /** + * @description The level of permission to grant the access token to view and manage secret scanning alerts. + * @enum {string} + */ + secret_scanning_alerts?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage repository secrets. + * @enum {string} + */ + secrets?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + * @enum {string} + */ + security_events?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage just a single file. + * @enum {string} + */ + single_file?: "read" | "write"; + /** + * @description The level of permission to grant the access token for commit statuses. + * @enum {string} + */ + statuses?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage Dependabot alerts. + * @enum {string} + */ + vulnerability_alerts?: "read" | "write"; + /** + * @description The level of permission to grant the access token to update GitHub Actions workflow files. + * @enum {string} + */ + workflows?: "write"; + /** + * @description The level of permission to grant the access token for organization teams and members. + * @enum {string} + */ + members?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage access to an organization. + * @enum {string} + */ + organization_administration?: "read" | "write"; + /** + * @description The level of permission to grant the access token for custom roles management. This property is in beta and is subject to change. + * @enum {string} + */ + organization_custom_roles?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage announcement banners for an organization. + * @enum {string} + */ + organization_announcement_banners?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + * @enum {string} + */ + organization_hooks?: "read" | "write"; + /** + * @description The level of permission to grant the access token for viewing an organization's plan. + * @enum {string} + */ + organization_plan?: "read"; + /** + * @description The level of permission to grant the access token to manage organization projects and projects beta (where available). + * @enum {string} + */ + organization_projects?: "read" | "write" | "admin"; + /** + * @description The level of permission to grant the access token for organization packages published to GitHub Packages. + * @enum {string} + */ + organization_packages?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage organization secrets. + * @enum {string} + */ + organization_secrets?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + * @enum {string} + */ + organization_self_hosted_runners?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage users blocked by the organization. + * @enum {string} + */ + organization_user_blocking?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage team discussions and related comments. + * @enum {string} + */ + team_discussions?: "read" | "write"; }; /** - * Short Blob - * @description Short Blob + * Installation + * @description Installation */ - "short-blob": { - url: string; - sha: string; - }; - /** - * Blob - * @description Blob - */ - blob: { - content: string; - encoding: string; + installation: { + /** @description The ID of the installation. */ + id: number; + account: OneOf<[null, components["schemas"]["simple-user"] | components["schemas"]["enterprise"]]>; + /** + * @description Describe whether all repositories have been selected or there's a selection involved + * @enum {string} + */ + repository_selection: "all" | "selected"; /** Format: uri */ - url: string; - sha: string; - size: OneOf<[number, null]>; - node_id: string; - highlighted_content?: string; - }; - /** - * Git Commit - * @description Low-level Git commit operations within a repository - */ - "git-commit": { - /** @description SHA for the commit */ - sha: string; - node_id: string; + access_tokens_url: string; /** Format: uri */ - url: string; - /** @description Identifying information for the git-user */ - author: { - /** - * Format: date-time - * @description Timestamp of the commit - */ - date: string; - /** @description Git email address of the user */ - email: string; - /** @description Name of the git user */ - name: string; - }; - /** @description Identifying information for the git-user */ - committer: { - /** - * Format: date-time - * @description Timestamp of the commit - */ - date: string; - /** @description Git email address of the user */ - email: string; - /** @description Name of the git user */ - name: string; - }; - /** @description Message describing the purpose of the commit */ - message: string; - tree: { - /** @description SHA for the commit */ - sha: string; - /** Format: uri */ - url: string; - }; - parents: ({ - /** @description SHA for the commit */ - sha: string; - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - })[]; - verification: { - verified: boolean; - reason: string; - signature: OneOf<[string, null]>; - payload: OneOf<[string, null]>; - }; + repositories_url: string; /** Format: uri */ html_url: string; + app_id: number; + /** @description The ID of the user or organization this token is being scoped to. */ + target_id: number; + target_type: string; + permissions: components["schemas"]["app-permissions"]; + events: (string)[]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + single_file_name: OneOf<[string, null]>; + has_multiple_single_files?: boolean; + single_file_paths?: (string)[]; + app_slug: string; + suspended_by: null | components["schemas"]["simple-user"]; + /** Format: date-time */ + suspended_at: OneOf<[string, null]>; + contact_email?: OneOf<[string, null]>; }; /** - * Git Reference - * @description Git references within a repository + * License Simple + * @description License Simple */ - "git-ref": { - ref: string; - node_id: string; + "license-simple": { + key: string; + name: string; /** Format: uri */ - url: string; - object: { - type: string; - /** @description SHA for the reference */ - sha: string; - /** Format: uri */ - url: string; - }; - }; - /** - * Git Tag - * @description Metadata for a Git tag - */ - "git-tag": { + url: OneOf<[string, null]>; + spdx_id: OneOf<[string, null]>; node_id: string; - /** @description Name of the tag */ - tag: string; - sha: string; - /** - * Format: uri - * @description URL for the tag - */ - url: string; - /** @description Message describing the purpose of the tag */ - message: string; - tagger: { - date: string; - email: string; - name: string; - }; - object: { - sha: string; - type: string; - /** Format: uri */ - url: string; - }; - verification?: components["schemas"]["verification"]; - }; - /** - * Git Tree - * @description The hierarchy between files in a Git repository. - */ - "git-tree": { - sha: string; /** Format: uri */ - url: string; - truncated: boolean; - /** @description Objects specifying a tree structure */ - tree: ({ - path?: string; - mode?: string; - type?: string; - sha?: string; - size?: number; - url?: string; - })[]; - }; - /** Hook Response */ - "hook-response": { - code: OneOf<[number, null]>; - status: OneOf<[string, null]>; - message: OneOf<[string, null]>; + html_url?: string; }; /** - * Webhook - * @description Webhooks for repositories. + * Repository + * @description A repository on GitHub. */ - hook: { - type: string; - /** @description Unique identifier of the webhook. */ + repository: { + /** @description Unique identifier of the repository */ id: number; - /** @description The name of a valid service, use 'web' for a webhook. */ + node_id: string; + /** @description The name of the repository. */ name: string; - /** @description Determines whether the hook is actually triggered on pushes. */ - active: boolean; - /** @description Determines what events the hook is triggered for. Default: ['push']. */ - events: (string)[]; - config: { - email?: string; - password?: string; - room?: string; - subdomain?: string; - url?: components["schemas"]["webhook-config-url"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - digest?: string; - secret?: components["schemas"]["webhook-config-secret"]; - token?: string; + full_name: string; + license: null | components["schemas"]["license-simple"]; + organization?: null | components["schemas"]["simple-user"]; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; }; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - created_at: string; + owner: components["schemas"]["simple-user"]; + /** + * @description Whether the repository is private or public. + * @default false + */ + private: boolean; + /** Format: uri */ + html_url: string; + description: OneOf<[string, null]>; + fork: boolean; /** Format: uri */ url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; /** Format: uri */ - test_url: string; + contributors_url: string; /** Format: uri */ - ping_url: string; + deployments_url: string; /** Format: uri */ - deliveries_url?: string; - last_response: components["schemas"]["hook-response"]; - }; - /** - * Import - * @description A repository import from an external source. - */ - import: { - vcs: OneOf<[string, null]>; - use_lfs?: boolean; - /** @description The URL of the originating repository. */ - vcs_url: string; - svc_root?: string; - tfvc_project?: string; - /** @enum {string} */ - status: "auth" | "error" | "none" | "detecting" | "choose" | "auth_failed" | "importing" | "mapping" | "waiting_to_push" | "pushing" | "complete" | "setup" | "unknown" | "detection_found_multiple" | "detection_found_nothing" | "detection_needs_auth"; - status_text?: OneOf<[string, null]>; - failed_step?: OneOf<[string, null]>; - error_message?: OneOf<[string, null]>; - import_percent?: OneOf<[number, null]>; - commit_count?: OneOf<[number, null]>; - push_percent?: OneOf<[number, null]>; - has_large_files?: boolean; - large_files_size?: number; - large_files_count?: number; - project_choices?: ({ - vcs?: string; - tfvc_project?: string; - human_name?: string; - })[]; - message?: string; - authors_count?: OneOf<[number, null]>; + downloads_url: string; /** Format: uri */ - url: string; + events_url: string; /** Format: uri */ - html_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; /** Format: uri */ - authors_url: string; + languages_url: string; /** Format: uri */ - repository_url: string; - svn_root?: string; - }; - /** - * Porter Author - * @description Porter Author - */ - "porter-author": { - id: number; - remote_id: string; - remote_name: string; - email: string; - name: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; /** Format: uri */ - url: string; + stargazers_url: string; + statuses_url: string; /** Format: uri */ - import_url: string; - }; - /** - * Porter Large File - * @description Porter Large File - */ - "porter-large-file": { - ref_name: string; - path: string; - oid: string; - size: number; - }; - /** - * Issue Event Label - * @description Issue Event Label - */ - "issue-event-label": { - name: OneOf<[string, null]>; - color: OneOf<[string, null]>; - }; - /** Issue Event Dismissed Review */ - "issue-event-dismissed-review": { - state: string; - review_id: number; - dismissal_message: OneOf<[string, null]>; - dismissal_commit_id?: OneOf<[string, null]>; - }; - /** - * Issue Event Milestone - * @description Issue Event Milestone - */ - "issue-event-milestone": { - title: string; - }; - /** - * Issue Event Project Card - * @description Issue Event Project Card - */ - "issue-event-project-card": { + subscribers_url: string; /** Format: uri */ - url: string; - id: number; + subscription_url: string; /** Format: uri */ - project_url: string; - project_id: number; - column_name: string; - previous_column_name?: string; - }; - /** - * Issue Event Rename - * @description Issue Event Rename - */ - "issue-event-rename": { - from: string; - to: string; - }; - /** - * Issue Event - * @description Issue Event - */ - "issue-event": { - id: number; - node_id: string; + tags_url: string; /** Format: uri */ - url: string; - actor: null | components["schemas"]["simple-user"]; - event: string; - commit_id: OneOf<[string, null]>; - commit_url: OneOf<[string, null]>; + teams_url: string; + trees_url: string; + clone_url: string; + /** Format: uri */ + mirror_url: OneOf<[string, null]>; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + homepage: OneOf<[string, null]>; + language: OneOf<[string, null]>; + forks_count: number; + stargazers_count: number; + watchers_count: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ + size: number; + /** @description The default branch of the repository. */ + default_branch: string; + open_issues_count: number; + /** + * @description Whether this repository acts as a template that can be used to generate new repositories. + * @default false + */ + is_template?: boolean; + topics?: (string)[]; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + has_pages: boolean; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions?: boolean; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** + * @description The repository visibility: public, private, or internal. + * @default public + */ + visibility?: string; /** Format: date-time */ - created_at: string; - issue?: null | components["schemas"]["issue"]; - label?: components["schemas"]["issue-event-label"]; - assignee?: null | components["schemas"]["simple-user"]; - assigner?: null | components["schemas"]["simple-user"]; - review_requester?: null | components["schemas"]["simple-user"]; - requested_reviewer?: null | components["schemas"]["simple-user"]; - requested_team?: components["schemas"]["team"]; - dismissed_review?: components["schemas"]["issue-event-dismissed-review"]; - milestone?: components["schemas"]["issue-event-milestone"]; - project_card?: components["schemas"]["issue-event-project-card"]; - rename?: components["schemas"]["issue-event-rename"]; - author_association?: components["schemas"]["author-association"]; - lock_reason?: OneOf<[string, null]>; - performed_via_github_app?: null | components["schemas"]["integration"]; - }; - /** - * Labeled Issue Event - * @description Labeled Issue Event - */ - "labeled-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: OneOf<[string, null]>; - commit_url: OneOf<[string, null]>; - created_at: string; - performed_via_github_app: null | components["schemas"]["integration"]; - label: { - name: string; - color: string; - }; - }; - /** - * Unlabeled Issue Event - * @description Unlabeled Issue Event - */ - "unlabeled-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: OneOf<[string, null]>; - commit_url: OneOf<[string, null]>; - created_at: string; - performed_via_github_app: null | components["schemas"]["integration"]; - label: { - name: string; - color: string; - }; - }; - /** - * Assigned Issue Event - * @description Assigned Issue Event - */ - "assigned-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: OneOf<[string, null]>; - commit_url: OneOf<[string, null]>; - created_at: string; - performed_via_github_app: components["schemas"]["integration"]; - assignee: components["schemas"]["simple-user"]; - assigner: components["schemas"]["simple-user"]; - }; - /** - * Unassigned Issue Event - * @description Unassigned Issue Event - */ - "unassigned-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: OneOf<[string, null]>; - commit_url: OneOf<[string, null]>; - created_at: string; - performed_via_github_app: null | components["schemas"]["integration"]; - assignee: components["schemas"]["simple-user"]; - assigner: components["schemas"]["simple-user"]; + pushed_at: OneOf<[string, null]>; + /** Format: date-time */ + created_at: OneOf<[string, null]>; + /** Format: date-time */ + updated_at: OneOf<[string, null]>; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + template_repository?: OneOf<[{ + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: (string)[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + }, null]>; + temp_clone_token?: string; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + /** + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** + * @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + * @default false + */ + allow_update_branch?: boolean; + /** + * @deprecated + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** + * @description Whether to require contributors to sign off on web-based commits + * @default false + */ + web_commit_signoff_required?: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; }; /** - * Milestoned Issue Event - * @description Milestoned Issue Event + * Installation Token + * @description Authentication token for a GitHub App installed on a user or org. */ - "milestoned-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: OneOf<[string, null]>; - commit_url: OneOf<[string, null]>; - created_at: string; - performed_via_github_app: null | components["schemas"]["integration"]; - milestone: { - title: string; - }; + "installation-token": { + token: string; + expires_at: string; + permissions?: components["schemas"]["app-permissions"]; + /** @enum {string} */ + repository_selection?: "all" | "selected"; + repositories?: (components["schemas"]["repository"])[]; + single_file?: string; + has_multiple_single_files?: boolean; + single_file_paths?: (string)[]; + }; + /** Scoped Installation */ + "scoped-installation": { + permissions: components["schemas"]["app-permissions"]; + /** + * @description Describe whether all repositories have been selected or there's a selection involved + * @enum {string} + */ + repository_selection: "all" | "selected"; + single_file_name: OneOf<[string, null]>; + has_multiple_single_files?: boolean; + single_file_paths?: (string)[]; + /** Format: uri */ + repositories_url: string; + account: components["schemas"]["simple-user"]; }; /** - * Demilestoned Issue Event - * @description Demilestoned Issue Event + * Authorization + * @description The authorization for an OAuth app, GitHub App, or a Personal Access Token. */ - "demilestoned-issue-event": { + authorization: { id: number; - node_id: string; + /** Format: uri */ url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: OneOf<[string, null]>; - commit_url: OneOf<[string, null]>; - created_at: string; - performed_via_github_app: null | components["schemas"]["integration"]; - milestone: { - title: string; + /** @description A list of scopes that this authorization is in. */ + scopes: OneOf<[(string)[], null]>; + token: string; + token_last_eight: OneOf<[string, null]>; + hashed_token: OneOf<[string, null]>; + app: { + client_id: string; + name: string; + /** Format: uri */ + url: string; }; + note: OneOf<[string, null]>; + /** Format: uri */ + note_url: OneOf<[string, null]>; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + created_at: string; + fingerprint: OneOf<[string, null]>; + user?: null | components["schemas"]["simple-user"]; + installation?: null | components["schemas"]["scoped-installation"]; + /** Format: date-time */ + expires_at: OneOf<[string, null]>; }; /** - * Renamed Issue Event - * @description Renamed Issue Event + * Code Of Conduct + * @description Code Of Conduct */ - "renamed-issue-event": { - id: number; - node_id: string; + "code-of-conduct": { + key: string; + name: string; + /** Format: uri */ url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: OneOf<[string, null]>; - commit_url: OneOf<[string, null]>; - created_at: string; - performed_via_github_app: null | components["schemas"]["integration"]; - rename: { - from: string; - to: string; - }; + body?: string; + /** Format: uri */ + html_url: OneOf<[string, null]>; }; /** - * Review Requested Issue Event - * @description Review Requested Issue Event + * Server Statistics Proxy Endpoint + * @description Response of S4 Proxy endpoint that provides GHES statistics */ - "review-requested-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: OneOf<[string, null]>; - commit_url: OneOf<[string, null]>; - created_at: string; - performed_via_github_app: null | components["schemas"]["integration"]; - review_requester: components["schemas"]["simple-user"]; - requested_team?: components["schemas"]["team"]; - requested_reviewer?: components["schemas"]["simple-user"]; + "server-statistics": ({ + server_id?: string; + collection_date?: string; + schema_version?: string; + ghes_version?: string; + host_name?: string; + github_connect?: { + features_enabled?: (string)[]; + }; + ghe_stats?: { + comments?: { + total_commit_comments?: number; + total_gist_comments?: number; + total_issue_comments?: number; + total_pull_request_comments?: number; + }; + gists?: { + total_gists?: number; + private_gists?: number; + public_gists?: number; + }; + hooks?: { + total_hooks?: number; + active_hooks?: number; + inactive_hooks?: number; + }; + issues?: { + total_issues?: number; + open_issues?: number; + closed_issues?: number; + }; + milestones?: { + total_milestones?: number; + open_milestones?: number; + closed_milestones?: number; + }; + orgs?: { + total_orgs?: number; + disabled_orgs?: number; + total_teams?: number; + total_team_members?: number; + }; + pages?: { + total_pages?: number; + }; + pulls?: { + total_pulls?: number; + merged_pulls?: number; + mergeable_pulls?: number; + unmergeable_pulls?: number; + }; + repos?: { + total_repos?: number; + root_repos?: number; + fork_repos?: number; + org_repos?: number; + total_pushes?: number; + total_wikis?: number; + }; + users?: { + total_users?: number; + admin_users?: number; + suspended_users?: number; + }; + }; + dormant_users?: { + total_dormant_users?: number; + dormancy_threshold?: string; + }; + })[]; + "actions-cache-usage-org-enterprise": { + /** @description The count of active caches across all repositories of an enterprise or an organization. */ + total_active_caches_count: number; + /** @description The total size in bytes of all active cache items across all repositories of an enterprise or an organization. */ + total_active_caches_size_in_bytes: number; }; /** - * Review Request Removed Issue Event - * @description Review Request Removed Issue Event + * @description The policy that controls the organizations in the enterprise that are allowed to run GitHub Actions. + * @enum {string} */ - "review-request-removed-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: OneOf<[string, null]>; - commit_url: OneOf<[string, null]>; - created_at: string; - performed_via_github_app: null | components["schemas"]["integration"]; - review_requester: components["schemas"]["simple-user"]; - requested_team?: components["schemas"]["team"]; - requested_reviewer?: components["schemas"]["simple-user"]; - }; + "enabled-organizations": "all" | "none" | "selected"; /** - * Review Dismissed Issue Event - * @description Review Dismissed Issue Event + * @description The permissions policy that controls the actions and reusable workflows that are allowed to run. + * @enum {string} */ - "review-dismissed-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: OneOf<[string, null]>; - commit_url: OneOf<[string, null]>; - created_at: string; - performed_via_github_app: null | components["schemas"]["integration"]; - dismissed_review: { - state: string; - review_id: number; - dismissal_message: OneOf<[string, null]>; - dismissal_commit_id?: string; - }; + "allowed-actions": "all" | "local_only" | "selected"; + /** @description The API URL to use to get or set the actions and reusable workflows that are allowed to run, when `allowed_actions` is set to `selected`. */ + "selected-actions-url": string; + "actions-enterprise-permissions": { + enabled_organizations: components["schemas"]["enabled-organizations"]; + /** @description The API URL to use to get or set the selected organizations that are allowed to run GitHub Actions, when `enabled_organizations` is set to `selected`. */ + selected_organizations_url?: string; + allowed_actions?: components["schemas"]["allowed-actions"]; + selected_actions_url?: components["schemas"]["selected-actions-url"]; }; /** - * Locked Issue Event - * @description Locked Issue Event + * Organization Simple + * @description A GitHub organization. */ - "locked-issue-event": { + "organization-simple": { + login: string; id: number; node_id: string; + /** Format: uri */ url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: OneOf<[string, null]>; - commit_url: OneOf<[string, null]>; - created_at: string; - performed_via_github_app: null | components["schemas"]["integration"]; - lock_reason: OneOf<[string, null]>; - }; - /** - * Added to Project Issue Event - * @description Added to Project Issue Event - */ - "added-to-project-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: OneOf<[string, null]>; - commit_url: OneOf<[string, null]>; - created_at: string; - performed_via_github_app: null | components["schemas"]["integration"]; - project_card?: { - id: number; - /** Format: uri */ - url: string; - project_id: number; - /** Format: uri */ - project_url: string; - column_name: string; - previous_column_name?: string; - }; + /** Format: uri */ + repos_url: string; + /** Format: uri */ + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: OneOf<[string, null]>; }; - /** - * Moved Column in Project Issue Event - * @description Moved Column in Project Issue Event - */ - "moved-column-in-project-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: OneOf<[string, null]>; - commit_url: OneOf<[string, null]>; - created_at: string; - performed_via_github_app: null | components["schemas"]["integration"]; - project_card?: { - id: number; - /** Format: uri */ - url: string; - project_id: number; - /** Format: uri */ - project_url: string; - column_name: string; - previous_column_name?: string; - }; + "selected-actions": { + /** @description Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization. */ + github_owned_allowed?: boolean; + /** @description Whether actions from GitHub Marketplace verified creators are allowed. Set to `true` to allow all actions by GitHub Marketplace verified creators. */ + verified_allowed?: boolean; + /** @description Specifies a list of string-matching patterns to allow specific action(s) and reusable workflow(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`." */ + patterns_allowed?: (string)[]; }; /** - * Removed from Project Issue Event - * @description Removed from Project Issue Event + * @description The default workflow permissions granted to the GITHUB_TOKEN when running workflows. + * @enum {string} */ - "removed-from-project-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: OneOf<[string, null]>; - commit_url: OneOf<[string, null]>; - created_at: string; - performed_via_github_app: null | components["schemas"]["integration"]; - project_card?: { - id: number; - /** Format: uri */ - url: string; - project_id: number; - /** Format: uri */ - project_url: string; - column_name: string; - previous_column_name?: string; - }; + "actions-default-workflow-permissions": "read" | "write"; + /** @description Whether GitHub Actions can approve pull requests. Enabling this can be a security risk. */ + "actions-can-approve-pull-request-reviews": boolean; + "actions-get-default-workflow-permissions": { + default_workflow_permissions: components["schemas"]["actions-default-workflow-permissions"]; + can_approve_pull_request_reviews: components["schemas"]["actions-can-approve-pull-request-reviews"]; }; - /** - * Converted Note to Issue Issue Event - * @description Converted Note to Issue Issue Event - */ - "converted-note-to-issue-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: OneOf<[string, null]>; - commit_url: OneOf<[string, null]>; - created_at: string; - performed_via_github_app: components["schemas"]["integration"]; - project_card?: { - id: number; - /** Format: uri */ - url: string; - project_id: number; - /** Format: uri */ - project_url: string; - column_name: string; - previous_column_name?: string; - }; + "actions-set-default-workflow-permissions": { + default_workflow_permissions?: components["schemas"]["actions-default-workflow-permissions"]; + can_approve_pull_request_reviews?: components["schemas"]["actions-can-approve-pull-request-reviews"]; }; - /** - * Issue Event for Issue - * @description Issue Event for Issue - */ - "issue-event-for-issue": components["schemas"]["labeled-issue-event"] | components["schemas"]["unlabeled-issue-event"] | components["schemas"]["assigned-issue-event"] | components["schemas"]["unassigned-issue-event"] | components["schemas"]["milestoned-issue-event"] | components["schemas"]["demilestoned-issue-event"] | components["schemas"]["renamed-issue-event"] | components["schemas"]["review-requested-issue-event"] | components["schemas"]["review-request-removed-issue-event"] | components["schemas"]["review-dismissed-issue-event"] | components["schemas"]["locked-issue-event"] | components["schemas"]["added-to-project-issue-event"] | components["schemas"]["moved-column-in-project-issue-event"] | components["schemas"]["removed-from-project-issue-event"] | components["schemas"]["converted-note-to-issue-issue-event"]; - /** - * Label - * @description Color-coded labels help you categorize and filter your issues (just like labels in Gmail). - */ - label: { - /** Format: int64 */ + "runner-groups-enterprise": { id: number; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - /** @description The name of the label. */ name: string; - description: OneOf<[string, null]>; - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; + visibility: string; default: boolean; - }; - /** - * Timeline Comment Event - * @description Timeline Comment Event - */ - "timeline-comment-event": { - event: string; - actor: components["schemas"]["simple-user"]; - /** @description Unique identifier of the issue comment */ - id: number; - node_id: string; + selected_organizations_url?: string; + runners_url: string; + allows_public_repositories: boolean; /** - * Format: uri - * @description URL for the issue comment + * @description If `true`, the `restricted_to_workflows` and `selected_workflows` fields cannot be modified. + * @default false */ - url: string; - /** @description Contents of the issue comment */ - body?: string; - body_text?: string; - body_html?: string; - /** Format: uri */ - html_url: string; - user: components["schemas"]["simple-user"]; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - issue_url: string; - author_association: components["schemas"]["author-association"]; - performed_via_github_app?: null | components["schemas"]["integration"]; - reactions?: components["schemas"]["reaction-rollup"]; + workflow_restrictions_read_only?: boolean; + /** + * @description If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array. + * @default false + */ + restricted_to_workflows?: boolean; + /** @description List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`. */ + selected_workflows?: (string)[]; }; /** - * Timeline Cross Referenced Event - * @description Timeline Cross Referenced Event + * Self hosted runner label + * @description A label for a self hosted runner */ - "timeline-cross-referenced-event": { - event: string; - actor?: components["schemas"]["simple-user"]; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - source: { - type?: string; - issue?: components["schemas"]["issue"]; - }; + "runner-label": { + /** @description Unique identifier of the label. */ + id?: number; + /** @description Name of the label. */ + name: string; + /** + * @description The type of label. Read-only labels are applied automatically when the runner is configured. + * @enum {string} + */ + type?: "read-only" | "custom"; }; /** - * Timeline Committed Event - * @description Timeline Committed Event + * Self hosted runners + * @description A self hosted runner */ - "timeline-committed-event": { - event?: string; - /** @description SHA for the commit */ - sha: string; - node_id: string; - /** Format: uri */ - url: string; - /** @description Identifying information for the git-user */ - author: { - /** - * Format: date-time - * @description Timestamp of the commit - */ - date: string; - /** @description Git email address of the user */ - email: string; - /** @description Name of the git user */ - name: string; - }; - /** @description Identifying information for the git-user */ - committer: { - /** - * Format: date-time - * @description Timestamp of the commit - */ - date: string; - /** @description Git email address of the user */ - email: string; - /** @description Name of the git user */ - name: string; - }; - /** @description Message describing the purpose of the commit */ - message: string; - tree: { - /** @description SHA for the commit */ - sha: string; - /** Format: uri */ - url: string; - }; - parents: ({ - /** @description SHA for the commit */ - sha: string; - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - })[]; - verification: { - verified: boolean; - reason: string; - signature: OneOf<[string, null]>; - payload: OneOf<[string, null]>; - }; - /** Format: uri */ - html_url: string; + runner: { + /** @description The id of the runner. */ + id: number; + /** @description The name of the runner. */ + name: string; + /** @description The Operating System of the runner. */ + os: string; + /** @description The status of the runner. */ + status: string; + busy: boolean; + labels: (components["schemas"]["runner-label"])[]; }; /** - * Timeline Reviewed Event - * @description Timeline Reviewed Event + * Runner Application + * @description Runner Application */ - "timeline-reviewed-event": { - event: string; - /** @description Unique identifier of the review */ - id: number; - node_id: string; - user: components["schemas"]["simple-user"]; - /** @description The text of the review. */ - body: OneOf<[string, null]>; - state: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - pull_request_url: string; - _links: { - html: { - href: string; - }; - pull_request: { - href: string; - }; - }; - /** Format: date-time */ - submitted_at?: string; - /** @description A commit SHA for the review. */ - commit_id: string; - body_html?: string; - body_text?: string; - author_association: components["schemas"]["author-association"]; + "runner-application": { + os: string; + architecture: string; + download_url: string; + filename: string; + /** @description A short lived bearer token used to download the runner, if needed. */ + temp_download_token?: string; + sha256_checksum?: string; }; /** - * Pull Request Review Comment - * @description Pull Request Review Comments are comments on a portion of the Pull Request's diff. + * Authentication Token + * @description Authentication Token */ - "pull-request-review-comment": { - /** @description URL for the pull request review comment */ - url: string; - /** @description The ID of the pull request review to which the comment belongs. */ - pull_request_review_id: OneOf<[number, null]>; - /** @description The ID of the pull request review comment. */ - id: number; - /** @description The node ID of the pull request review comment. */ - node_id: string; - /** @description The diff of the line that the comment refers to. */ - diff_hunk: string; - /** @description The relative path of the file to which the comment applies. */ - path: string; - /** @description The line index in the diff to which the comment applies. This field is deprecated; use `line` instead. */ - position: number; - /** @description The index of the original line in the diff to which the comment applies. This field is deprecated; use `original_line` instead. */ - original_position: number; - /** @description The SHA of the commit to which the comment applies. */ - commit_id: string; - /** @description The SHA of the original commit to which the comment applies. */ - original_commit_id: string; - /** @description The comment ID to reply to. */ - in_reply_to_id?: number; - user: components["schemas"]["simple-user"]; - /** @description The text of the comment. */ - body: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description HTML URL for the pull request review comment. - */ - html_url: string; - /** - * Format: uri - * @description URL for the pull request that the review comment belongs to. - */ - pull_request_url: string; - author_association: components["schemas"]["author-association"]; - _links: { - self: { - /** Format: uri */ - href: string; - }; - html: { - /** Format: uri */ - href: string; - }; - pull_request: { - /** Format: uri */ - href: string; - }; - }; - /** @description The first line of the range for a multi-line comment. */ - start_line?: OneOf<[number, null]>; - /** @description The first line of the range for a multi-line comment. */ - original_start_line?: OneOf<[number, null]>; + "authentication-token": { + /** @description The token used for authentication */ + token: string; /** - * @description The side of the first line of the range for a multi-line comment. - * @default RIGHT - * @enum {string|null} + * Format: date-time + * @description The time this token expires */ - start_side?: "LEFT" | "RIGHT" | "" | null; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - line?: number; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - original_line?: number; + expires_at: string; + permissions?: Record; + /** @description The repositories this token has access to */ + repositories?: (components["schemas"]["repository"])[]; + single_file?: OneOf<[string, null]>; /** - * @description The side of the diff to which the comment applies. The side of the last line of the range for a multi-line comment - * @default RIGHT + * @description Describe whether all repositories have been selected or there's a selection involved * @enum {string} */ - side?: "LEFT" | "RIGHT"; - reactions?: components["schemas"]["reaction-rollup"]; - body_html?: string; - body_text?: string; + repository_selection?: "all" | "selected"; }; + /** @description The name of the tool used to generate the code scanning analysis. */ + "code-scanning-analysis-tool-name": string; + /** @description The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data. */ + "code-scanning-analysis-tool-guid": OneOf<[string, null]>; /** - * Timeline Line Commented Event - * @description Timeline Line Commented Event + * @description State of a code scanning alert. + * @enum {string} */ - "timeline-line-commented-event": { - event?: string; - node_id?: string; - comments?: (components["schemas"]["pull-request-review-comment"])[]; - }; + "code-scanning-alert-state": "open" | "closed" | "dismissed" | "fixed"; + /** @description The security alert number. */ + readonly "alert-number": number; /** - * Timeline Commit Commented Event - * @description Timeline Commit Commented Event + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - "timeline-commit-commented-event": { - event?: string; - node_id?: string; - commit_id?: string; - comments?: (components["schemas"]["commit-comment"])[]; - }; + readonly "alert-created-at": string; /** - * Timeline Assigned Issue Event - * @description Timeline Assigned Issue Event + * Format: date-time + * @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - "timeline-assigned-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: OneOf<[string, null]>; - commit_url: OneOf<[string, null]>; - created_at: string; - performed_via_github_app: null | components["schemas"]["integration"]; - assignee: components["schemas"]["simple-user"]; - }; + readonly "alert-updated-at": string; /** - * Timeline Unassigned Issue Event - * @description Timeline Unassigned Issue Event + * Format: uri + * @description The REST API URL of the alert resource. */ - "timeline-unassigned-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: OneOf<[string, null]>; - commit_url: OneOf<[string, null]>; - created_at: string; - performed_via_github_app: null | components["schemas"]["integration"]; - assignee: components["schemas"]["simple-user"]; - }; + readonly "alert-url": string; /** - * State Change Issue Event - * @description State Change Issue Event + * Format: uri + * @description The GitHub URL of the alert resource. */ - "state-change-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: OneOf<[string, null]>; - commit_url: OneOf<[string, null]>; - created_at: string; - performed_via_github_app: null | components["schemas"]["integration"]; - state_reason?: OneOf<[string, null]>; - }; + readonly "alert-html-url": string; /** - * Timeline Event - * @description Timeline Event + * Format: uri + * @description The REST API URL for fetching the list of instances for an alert. */ - "timeline-issue-events": components["schemas"]["labeled-issue-event"] | components["schemas"]["unlabeled-issue-event"] | components["schemas"]["milestoned-issue-event"] | components["schemas"]["demilestoned-issue-event"] | components["schemas"]["renamed-issue-event"] | components["schemas"]["review-requested-issue-event"] | components["schemas"]["review-request-removed-issue-event"] | components["schemas"]["review-dismissed-issue-event"] | components["schemas"]["locked-issue-event"] | components["schemas"]["added-to-project-issue-event"] | components["schemas"]["moved-column-in-project-issue-event"] | components["schemas"]["removed-from-project-issue-event"] | components["schemas"]["converted-note-to-issue-issue-event"] | components["schemas"]["timeline-comment-event"] | components["schemas"]["timeline-cross-referenced-event"] | components["schemas"]["timeline-committed-event"] | components["schemas"]["timeline-reviewed-event"] | components["schemas"]["timeline-line-commented-event"] | components["schemas"]["timeline-commit-commented-event"] | components["schemas"]["timeline-assigned-issue-event"] | components["schemas"]["timeline-unassigned-issue-event"] | components["schemas"]["state-change-issue-event"]; + readonly "alert-instances-url": string; /** - * Deploy Key - * @description An SSH key granting access to a single repository. + * Format: date-time + * @description The time that the alert was no longer detected and was considered fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - "deploy-key": { - id: number; - key: string; - url: string; - title: string; - verified: boolean; - created_at: string; - read_only: boolean; - added_by?: OneOf<[string, null]>; - last_used?: OneOf<[string, null]>; - }; + readonly "alert-fixed-at": OneOf<[string, null]>; /** - * Language - * @description Language + * Format: date-time + * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - language: { - [key: string]: number | undefined; - }; + readonly "alert-dismissed-at": OneOf<[string, null]>; /** - * License Content - * @description License Content + * @description **Required when the state is dismissed.** The reason for dismissing or closing the alert. + * @enum {string|null} */ - "license-content": { - name: string; - path: string; - sha: string; - size: number; - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: OneOf<[string, null]>; - /** Format: uri */ - git_url: OneOf<[string, null]>; - /** Format: uri */ - download_url: OneOf<[string, null]>; - type: string; - content: string; - encoding: string; - _links: { - /** Format: uri */ - git: OneOf<[string, null]>; - /** Format: uri */ - html: OneOf<[string, null]>; - /** Format: uri */ - self: string; - }; - license: null | components["schemas"]["license-simple"]; + "code-scanning-alert-dismissed-reason": "" | "false positive" | "won't fix" | "used in tests" | null; + /** @description The dismissal comment associated with the dismissal of the alert. */ + "code-scanning-alert-dismissed-comment": OneOf<[string, null]>; + "code-scanning-alert-rule": { + /** @description A unique identifier for the rule used to detect the alert. */ + id?: OneOf<[string, null]>; + /** @description The name of the rule used to detect the alert. */ + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity?: "none" | "note" | "warning" | "error" | "" | null; + /** + * @description The security severity of the alert. + * @enum {string|null} + */ + security_severity_level?: "low" | "medium" | "high" | "critical" | "" | null; + /** @description A short description of the rule used to detect the alert. */ + description?: string; + /** @description description of the rule used to detect the alert. */ + full_description?: string; + /** @description A set of tags applicable for the rule. */ + tags?: OneOf<[(string)[], null]>; + /** @description Detailed documentation for the rule as GitHub Flavored Markdown. */ + help?: OneOf<[string, null]>; + /** @description A link to the documentation for the rule used to detect the alert. */ + help_uri?: OneOf<[string, null]>; + }; + /** @description The version of the tool used to generate the code scanning analysis. */ + "code-scanning-analysis-tool-version": OneOf<[string, null]>; + "code-scanning-analysis-tool": { + name?: components["schemas"]["code-scanning-analysis-tool-name"]; + version?: components["schemas"]["code-scanning-analysis-tool-version"]; + guid?: components["schemas"]["code-scanning-analysis-tool-guid"]; }; /** - * Merged upstream - * @description Results of a successful merge upstream request + * @description The full Git reference, formatted as `refs/heads/`, + * `refs/pull//merge`, or `refs/pull//head`. */ - "merged-upstream": { - message?: string; - /** @enum {string} */ - merge_type?: "merge" | "fast-forward" | "none"; - base_branch?: string; - }; - /** Pages Source Hash */ - "pages-source-hash": { - branch: string; - path: string; + "code-scanning-ref": string; + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + "code-scanning-analysis-analysis-key": string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + "code-scanning-alert-environment": string; + /** @description Identifies the configuration under which the analysis was executed. Used to distinguish between multiple analyses for the same tool and commit, but performed on different languages or different parts of the code. */ + "code-scanning-analysis-category": string; + /** @description Describe a region within a file for the alert. */ + "code-scanning-alert-location": { + path?: string; + start_line?: number; + end_line?: number; + start_column?: number; + end_column?: number; }; - /** Pages Https Certificate */ - "pages-https-certificate": { - /** @enum {string} */ - state: "new" | "authorization_created" | "authorization_pending" | "authorized" | "authorization_revoked" | "issued" | "uploaded" | "approved" | "errored" | "bad_authz" | "destroy_pending" | "dns_changed"; - description: string; - /** @description Array of the domain set and its alternate name (if it is configured) */ - domains: (string)[]; - /** Format: date */ - expires_at?: string; + /** + * @description A classification of the file. For example to identify it as generated. + * @enum {string|null} + */ + "code-scanning-alert-classification": "source" | "generated" | "test" | "library" | "" | null; + "code-scanning-alert-instance": { + ref?: components["schemas"]["code-scanning-ref"]; + analysis_key?: components["schemas"]["code-scanning-analysis-analysis-key"]; + environment?: components["schemas"]["code-scanning-alert-environment"]; + category?: components["schemas"]["code-scanning-analysis-category"]; + state?: components["schemas"]["code-scanning-alert-state"]; + commit_sha?: string; + message?: { + text?: string; + }; + location?: components["schemas"]["code-scanning-alert-location"]; + html_url?: string; + /** + * @description Classifications that have been applied to the file that triggered the alert. + * For example identifying it as documentation, or a generated file. + */ + classifications?: (components["schemas"]["code-scanning-alert-classification"])[]; }; /** - * GitHub Pages - * @description The configuration for GitHub Pages for a repository. + * Simple Repository + * @description A GitHub repository. */ - page: { + "simple-repository": { + /** @description A unique identifier of the repository. */ + id: number; + /** @description The GraphQL identifier of the repository. */ + node_id: string; + /** @description The name of the repository. */ + name: string; + /** @description The full, globally unique, name of the repository. */ + full_name: string; + owner: components["schemas"]["simple-user"]; + /** @description Whether the repository is private. */ + private: boolean; /** * Format: uri - * @description The API address for accessing this Page resource. + * @description The URL to view the repository on GitHub.com. + */ + html_url: string; + /** @description The repository description. */ + description: OneOf<[string, null]>; + /** @description Whether the repository is a fork. */ + fork: boolean; + /** + * Format: uri + * @description The URL to get more information about the repository from the GitHub API. */ url: string; + /** @description A template for the API URL to download the repository as an archive. */ + archive_url: string; + /** @description A template for the API URL to list the available assignees for issues in the repository. */ + assignees_url: string; + /** @description A template for the API URL to create or retrieve a raw Git blob in the repository. */ + blobs_url: string; + /** @description A template for the API URL to get information about branches in the repository. */ + branches_url: string; + /** @description A template for the API URL to get information about collaborators of the repository. */ + collaborators_url: string; + /** @description A template for the API URL to get information about comments on the repository. */ + comments_url: string; + /** @description A template for the API URL to get information about commits on the repository. */ + commits_url: string; + /** @description A template for the API URL to compare two commits or refs. */ + compare_url: string; + /** @description A template for the API URL to get the contents of the repository. */ + contents_url: string; /** - * @description The status of the most recent build of the Page. - * @enum {string|null} + * Format: uri + * @description A template for the API URL to list the contributors to the repository. */ - status: "built" | "building" | "errored" | "" | null; - /** @description The Pages site's custom domain */ - cname: OneOf<[string, null]>; + contributors_url: string; /** - * @description The state if the domain is verified - * @enum {string|null} + * Format: uri + * @description The API URL to list the deployments of the repository. */ - protected_domain_state?: "pending" | "verified" | "unverified" | "" | null; + deployments_url: string; /** - * Format: date-time - * @description The timestamp when a pending domain becomes unverified. + * Format: uri + * @description The API URL to list the downloads on the repository. */ - pending_domain_unverified_at?: OneOf<[string, null]>; + downloads_url: string; /** - * @description Whether the Page has a custom 404 page. - * @default false + * Format: uri + * @description The API URL to list the events of the repository. */ - custom_404: boolean; + events_url: string; /** * Format: uri - * @description The web address the Page can be accessed from. + * @description The API URL to list the forks of the repository. */ - html_url?: string; + forks_url: string; + /** @description A template for the API URL to get information about Git commits of the repository. */ + git_commits_url: string; + /** @description A template for the API URL to get information about Git refs of the repository. */ + git_refs_url: string; + /** @description A template for the API URL to get information about Git tags of the repository. */ + git_tags_url: string; + /** @description A template for the API URL to get information about issue comments on the repository. */ + issue_comment_url: string; + /** @description A template for the API URL to get information about issue events on the repository. */ + issue_events_url: string; + /** @description A template for the API URL to get information about issues on the repository. */ + issues_url: string; + /** @description A template for the API URL to get information about deploy keys on the repository. */ + keys_url: string; + /** @description A template for the API URL to get information about labels of the repository. */ + labels_url: string; /** - * @description The process in which the Page will be built. - * @enum {string|null} + * Format: uri + * @description The API URL to get information about the languages of the repository. */ - build_type?: "legacy" | "workflow" | "" | null; - source?: components["schemas"]["pages-source-hash"]; - /** @description Whether the GitHub Pages site is publicly visible. If set to `true`, the site is accessible to anyone on the internet. If set to `false`, the site will only be accessible to users who have at least `read` access to the repository that published the site. */ - public: boolean; - https_certificate?: components["schemas"]["pages-https-certificate"]; - /** @description Whether https is enabled on the domain */ - https_enforced?: boolean; - }; - /** - * Page Build - * @description Page Build - */ - "page-build": { - /** Format: uri */ - url: string; - status: string; - error: { - message: OneOf<[string, null]>; - }; - pusher: null | components["schemas"]["simple-user"]; - commit: string; - duration: number; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - }; - /** - * Page Build Status - * @description Page Build Status - */ - "page-build-status": { - /** Format: uri */ - url: string; - status: string; - }; - /** - * GitHub Pages - * @description The GitHub Pages deployment status. - */ - "page-deployment": { + languages_url: string; /** * Format: uri - * @description The URI to monitor GitHub Pages deployment status. + * @description The API URL to merge branches in the repository. */ - status_url: string; + merges_url: string; + /** @description A template for the API URL to get information about milestones of the repository. */ + milestones_url: string; + /** @description A template for the API URL to get information about notifications on the repository. */ + notifications_url: string; + /** @description A template for the API URL to get information about pull requests on the repository. */ + pulls_url: string; + /** @description A template for the API URL to get information about releases on the repository. */ + releases_url: string; /** * Format: uri - * @description The URI to the deployed GitHub Pages. + * @description The API URL to list the stargazers on the repository. */ - page_url: string; + stargazers_url: string; + /** @description A template for the API URL to get information about statuses of a commit. */ + statuses_url: string; /** * Format: uri - * @description The URI to the deployed GitHub Pages preview. + * @description The API URL to list the subscribers on the repository. */ - preview_url?: string; + subscribers_url: string; + /** + * Format: uri + * @description The API URL to subscribe to notifications for this repository. + */ + subscription_url: string; + /** + * Format: uri + * @description The API URL to get information about tags on the repository. + */ + tags_url: string; + /** + * Format: uri + * @description The API URL to list the teams on the repository. + */ + teams_url: string; + /** @description A template for the API URL to create or retrieve a raw Git tree of the repository. */ + trees_url: string; + /** + * Format: uri + * @description The API URL to list the hooks on the repository. + */ + hooks_url: string; }; - /** - * Pages Health Check Status - * @description Pages Health Check Status - */ - "pages-health-check": { - domain?: { - host?: string; - uri?: string; - nameservers?: string; - dns_resolves?: boolean; - is_proxied?: OneOf<[boolean, null]>; - is_cloudflare_ip?: OneOf<[boolean, null]>; - is_fastly_ip?: OneOf<[boolean, null]>; - is_old_ip_address?: OneOf<[boolean, null]>; - is_a_record?: OneOf<[boolean, null]>; - has_cname_record?: OneOf<[boolean, null]>; - has_mx_records_present?: OneOf<[boolean, null]>; - is_valid_domain?: boolean; - is_apex_domain?: boolean; - should_be_a_record?: OneOf<[boolean, null]>; - is_cname_to_github_user_domain?: OneOf<[boolean, null]>; - is_cname_to_pages_dot_github_dot_com?: OneOf<[boolean, null]>; - is_cname_to_fastly?: OneOf<[boolean, null]>; - is_pointed_to_github_pages_ip?: OneOf<[boolean, null]>; - is_non_github_pages_ip_present?: OneOf<[boolean, null]>; - is_pages_domain?: boolean; - is_served_by_pages?: OneOf<[boolean, null]>; - is_valid?: boolean; - reason?: OneOf<[string, null]>; - responds_to_https?: boolean; - enforces_https?: boolean; - https_error?: OneOf<[string, null]>; - is_https_eligible?: OneOf<[boolean, null]>; - caa_error?: OneOf<[string, null]>; - }; - alt_domain?: OneOf<[{ - host?: string; - uri?: string; - nameservers?: string; - dns_resolves?: boolean; - is_proxied?: OneOf<[boolean, null]>; - is_cloudflare_ip?: OneOf<[boolean, null]>; - is_fastly_ip?: OneOf<[boolean, null]>; - is_old_ip_address?: OneOf<[boolean, null]>; - is_a_record?: OneOf<[boolean, null]>; - has_cname_record?: OneOf<[boolean, null]>; - has_mx_records_present?: OneOf<[boolean, null]>; - is_valid_domain?: boolean; - is_apex_domain?: boolean; - should_be_a_record?: OneOf<[boolean, null]>; - is_cname_to_github_user_domain?: OneOf<[boolean, null]>; - is_cname_to_pages_dot_github_dot_com?: OneOf<[boolean, null]>; - is_cname_to_fastly?: OneOf<[boolean, null]>; - is_pointed_to_github_pages_ip?: OneOf<[boolean, null]>; - is_non_github_pages_ip_present?: OneOf<[boolean, null]>; - is_pages_domain?: boolean; - is_served_by_pages?: OneOf<[boolean, null]>; - is_valid?: boolean; - reason?: OneOf<[string, null]>; - responds_to_https?: boolean; - enforces_https?: boolean; - https_error?: OneOf<[string, null]>; - is_https_eligible?: OneOf<[boolean, null]>; - caa_error?: OneOf<[string, null]>; + "code-scanning-organization-alert-items": { + number: components["schemas"]["alert-number"]; + created_at: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["alert-updated-at"]; + url: components["schemas"]["alert-url"]; + html_url: components["schemas"]["alert-html-url"]; + instances_url: components["schemas"]["alert-instances-url"]; + state: components["schemas"]["code-scanning-alert-state"]; + fixed_at?: components["schemas"]["alert-fixed-at"]; + dismissed_by: null | components["schemas"]["simple-user"]; + dismissed_at: components["schemas"]["alert-dismissed-at"]; + dismissed_reason: components["schemas"]["code-scanning-alert-dismissed-reason"]; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + rule: components["schemas"]["code-scanning-alert-rule"]; + tool: components["schemas"]["code-scanning-analysis-tool"]; + most_recent_instance: components["schemas"]["code-scanning-alert-instance"]; + repository: components["schemas"]["simple-repository"]; + }; + /** @description Details for the vulnerable package. */ + readonly "dependabot-alert-package": { + /** @description The package's language or package management ecosystem. */ + readonly ecosystem: string; + /** @description The unique package name within its ecosystem. */ + readonly name: string; + }; + /** @description Details pertaining to one vulnerable version range for the advisory. */ + readonly "dependabot-alert-security-vulnerability": { + readonly package: components["schemas"]["dependabot-alert-package"]; + /** + * @description The severity of the vulnerability. + * @enum {string} + */ + readonly severity: "low" | "medium" | "high" | "critical"; + /** @description Conditions that identify vulnerable versions of this vulnerability's package. */ + readonly vulnerable_version_range: string; + /** @description Details pertaining to the package version that patches this vulnerability. */ + readonly first_patched_version: OneOf<[{ + /** @description The package version that patches this vulnerability. */ + readonly identifier: string; }, null]>; }; - /** - * Pull Request - * @description Pull requests let you tell others about changes you've pushed to a repository on GitHub. Once a pull request is sent, interested parties can review the set of changes, discuss potential modifications, and even push follow-up commits if necessary. - */ - "pull-request": { - /** Format: uri */ - url: string; - id: number; - node_id: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - diff_url: string; - /** Format: uri */ - patch_url: string; - /** Format: uri */ - issue_url: string; - /** Format: uri */ - commits_url: string; - /** Format: uri */ - review_comments_url: string; - review_comment_url: string; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - statuses_url: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; + /** @description Details for the GitHub Security Advisory. */ + readonly "dependabot-alert-security-advisory": { + /** @description The unique GitHub Security Advisory ID assigned to the advisory. */ + readonly ghsa_id: string; + /** @description The unique CVE ID assigned to the advisory. */ + readonly cve_id: OneOf<[string, null]>; + /** @description A short, plain text summary of the advisory. */ + readonly summary: string; + /** @description A long-form Markdown-supported description of the advisory. */ + readonly description: string; + /** @description Vulnerable version range information for the advisory. */ + readonly vulnerabilities: readonly (components["schemas"]["dependabot-alert-security-vulnerability"])[]; /** - * @description State of this Pull Request. Either `open` or `closed`. + * @description The severity of the advisory. * @enum {string} */ - state: "open" | "closed"; - locked: boolean; - /** @description The title of the pull request. */ - title: string; - user: null | components["schemas"]["simple-user"]; - body: OneOf<[string, null]>; - labels: ({ - /** Format: int64 */ - id: number; - node_id: string; - url: string; - name: string; - description: OneOf<[string, null]>; - color: string; - default: boolean; + readonly severity: "low" | "medium" | "high" | "critical"; + /** @description Details for the advisory pertaining to the Common Vulnerability Scoring System. */ + readonly cvss: { + /** @description The overall CVSS score of the advisory. */ + readonly score: number; + /** @description The full CVSS vector string for the advisory. */ + readonly vector_string: OneOf<[string, null]>; + }; + /** @description Details for the advisory pertaining to Common Weakness Enumeration. */ + readonly cwes: readonly ({ + /** @description The unique CWE ID. */ + readonly cwe_id: string; + /** @description The short, plain text name of the CWE. */ + readonly name: string; })[]; - milestone: null | components["schemas"]["milestone"]; - active_lock_reason?: OneOf<[string, null]>; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - /** Format: date-time */ - merged_at: OneOf<[string, null]>; - merge_commit_sha: OneOf<[string, null]>; - assignee: null | components["schemas"]["simple-user"]; - assignees?: OneOf<[(components["schemas"]["simple-user"])[], null]>; - requested_reviewers?: OneOf<[(components["schemas"]["simple-user"])[], null]>; - requested_teams?: OneOf<[(components["schemas"]["team-simple"])[], null]>; - head: { - label: string; - ref: string; - repo: OneOf<[{ - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - description: OneOf<[string, null]>; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - /** Format: uri */ - forks_url: string; - full_name: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - id: number; - node_id: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - milestones_url: string; - name: string; - notifications_url: string; - owner: { - /** Format: uri */ - avatar_url: string; - events_url: string; - /** Format: uri */ - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - id: number; - node_id: string; - login: string; - /** Format: uri */ - organizations_url: string; - /** Format: uri */ - received_events_url: string; - /** Format: uri */ - repos_url: string; - site_admin: boolean; - starred_url: string; - /** Format: uri */ - subscriptions_url: string; - type: string; - /** Format: uri */ - url: string; - }; - private: boolean; - pulls_url: string; - releases_url: string; - /** Format: uri */ - stargazers_url: string; - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - trees_url: string; - /** Format: uri */ - url: string; - clone_url: string; - default_branch: string; - forks: number; - forks_count: number; - git_url: string; - has_downloads: boolean; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_discussions: boolean; - /** Format: uri */ - homepage: OneOf<[string, null]>; - language: OneOf<[string, null]>; - master_branch?: string; - archived: boolean; - disabled: boolean; - /** @description The repository visibility: public, private, or internal. */ - visibility?: string; - /** Format: uri */ - mirror_url: OneOf<[string, null]>; - open_issues: number; - open_issues_count: number; - permissions?: { - admin: boolean; - maintain?: boolean; - push: boolean; - triage?: boolean; - pull: boolean; - }; - temp_clone_token?: string; - allow_merge_commit?: boolean; - allow_squash_merge?: boolean; - allow_rebase_merge?: boolean; - license: OneOf<[{ - key: string; - name: string; - /** Format: uri */ - url: OneOf<[string, null]>; - spdx_id: OneOf<[string, null]>; - node_id: string; - }, null]>; - /** Format: date-time */ - pushed_at: string; - size: number; - ssh_url: string; - stargazers_count: number; - /** Format: uri */ - svn_url: string; - topics?: (string)[]; - watchers: number; - watchers_count: number; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - allow_forking?: boolean; - is_template?: boolean; - web_commit_signoff_required?: boolean; - }, null]>; - sha: string; - user: { - /** Format: uri */ - avatar_url: string; - events_url: string; - /** Format: uri */ - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - id: number; - node_id: string; - login: string; - /** Format: uri */ - organizations_url: string; - /** Format: uri */ - received_events_url: string; - /** Format: uri */ - repos_url: string; - site_admin: boolean; - starred_url: string; - /** Format: uri */ - subscriptions_url: string; - type: string; - /** Format: uri */ - url: string; - }; - }; - base: { - label: string; - ref: string; - repo: { - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - description: OneOf<[string, null]>; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - /** Format: uri */ - forks_url: string; - full_name: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - id: number; - is_template?: boolean; - node_id: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - milestones_url: string; - name: string; - notifications_url: string; - owner: { - /** Format: uri */ - avatar_url: string; - events_url: string; - /** Format: uri */ - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - id: number; - node_id: string; - login: string; - /** Format: uri */ - organizations_url: string; - /** Format: uri */ - received_events_url: string; - /** Format: uri */ - repos_url: string; - site_admin: boolean; - starred_url: string; - /** Format: uri */ - subscriptions_url: string; - type: string; - /** Format: uri */ - url: string; - }; - private: boolean; - pulls_url: string; - releases_url: string; - /** Format: uri */ - stargazers_url: string; - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - trees_url: string; - /** Format: uri */ - url: string; - clone_url: string; - default_branch: string; - forks: number; - forks_count: number; - git_url: string; - has_downloads: boolean; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_discussions: boolean; - /** Format: uri */ - homepage: OneOf<[string, null]>; - language: OneOf<[string, null]>; - master_branch?: string; - archived: boolean; - disabled: boolean; - /** @description The repository visibility: public, private, or internal. */ - visibility?: string; - /** Format: uri */ - mirror_url: OneOf<[string, null]>; - open_issues: number; - open_issues_count: number; - permissions?: { - admin: boolean; - maintain?: boolean; - push: boolean; - triage?: boolean; - pull: boolean; - }; - temp_clone_token?: string; - allow_merge_commit?: boolean; - allow_squash_merge?: boolean; - allow_rebase_merge?: boolean; - license: null | components["schemas"]["license-simple"]; - /** Format: date-time */ - pushed_at: string; - size: number; - ssh_url: string; - stargazers_count: number; - /** Format: uri */ - svn_url: string; - topics?: (string)[]; - watchers: number; - watchers_count: number; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - allow_forking?: boolean; - web_commit_signoff_required?: boolean; - }; - sha: string; - user: { - /** Format: uri */ - avatar_url: string; - events_url: string; - /** Format: uri */ - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - id: number; - node_id: string; - login: string; - /** Format: uri */ - organizations_url: string; - /** Format: uri */ - received_events_url: string; - /** Format: uri */ - repos_url: string; - site_admin: boolean; - starred_url: string; - /** Format: uri */ - subscriptions_url: string; - type: string; - /** Format: uri */ - url: string; - }; - }; - _links: { - comments: components["schemas"]["link"]; - commits: components["schemas"]["link"]; - statuses: components["schemas"]["link"]; - html: components["schemas"]["link"]; - issue: components["schemas"]["link"]; - review_comments: components["schemas"]["link"]; - review_comment: components["schemas"]["link"]; - self: components["schemas"]["link"]; + /** @description Values that identify this advisory among security information sources. */ + readonly identifiers: readonly ({ + /** + * @description The type of advisory identifier. + * @enum {string} + */ + readonly type: "CVE" | "GHSA"; + /** @description The value of the advisory identifer. */ + readonly value: string; + })[]; + /** @description Links to additional advisory information. */ + readonly references: readonly ({ + /** + * Format: uri + * @description The URL of the reference. + */ + readonly url: string; + })[]; + /** + * Format: date-time + * @description The time that the advisory was published in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + readonly published_at: string; + /** + * Format: date-time + * @description The time that the advisory was last modified in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + readonly updated_at: string; + /** + * Format: date-time + * @description The time that the advisory was withdrawn in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + readonly withdrawn_at: OneOf<[string, null]>; + }; + /** @description A Dependabot alert. */ + "dependabot-alert-with-repository": { + number: components["schemas"]["alert-number"]; + /** + * @description The state of the Dependabot alert. + * @enum {string} + */ + state: "dismissed" | "fixed" | "open"; + /** @description Details for the vulnerable dependency. */ + dependency: { + readonly package?: components["schemas"]["dependabot-alert-package"]; + /** @description The full path to the dependency manifest file, relative to the root of the repository. */ + readonly manifest_path?: string; + /** + * @description The execution scope of the vulnerable dependency. + * @enum {string|null} + */ + readonly scope?: "development" | "runtime" | "" | null; }; - author_association: components["schemas"]["author-association"]; - auto_merge: components["schemas"]["auto-merge"]; - /** @description Indicates whether or not the pull request is a draft. */ - draft?: boolean; - merged: boolean; - mergeable: OneOf<[boolean, null]>; - rebaseable?: OneOf<[boolean, null]>; - mergeable_state: string; - merged_by: null | components["schemas"]["simple-user"]; - comments: number; - review_comments: number; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify: boolean; - commits: number; - additions: number; - deletions: number; - changed_files: number; + security_advisory: components["schemas"]["dependabot-alert-security-advisory"]; + security_vulnerability: components["schemas"]["dependabot-alert-security-vulnerability"]; + url: components["schemas"]["alert-url"]; + html_url: components["schemas"]["alert-html-url"]; + created_at: components["schemas"]["alert-created-at"]; + updated_at: components["schemas"]["alert-updated-at"]; + dismissed_at: components["schemas"]["alert-dismissed-at"]; + dismissed_by: null | components["schemas"]["simple-user"]; + /** + * @description The reason that the alert was dismissed. + * @enum {string|null} + */ + dismissed_reason: "fix_started" | "inaccurate" | "no_bandwidth" | "not_used" | "tolerable_risk" | "" | null; + /** @description An optional comment associated with the alert's dismissal. */ + dismissed_comment: OneOf<[string, null]>; + fixed_at: components["schemas"]["alert-fixed-at"]; + repository: components["schemas"]["simple-repository"]; }; /** - * Pull Request Merge Result - * @description Pull Request Merge Result + * @description Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`. + * @enum {string} */ - "pull-request-merge-result": { - sha: string; - merged: boolean; - message: string; - }; + "secret-scanning-alert-state": "open" | "resolved"; /** - * Pull Request Review Request - * @description Pull Request Review Request + * @description **Required when the `state` is `resolved`.** The reason for resolving the alert. + * @enum {string|null} */ - "pull-request-review-request": { - users: (components["schemas"]["simple-user"])[]; - teams: (components["schemas"]["team"])[]; + "secret-scanning-alert-resolution": "" | "false_positive" | "wont_fix" | "revoked" | "used_in_tests" | null; + "organization-secret-scanning-alert": { + number?: components["schemas"]["alert-number"]; + created_at?: components["schemas"]["alert-created-at"]; + updated_at?: null | components["schemas"]["alert-updated-at"]; + url?: components["schemas"]["alert-url"]; + html_url?: components["schemas"]["alert-html-url"]; + /** + * Format: uri + * @description The REST API URL of the code locations for this alert. + */ + locations_url?: string; + state?: components["schemas"]["secret-scanning-alert-state"]; + resolution?: components["schemas"]["secret-scanning-alert-resolution"]; + /** + * Format: date-time + * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + resolved_at?: OneOf<[string, null]>; + resolved_by?: null | components["schemas"]["simple-user"]; + /** @description The type of secret that secret scanning detected. */ + secret_type?: string; + /** + * @description User-friendly name for the detected secret, matching the `secret_type`. + * For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." + */ + secret_type_display_name?: string; + /** @description The secret that was detected. */ + secret?: string; + repository?: components["schemas"]["simple-repository"]; + /** @description Whether push protection was bypassed for the detected secret. */ + push_protection_bypassed?: OneOf<[boolean, null]>; + push_protection_bypassed_by?: null | components["schemas"]["simple-user"]; + /** + * Format: date-time + * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + push_protection_bypassed_at?: OneOf<[string, null]>; + /** @description The comment that was optionally added when this alert was closed */ + resolution_comment?: OneOf<[string, null]>; + }; + "advanced-security-active-committers-user": { + user_login: string; + last_pushed_date: string; + }; + "advanced-security-active-committers-repository": { + name: string; + advanced_security_committers: number; + advanced_security_committers_breakdown: (components["schemas"]["advanced-security-active-committers-user"])[]; + }; + "advanced-security-active-committers": { + total_advanced_security_committers?: number; + total_count?: number; + repositories: (components["schemas"]["advanced-security-active-committers-repository"])[]; }; /** - * Pull Request Review - * @description Pull Request Reviews are reviews on pull requests. + * Actor + * @description Actor */ - "pull-request-review": { - /** @description Unique identifier of the review */ + actor: { id: number; - node_id: string; - user: null | components["schemas"]["simple-user"]; - /** @description The text of the review. */ - body: string; - state: string; + login: string; + display_login?: string; + gravatar_id: OneOf<[string, null]>; /** Format: uri */ - html_url: string; + url: string; /** Format: uri */ - pull_request_url: string; - _links: { - html: { - href: string; - }; - pull_request: { - href: string; - }; - }; - /** Format: date-time */ - submitted_at?: string; - /** @description A commit SHA for the review. */ - commit_id: string; - body_html?: string; - body_text?: string; - author_association: components["schemas"]["author-association"]; + avatar_url: string; }; /** - * Legacy Review Comment - * @description Legacy Review Comment + * Milestone + * @description A collection of related issues and pull requests. */ - "review-comment": { + milestone: { /** Format: uri */ url: string; - pull_request_review_id: OneOf<[number, null]>; - id: number; - node_id: string; - diff_hunk: string; - path: string; - position: OneOf<[number, null]>; - original_position: number; - commit_id: string; - original_commit_id: string; - in_reply_to_id?: number; - user: null | components["schemas"]["simple-user"]; - body: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; /** Format: uri */ html_url: string; /** Format: uri */ - pull_request_url: string; - author_association: components["schemas"]["author-association"]; - _links: { - self: components["schemas"]["link"]; - html: components["schemas"]["link"]; - pull_request: components["schemas"]["link"]; - }; - body_text?: string; - body_html?: string; - reactions?: components["schemas"]["reaction-rollup"]; - /** - * @description The side of the first line of the range for a multi-line comment. - * @default RIGHT - * @enum {string} - */ - side?: "LEFT" | "RIGHT"; - /** - * @description The side of the first line of the range for a multi-line comment. - * @default RIGHT - * @enum {string|null} - */ - start_side?: "LEFT" | "RIGHT" | "" | null; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - line?: number; - /** @description The original line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - original_line?: number; - /** @description The first line of the range for a multi-line comment. */ - start_line?: OneOf<[number, null]>; - /** @description The original first line of the range for a multi-line comment. */ - original_start_line?: OneOf<[number, null]>; - }; - /** - * Release Asset - * @description Data related to a release. - */ - "release-asset": { - /** Format: uri */ - url: string; - /** Format: uri */ - browser_download_url: string; + labels_url: string; id: number; node_id: string; - /** @description The file name of the asset. */ - name: string; - label: OneOf<[string, null]>; + /** @description The number of the milestone. */ + number: number; /** - * @description State of the release asset. + * @description The state of the milestone. + * @default open * @enum {string} */ - state: "uploaded" | "open"; - content_type: string; - size: number; - download_count: number; + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + description: OneOf<[string, null]>; + creator: null | components["schemas"]["simple-user"]; + open_issues: number; + closed_issues: number; /** Format: date-time */ created_at: string; /** Format: date-time */ updated_at: string; - uploader: null | components["schemas"]["simple-user"]; + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + /** Format: date-time */ + due_on: OneOf<[string, null]>; }; /** - * Release - * @description A release. + * author_association + * @description How the author is associated with the repository. + * @enum {string} */ - release: { + "author-association": "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** Reaction Rollup */ + "reaction-rollup": { /** Format: uri */ url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; + eyes: number; + rocket: number; + }; + /** + * Issue + * @description Issues are a great way to keep track of tasks, enhancements, and bugs for your projects. + */ + issue: { + id: number; + node_id: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; /** Format: uri */ - html_url: string; + repository_url: string; + labels_url: string; /** Format: uri */ - assets_url: string; - upload_url: string; + comments_url: string; /** Format: uri */ - tarball_url: OneOf<[string, null]>; + events_url: string; /** Format: uri */ - zipball_url: OneOf<[string, null]>; - id: number; - node_id: string; - /** @description The name of the tag. */ - tag_name: string; - /** @description Specifies the commitish value that determines where the Git tag is created from. */ - target_commitish: string; - name: OneOf<[string, null]>; + html_url: string; + /** @description Number uniquely identifying the issue within its repository */ + number: number; + /** @description State of the issue; either 'open' or 'closed' */ + state: string; + /** + * @description The reason for the current state + * @enum {string|null} + */ + state_reason?: "completed" | "reopened" | "not_planned" | "" | null; + /** @description Title of the issue */ + title: string; + /** @description Contents of the issue */ body?: OneOf<[string, null]>; - /** @description true to create a draft (unpublished) release, false to create a published one. */ - draft: boolean; - /** @description Whether to identify the release as a prerelease or a full release. */ - prerelease: boolean; + user: null | components["schemas"]["simple-user"]; + /** @description Labels to associate with this issue; pass one or more label names to replace the set of labels on this issue; send an empty array to clear all labels from the issue; note that the labels are silently dropped for users without push access to the repository */ + labels: (OneOf<[string, { + /** Format: int64 */ + id?: number; + node_id?: string; + /** Format: uri */ + url?: string; + name?: string; + description?: OneOf<[string, null]>; + color?: OneOf<[string, null]>; + default?: boolean; + }]>)[]; + assignee: null | components["schemas"]["simple-user"]; + assignees?: OneOf<[(components["schemas"]["simple-user"])[], null]>; + milestone: null | components["schemas"]["milestone"]; + locked: boolean; + active_lock_reason?: OneOf<[string, null]>; + comments: number; + pull_request?: { + /** Format: date-time */ + merged_at?: OneOf<[string, null]>; + /** Format: uri */ + diff_url: OneOf<[string, null]>; + /** Format: uri */ + html_url: OneOf<[string, null]>; + /** Format: uri */ + patch_url: OneOf<[string, null]>; + /** Format: uri */ + url: OneOf<[string, null]>; + }; + /** Format: date-time */ + closed_at: OneOf<[string, null]>; /** Format: date-time */ created_at: string; /** Format: date-time */ - published_at: OneOf<[string, null]>; - author: components["schemas"]["simple-user"]; - assets: (components["schemas"]["release-asset"])[]; + updated_at: string; + draft?: boolean; + closed_by?: null | components["schemas"]["simple-user"]; body_html?: string; body_text?: string; - mentions_count?: number; - /** - * Format: uri - * @description The URL of the release discussion. - */ - discussion_url?: string; + /** Format: uri */ + timeline_url?: string; + repository?: components["schemas"]["repository"]; + performed_via_github_app?: null | components["schemas"]["integration"]; + author_association: components["schemas"]["author-association"]; reactions?: components["schemas"]["reaction-rollup"]; }; /** - * Generated Release Notes Content - * @description Generated name and body describing a release + * Issue Comment + * @description Comments provide a way for people to collaborate on an issue. */ - "release-notes-content": { - /** @description The generated name of the release */ - name: string; - /** @description The generated body describing the contents of the release supporting markdown formatting */ - body: string; - }; - "secret-scanning-alert": { - number?: components["schemas"]["alert-number"]; - created_at?: components["schemas"]["alert-created-at"]; - updated_at?: components["schemas"]["alert-updated-at"]; - url?: components["schemas"]["alert-url"]; - html_url?: components["schemas"]["alert-html-url"]; + "issue-comment": { + /** @description Unique identifier of the issue comment */ + id: number; + node_id: string; /** * Format: uri - * @description The REST API URL of the code locations for this alert. - */ - locations_url?: string; - state?: components["schemas"]["secret-scanning-alert-state"]; - resolution?: components["schemas"]["secret-scanning-alert-resolution"]; - /** - * Format: date-time - * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - resolved_at?: OneOf<[string, null]>; - resolved_by?: null | components["schemas"]["simple-user"]; - /** @description An optional comment to resolve an alert. */ - resolution_comment?: OneOf<[string, null]>; - /** @description The type of secret that secret scanning detected. */ - secret_type?: string; - /** - * @description User-friendly name for the detected secret, matching the `secret_type`. - * For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." - */ - secret_type_display_name?: string; - /** @description The secret that was detected. */ - secret?: string; - /** @description Whether push protection was bypassed for the detected secret. */ - push_protection_bypassed?: OneOf<[boolean, null]>; - push_protection_bypassed_by?: null | components["schemas"]["simple-user"]; - /** - * Format: date-time - * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - push_protection_bypassed_at?: OneOf<[string, null]>; - }; - /** @description An optional comment when closing an alert. Cannot be updated or deleted. Must be `null` when changing `state` to `open`. */ - "secret-scanning-alert-resolution-comment": OneOf<[string, null]>; - /** @description Represents a 'commit' secret scanning location type. This location type shows that a secret was detected inside a commit to a repository. */ - "secret-scanning-location-commit": { - /** @description The file path in the repository */ - path: string; - /** @description Line number at which the secret starts in the file */ - start_line: number; - /** @description Line number at which the secret ends in the file */ - end_line: number; - /** @description The column at which the secret starts within the start line when the file is interpreted as 8BIT ASCII */ - start_column: number; - /** @description The column at which the secret ends within the end line when the file is interpreted as 8BIT ASCII */ - end_column: number; - /** @description SHA-1 hash ID of the associated blob */ - blob_sha: string; - /** @description The API URL to get the associated blob resource */ - blob_url: string; - /** @description SHA-1 hash ID of the associated commit */ - commit_sha: string; - /** @description The API URL to get the associated commit resource */ - commit_url: string; - }; - "secret-scanning-location": { - /** - * @description The location type. Because secrets may be found in different types of resources (ie. code, comments, issues), this field identifies the type of resource where the secret was found. - * @enum {string} + * @description URL for the issue comment */ - type: "commit"; - details: components["schemas"]["secret-scanning-location-commit"]; + url: string; + /** @description Contents of the issue comment */ + body?: string; + body_text?: string; + body_html?: string; + /** Format: uri */ + html_url: string; + user: null | components["schemas"]["simple-user"]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + issue_url: string; + author_association: components["schemas"]["author-association"]; + performed_via_github_app?: null | components["schemas"]["integration"]; + reactions?: components["schemas"]["reaction-rollup"]; }; /** - * Stargazer - * @description Stargazer + * Event + * @description Event */ - stargazer: { + event: { + id: string; + type: OneOf<[string, null]>; + actor: components["schemas"]["actor"]; + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + org?: components["schemas"]["actor"]; + payload: { + action?: string; + issue?: components["schemas"]["issue"]; + comment?: components["schemas"]["issue-comment"]; + pages?: ({ + page_name?: string; + title?: string; + summary?: OneOf<[string, null]>; + action?: string; + sha?: string; + html_url?: string; + })[]; + }; + public: boolean; /** Format: date-time */ - starred_at: string; - user: null | components["schemas"]["simple-user"]; + created_at: OneOf<[string, null]>; }; /** - * Code Frequency Stat - * @description Code Frequency Stat - */ - "code-frequency-stat": (number)[]; - /** - * Commit Activity - * @description Commit Activity + * Link With Type + * @description Hypermedia Link with Type */ - "commit-activity": { - days: (number)[]; - total: number; - week: number; + "link-with-type": { + href: string; + type: string; }; /** - * Contributor Activity - * @description Contributor Activity + * Feed + * @description Feed */ - "contributor-activity": { - author: null | components["schemas"]["simple-user"]; - total: number; - weeks: ({ - w?: number; - a?: number; - d?: number; - c?: number; - })[]; - }; - /** Participation Stats */ - "participation-stats": { - all: (number)[]; - owner: (number)[]; + feed: { + timeline_url: string; + user_url: string; + current_user_public_url?: string; + current_user_url?: string; + current_user_actor_url?: string; + current_user_organization_url?: string; + current_user_organization_urls?: (string)[]; + security_advisories_url?: string; + /** @description A feed of discussions for a given repository. */ + repository_discussions_url?: string; + /** @description A feed of discussions for a given repository and category. */ + repository_discussions_category_url?: string; + _links: { + timeline: components["schemas"]["link-with-type"]; + user: components["schemas"]["link-with-type"]; + security_advisories?: components["schemas"]["link-with-type"]; + current_user?: components["schemas"]["link-with-type"]; + current_user_public?: components["schemas"]["link-with-type"]; + current_user_actor?: components["schemas"]["link-with-type"]; + current_user_organization?: components["schemas"]["link-with-type"]; + current_user_organizations?: (components["schemas"]["link-with-type"])[]; + repository_discussions?: components["schemas"]["link-with-type"]; + repository_discussions_category?: components["schemas"]["link-with-type"]; + }; }; /** - * Repository Invitation - * @description Repository invitations let you manage who you collaborate with. + * Base Gist + * @description Base Gist */ - "repository-subscription": { - /** @description Determines if notifications should be received from this repository. */ - subscribed: boolean; - /** @description Determines if all notifications should be blocked from this repository. */ - ignored: boolean; - reason: OneOf<[string, null]>; - /** Format: date-time */ - created_at: string; + "base-gist": { /** Format: uri */ url: string; /** Format: uri */ - repository_url: string; - }; - /** - * Tag - * @description Tag - */ - tag: { - name: string; - commit: { - sha: string; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - zipball_url: string; + forks_url: string; /** Format: uri */ - tarball_url: string; + commits_url: string; + id: string; node_id: string; - }; - /** - * Tag protection - * @description Tag protection - */ - "tag-protection": { - id?: number; - created_at?: string; - updated_at?: string; - enabled?: boolean; - pattern: string; - }; - /** - * Topic - * @description A topic aggregates entities that are related to a subject. - */ - topic: { - names: (string)[]; - }; - /** Traffic */ - traffic: { + /** Format: uri */ + git_pull_url: string; + /** Format: uri */ + git_push_url: string; + /** Format: uri */ + html_url: string; + files: { + [key: string]: { + filename?: string; + type?: string; + language?: string; + raw_url?: string; + size?: number; + } | undefined; + }; + public: boolean; /** Format: date-time */ - timestamp: string; - uniques: number; - count: number; + created_at: string; + /** Format: date-time */ + updated_at: string; + description: OneOf<[string, null]>; + comments: number; + user: null | components["schemas"]["simple-user"]; + /** Format: uri */ + comments_url: string; + owner?: components["schemas"]["simple-user"]; + truncated?: boolean; + forks?: (Record)[]; + history?: (Record)[]; }; /** - * Clone Traffic - * @description Clone Traffic - */ - "clone-traffic": { - count: number; - uniques: number; - clones: (components["schemas"]["traffic"])[]; + * Public User + * @description Public User + */ + "public-user": { + login: string; + id: number; + node_id: string; + /** Format: uri */ + avatar_url: string; + gravatar_id: OneOf<[string, null]>; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + /** Format: uri */ + subscriptions_url: string; + /** Format: uri */ + organizations_url: string; + /** Format: uri */ + repos_url: string; + events_url: string; + /** Format: uri */ + received_events_url: string; + type: string; + site_admin: boolean; + name: OneOf<[string, null]>; + company: OneOf<[string, null]>; + blog: OneOf<[string, null]>; + location: OneOf<[string, null]>; + /** Format: email */ + email: OneOf<[string, null]>; + hireable: OneOf<[boolean, null]>; + bio: OneOf<[string, null]>; + twitter_username?: OneOf<[string, null]>; + public_repos: number; + public_gists: number; + followers: number; + following: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + plan?: { + collaborators: number; + name: string; + space: number; + private_repos: number; + }; + /** Format: date-time */ + suspended_at?: OneOf<[string, null]>; + private_gists?: number; + total_private_repos?: number; + owned_private_repos?: number; + disk_usage?: number; + collaborators?: number; }; /** - * Content Traffic - * @description Content Traffic + * Gist History + * @description Gist History */ - "content-traffic": { - path: string; - title: string; - count: number; - uniques: number; + "gist-history": { + user?: null | components["schemas"]["simple-user"]; + version?: string; + /** Format: date-time */ + committed_at?: string; + change_status?: { + total?: number; + additions?: number; + deletions?: number; + }; + /** Format: uri */ + url?: string; }; /** - * Referrer Traffic - * @description Referrer Traffic + * Gist Simple + * @description Gist Simple */ - "referrer-traffic": { - referrer: string; - count: number; - uniques: number; + "gist-simple": { + /** @deprecated */ + forks?: OneOf<[({ + id?: string; + /** Format: uri */ + url?: string; + user?: components["schemas"]["public-user"]; + /** Format: date-time */ + created_at?: string; + /** Format: date-time */ + updated_at?: string; + })[], null]>; + /** @deprecated */ + history?: OneOf<[(components["schemas"]["gist-history"])[], null]>; + /** + * Gist + * @description Gist + */ + fork_of?: OneOf<[{ + /** Format: uri */ + url: string; + /** Format: uri */ + forks_url: string; + /** Format: uri */ + commits_url: string; + id: string; + node_id: string; + /** Format: uri */ + git_pull_url: string; + /** Format: uri */ + git_push_url: string; + /** Format: uri */ + html_url: string; + files: { + [key: string]: { + filename?: string; + type?: string; + language?: string; + raw_url?: string; + size?: number; + } | undefined; + }; + public: boolean; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + description: OneOf<[string, null]>; + comments: number; + user: null | components["schemas"]["simple-user"]; + /** Format: uri */ + comments_url: string; + owner?: null | components["schemas"]["simple-user"]; + truncated?: boolean; + forks?: (Record)[]; + history?: (Record)[]; + }, null]>; + url?: string; + forks_url?: string; + commits_url?: string; + id?: string; + node_id?: string; + git_pull_url?: string; + git_push_url?: string; + html_url?: string; + files?: { + [key: string]: OneOf<[{ + filename?: string; + type?: string; + language?: string; + raw_url?: string; + size?: number; + truncated?: boolean; + content?: string; + }, null]> | undefined; + }; + public?: boolean; + created_at?: string; + updated_at?: string; + description?: OneOf<[string, null]>; + comments?: number; + user?: OneOf<[string, null]>; + comments_url?: string; + owner?: components["schemas"]["simple-user"]; + truncated?: boolean; }; /** - * View Traffic - * @description View Traffic + * Gist Comment + * @description A comment made to a gist. */ - "view-traffic": { - count: number; - uniques: number; - views: (components["schemas"]["traffic"])[]; + "gist-comment": { + id: number; + node_id: string; + /** Format: uri */ + url: string; + /** @description The comment text. */ + body: string; + user: null | components["schemas"]["simple-user"]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + author_association: components["schemas"]["author-association"]; }; - /** Search Result Text Matches */ - "search-result-text-matches": ({ - object_url?: string; - object_type?: OneOf<[string, null]>; - property?: string; - fragment?: string; - matches?: ({ - text?: string; - indices?: (number)[]; - })[]; - })[]; /** - * Code Search Result Item - * @description Code Search Result Item + * Gist Commit + * @description Gist Commit */ - "code-search-result-item": { - name: string; - path: string; - sha: string; + "gist-commit": { /** Format: uri */ url: string; - /** Format: uri */ - git_url: string; - /** Format: uri */ - html_url: string; - repository: components["schemas"]["minimal-repository"]; - score: number; - file_size?: number; - language?: OneOf<[string, null]>; + version: string; + user: null | components["schemas"]["simple-user"]; + change_status: { + total?: number; + additions?: number; + deletions?: number; + }; /** Format: date-time */ - last_modified_at?: string; - line_numbers?: (string)[]; - text_matches?: components["schemas"]["search-result-text-matches"]; + committed_at: string; }; /** - * Commit Search Result Item - * @description Commit Search Result Item + * Gitignore Template + * @description Gitignore Template */ - "commit-search-result-item": { + "gitignore-template": { + name: string; + source: string; + }; + /** + * License + * @description License + */ + license: { + key: string; + name: string; + spdx_id: OneOf<[string, null]>; /** Format: uri */ - url: string; - sha: string; + url: OneOf<[string, null]>; + node_id: string; /** Format: uri */ html_url: string; - /** Format: uri */ - comments_url: string; - commit: { - author: { - name: string; - email: string; - /** Format: date-time */ - date: string; - }; - committer: null | components["schemas"]["git-user"]; - comment_count: number; - message: string; - tree: { - sha: string; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - url: string; - verification?: components["schemas"]["verification"]; - }; - author: null | components["schemas"]["simple-user"]; - committer: null | components["schemas"]["git-user"]; - parents: ({ - url?: string; - html_url?: string; - sha?: string; - })[]; - repository: components["schemas"]["minimal-repository"]; - score: number; - node_id: string; - text_matches?: components["schemas"]["search-result-text-matches"]; + description: string; + implementation: string; + permissions: (string)[]; + conditions: (string)[]; + limitations: (string)[]; + body: string; + featured: boolean; }; /** - * Issue Search Result Item - * @description Issue Search Result Item + * Marketplace Listing Plan + * @description Marketplace Listing Plan */ - "issue-search-result-item": { + "marketplace-listing-plan": { /** Format: uri */ url: string; /** Format: uri */ - repository_url: string; - labels_url: string; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; + accounts_url: string; id: number; - node_id: string; number: number; - title: string; - locked: boolean; - active_lock_reason?: OneOf<[string, null]>; - assignees?: OneOf<[(components["schemas"]["simple-user"])[], null]>; - user: null | components["schemas"]["simple-user"]; - labels: ({ - /** Format: int64 */ - id?: number; - node_id?: string; - url?: string; - name?: string; - color?: string; - default?: boolean; - description?: OneOf<[string, null]>; - })[]; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: OneOf<[string, null]>; state: string; - state_reason?: OneOf<[string, null]>; - assignee: null | components["schemas"]["simple-user"]; - milestone: null | components["schemas"]["milestone"]; - comments: number; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - text_matches?: components["schemas"]["search-result-text-matches"]; - pull_request?: { - /** Format: date-time */ - merged_at?: OneOf<[string, null]>; - /** Format: uri */ - diff_url: OneOf<[string, null]>; - /** Format: uri */ - html_url: OneOf<[string, null]>; - /** Format: uri */ - patch_url: OneOf<[string, null]>; - /** Format: uri */ - url: OneOf<[string, null]>; - }; - body?: string; - score: number; - author_association: components["schemas"]["author-association"]; - draft?: boolean; - repository?: components["schemas"]["repository"]; - body_html?: string; - body_text?: string; - /** Format: uri */ - timeline_url?: string; - performed_via_github_app?: null | components["schemas"]["integration"]; - reactions?: components["schemas"]["reaction-rollup"]; + bullets: (string)[]; }; /** - * Label Search Result Item - * @description Label Search Result Item + * Marketplace Purchase + * @description Marketplace Purchase */ - "label-search-result-item": { - id: number; - node_id: string; - /** Format: uri */ + "marketplace-purchase": { url: string; - name: string; - color: string; - default: boolean; - description: OneOf<[string, null]>; - score: number; - text_matches?: components["schemas"]["search-result-text-matches"]; + type: string; + id: number; + login: string; + organization_billing_email?: string; + email?: OneOf<[string, null]>; + marketplace_pending_change?: OneOf<[{ + is_installed?: boolean; + effective_date?: string; + unit_count?: OneOf<[number, null]>; + id?: number; + plan?: components["schemas"]["marketplace-listing-plan"]; + }, null]>; + marketplace_purchase: { + billing_cycle?: string; + next_billing_date?: OneOf<[string, null]>; + is_installed?: boolean; + unit_count?: OneOf<[number, null]>; + on_free_trial?: boolean; + free_trial_ends_on?: OneOf<[string, null]>; + updated_at?: string; + plan?: components["schemas"]["marketplace-listing-plan"]; + }; }; /** - * Repo Search Result Item - * @description Repo Search Result Item + * Api Overview + * @description Api Overview */ - "repo-search-result-item": { + "api-overview": { + verifiable_password_authentication: boolean; + ssh_key_fingerprints?: { + SHA256_RSA?: string; + SHA256_DSA?: string; + SHA256_ECDSA?: string; + SHA256_ED25519?: string; + }; + ssh_keys?: (string)[]; + hooks?: (string)[]; + web?: (string)[]; + api?: (string)[]; + git?: (string)[]; + packages?: (string)[]; + pages?: (string)[]; + importer?: (string)[]; + actions?: (string)[]; + dependabot?: (string)[]; + }; + /** + * Minimal Repository + * @description Minimal Repository + */ + "minimal-repository": { id: number; node_id: string; name: string; full_name: string; - owner: null | components["schemas"]["simple-user"]; + owner: components["schemas"]["simple-user"]; private: boolean; /** Format: uri */ html_url: string; @@ -16054,7695 +12294,6664 @@ export interface components { fork: boolean; /** Format: uri */ url: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - pushed_at: string; - /** Format: uri */ - homepage: OneOf<[string, null]>; - size: number; - stargazers_count: number; - watchers_count: number; - language: OneOf<[string, null]>; - forks_count: number; - open_issues_count: number; - master_branch?: string; - default_branch: string; - score: number; - /** Format: uri */ - forks_url: string; - keys_url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; /** Format: uri */ - teams_url: string; + contributors_url: string; /** Format: uri */ - hooks_url: string; - issue_events_url: string; + deployments_url: string; + /** Format: uri */ + downloads_url: string; /** Format: uri */ events_url: string; - assignees_url: string; - branches_url: string; /** Format: uri */ - tags_url: string; - blobs_url: string; - git_tags_url: string; + forks_url: string; + git_commits_url: string; git_refs_url: string; - trees_url: string; - statuses_url: string; + git_tags_url: string; + git_url?: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; /** Format: uri */ languages_url: string; /** Format: uri */ - stargazers_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url?: string; /** Format: uri */ - contributors_url: string; + stargazers_url: string; + statuses_url: string; /** Format: uri */ subscribers_url: string; /** Format: uri */ subscription_url: string; - commits_url: string; - git_commits_url: string; - comments_url: string; - issue_comment_url: string; - contents_url: string; - compare_url: string; /** Format: uri */ - merges_url: string; - archive_url: string; + tags_url: string; /** Format: uri */ - downloads_url: string; - issues_url: string; - pulls_url: string; - milestones_url: string; - notifications_url: string; - labels_url: string; - releases_url: string; - /** Format: uri */ - deployments_url: string; - git_url: string; - ssh_url: string; - clone_url: string; + teams_url: string; + trees_url: string; + clone_url?: string; + mirror_url?: OneOf<[string, null]>; /** Format: uri */ - svn_url: string; - forks: number; - open_issues: number; - watchers: number; + hooks_url: string; + svn_url?: string; + homepage?: OneOf<[string, null]>; + language?: OneOf<[string, null]>; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; topics?: (string)[]; - /** Format: uri */ - mirror_url: OneOf<[string, null]>; - has_issues: boolean; - has_projects: boolean; - has_pages: boolean; - has_wiki: boolean; - has_downloads: boolean; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; has_discussions?: boolean; - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** @description The repository visibility: public, private, or internal. */ + archived?: boolean; + disabled?: boolean; visibility?: string; - license: null | components["schemas"]["license-simple"]; + /** Format: date-time */ + pushed_at?: OneOf<[string, null]>; + /** Format: date-time */ + created_at?: OneOf<[string, null]>; + /** Format: date-time */ + updated_at?: OneOf<[string, null]>; permissions?: { - admin: boolean; + admin?: boolean; maintain?: boolean; - push: boolean; + push?: boolean; triage?: boolean; - pull: boolean; + pull?: boolean; }; - text_matches?: components["schemas"]["search-result-text-matches"]; + role_name?: string; temp_clone_token?: string; - allow_merge_commit?: boolean; - allow_squash_merge?: boolean; - allow_rebase_merge?: boolean; - allow_auto_merge?: boolean; delete_branch_on_merge?: boolean; + subscribers_count?: number; + network_count?: number; + code_of_conduct?: components["schemas"]["code-of-conduct"]; + license?: OneOf<[{ + key?: string; + name?: string; + spdx_id?: string; + url?: string; + node_id?: string; + }, null]>; + forks?: number; + open_issues?: number; + watchers?: number; allow_forking?: boolean; - is_template?: boolean; web_commit_signoff_required?: boolean; }; /** - * Topic Search Result Item - * @description Topic Search Result Item + * Thread + * @description Thread */ - "topic-search-result-item": { - name: string; - display_name: OneOf<[string, null]>; - short_description: OneOf<[string, null]>; - description: OneOf<[string, null]>; - created_by: OneOf<[string, null]>; - released: OneOf<[string, null]>; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ + thread: { + id: string; + repository: components["schemas"]["minimal-repository"]; + subject: { + title: string; + url: string; + latest_comment_url: string; + type: string; + }; + reason: string; + unread: boolean; updated_at: string; - featured: boolean; - curated: boolean; - score: number; - repository_count?: OneOf<[number, null]>; - /** Format: uri */ - logo_url?: OneOf<[string, null]>; - text_matches?: components["schemas"]["search-result-text-matches"]; - related?: OneOf<[({ - topic_relation?: { - id?: number; - name?: string; - topic_id?: number; - relation_type?: string; - }; - })[], null]>; - aliases?: OneOf<[({ - topic_relation?: { - id?: number; - name?: string; - topic_id?: number; - relation_type?: string; - }; - })[], null]>; + last_read_at: OneOf<[string, null]>; + url: string; + subscription_url: string; }; /** - * User Search Result Item - * @description User Search Result Item + * Thread Subscription + * @description Thread Subscription */ - "user-search-result-item": { - login: string; - id: number; - node_id: string; - /** Format: uri */ - avatar_url: string; - gravatar_id: OneOf<[string, null]>; + "thread-subscription": { + subscribed: boolean; + ignored: boolean; + reason: OneOf<[string, null]>; + /** Format: date-time */ + created_at: OneOf<[string, null]>; /** Format: uri */ url: string; /** Format: uri */ - html_url: string; - /** Format: uri */ - followers_url: string; - /** Format: uri */ - subscriptions_url: string; - /** Format: uri */ - organizations_url: string; - /** Format: uri */ - repos_url: string; + thread_url?: string; /** Format: uri */ - received_events_url: string; - type: string; - score: number; - following_url: string; - gists_url: string; - starred_url: string; - events_url: string; - public_repos?: number; - public_gists?: number; - followers?: number; - following?: number; + repository_url?: string; + }; + /** + * Organization Custom Repository Role + * @description Custom repository roles created by organization administrators + */ + "organization-custom-repository-role": { + /** @description The unique identifier of the custom role. */ + id: number; + /** @description The name of the custom role. */ + name: string; + /** @description A short description about who this role is for or what permissions it grants. */ + description?: OneOf<[string, null]>; + /** + * @description The system role from which this role inherits permissions. + * @enum {string} + */ + base_role?: "read" | "triage" | "write" | "maintain"; + /** @description A list of additional permissions included in this role. */ + permissions?: (string)[]; + organization?: components["schemas"]["simple-user"]; /** Format: date-time */ created_at?: string; /** Format: date-time */ updated_at?: string; - name?: OneOf<[string, null]>; - bio?: OneOf<[string, null]>; - /** Format: email */ - email?: OneOf<[string, null]>; - location?: OneOf<[string, null]>; - site_admin: boolean; - hireable?: OneOf<[boolean, null]>; - text_matches?: components["schemas"]["search-result-text-matches"]; - blog?: OneOf<[string, null]>; - company?: OneOf<[string, null]>; - /** Format: date-time */ - suspended_at?: OneOf<[string, null]>; }; /** - * Private User - * @description Private User + * Organization Full + * @description Organization Full */ - "private-user": { + "organization-full": { login: string; id: number; node_id: string; /** Format: uri */ - avatar_url: string; - gravatar_id: OneOf<[string, null]>; - /** Format: uri */ url: string; /** Format: uri */ - html_url: string; - /** Format: uri */ - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - /** Format: uri */ - subscriptions_url: string; - /** Format: uri */ - organizations_url: string; - /** Format: uri */ repos_url: string; + /** Format: uri */ events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: OneOf<[string, null]>; + name?: string; + company?: string; /** Format: uri */ - received_events_url: string; - type: string; - site_admin: boolean; - name: OneOf<[string, null]>; - company: OneOf<[string, null]>; - blog: OneOf<[string, null]>; - location: OneOf<[string, null]>; + blog?: string; + location?: string; /** Format: email */ - email: OneOf<[string, null]>; - hireable: OneOf<[boolean, null]>; - bio: OneOf<[string, null]>; + email?: string; twitter_username?: OneOf<[string, null]>; + is_verified?: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; public_repos: number; public_gists: number; followers: number; following: number; + /** Format: uri */ + html_url: string; /** Format: date-time */ created_at: string; - /** Format: date-time */ - updated_at: string; - private_gists: number; - total_private_repos: number; - owned_private_repos: number; - disk_usage: number; - collaborators: number; - two_factor_authentication: boolean; + type: string; + total_private_repos?: number; + owned_private_repos?: number; + private_gists?: OneOf<[number, null]>; + disk_usage?: OneOf<[number, null]>; + collaborators?: OneOf<[number, null]>; + /** Format: email */ + billing_email?: OneOf<[string, null]>; plan?: { - collaborators: number; name: string; space: number; private_repos: number; + filled_seats?: number; + seats?: number; }; + default_repository_permission?: OneOf<[string, null]>; + members_can_create_repositories?: OneOf<[boolean, null]>; + two_factor_requirement_enabled?: OneOf<[boolean, null]>; + members_allowed_repository_creation_type?: string; + members_can_create_public_repositories?: boolean; + members_can_create_private_repositories?: boolean; + members_can_create_internal_repositories?: boolean; + members_can_create_pages?: boolean; + members_can_create_public_pages?: boolean; + members_can_create_private_pages?: boolean; + members_can_fork_private_repositories?: OneOf<[boolean, null]>; + web_commit_signoff_required?: boolean; /** Format: date-time */ - suspended_at?: OneOf<[string, null]>; - business_plus?: boolean; - ldap_dn?: string; + updated_at: string; + /** + * @description Whether GitHub Advanced Security is enabled for new repositories and repositories transferred to this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + */ + advanced_security_enabled_for_new_repositories?: boolean; + /** + * @description Whether GitHub Advanced Security is automatically enabled for new repositories and repositories transferred to + * this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + */ + dependabot_alerts_enabled_for_new_repositories?: boolean; + /** + * @description Whether dependabot security updates are automatically enabled for new repositories and repositories transferred + * to this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + */ + dependabot_security_updates_enabled_for_new_repositories?: boolean; + /** + * @description Whether dependency graph is automatically enabled for new repositories and repositories transferred to this + * organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + */ + dependency_graph_enabled_for_new_repositories?: boolean; + /** + * @description Whether secret scanning is automatically enabled for new repositories and repositories transferred to this + * organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + */ + secret_scanning_enabled_for_new_repositories?: boolean; + /** + * @description Whether secret scanning push protection is automatically enabled for new repositories and repositories + * transferred to this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + */ + secret_scanning_push_protection_enabled_for_new_repositories?: boolean; + /** @description Whether a custom link is shown to contributors who are blocked from pushing a secret by push protection. */ + secret_scanning_push_protection_custom_link_enabled?: boolean; + /** @description An optional URL string to display to contributors who are blocked from pushing a secret. */ + secret_scanning_push_protection_custom_link?: OneOf<[string, null]>; }; /** - * Codespaces Secret - * @description Secrets for a GitHub Codespace. + * Actions Cache Usage by repository + * @description GitHub Actions Cache Usage by repository. */ - "codespaces-secret": { - /** @description The name of the secret */ + "actions-cache-usage-by-repository": { + /** @description The repository owner and name for the cache usage being shown. */ + full_name: string; + /** @description The sum of the size in bytes of all the active cache items in the repository. */ + active_caches_size_in_bytes: number; + /** @description The number of active caches in the repository. */ + active_caches_count: number; + }; + /** + * @description The policy that controls the repositories in the organization that are allowed to run GitHub Actions. + * @enum {string} + */ + "enabled-repositories": "all" | "none" | "selected"; + "actions-organization-permissions": { + enabled_repositories: components["schemas"]["enabled-repositories"]; + /** @description The API URL to use to get or set the selected repositories that are allowed to run GitHub Actions, when `enabled_repositories` is set to `selected`. */ + selected_repositories_url?: string; + allowed_actions?: components["schemas"]["allowed-actions"]; + selected_actions_url?: components["schemas"]["selected-actions-url"]; + }; + "runner-groups-org": { + id: number; name: string; + visibility: string; + default: boolean; + /** @description Link to the selected repositories resource for this runner group. Not present unless visibility was set to `selected` */ + selected_repositories_url?: string; + runners_url: string; + inherited: boolean; + inherited_allows_public_repositories?: boolean; + allows_public_repositories: boolean; /** - * Format: date-time - * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + * @description If `true`, the `restricted_to_workflows` and `selected_workflows` fields cannot be modified. + * @default false */ - created_at: string; + workflow_restrictions_read_only?: boolean; /** - * Format: date-time - * @description The date and time at which the secret was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + * @description If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array. + * @default false */ + restricted_to_workflows?: boolean; + /** @description List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`. */ + selected_workflows?: (string)[]; + }; + /** + * Actions Secret for an Organization + * @description Secrets for GitHub Actions for an organization. + */ + "organization-actions-secret": { + /** @description The name of the secret. */ + name: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ updated_at: string; /** - * @description The type of repositories in the organization that the secret is visible to + * @description Visibility of a secret * @enum {string} */ visibility: "all" | "private" | "selected"; - /** - * Format: uri - * @description The API URL at which the list of repositories this secret is visible to can be retrieved - */ - selected_repositories_url: string; + /** Format: uri */ + selected_repositories_url?: string; }; /** - * CodespacesUserPublicKey - * @description The public key used for setting user Codespaces' Secrets. + * ActionsPublicKey + * @description The public key used for setting Actions Secrets. */ - "codespaces-user-public-key": { + "actions-public-key": { /** @description The identifier for the key. */ key_id: string; /** @description The Base64 encoded public key. */ key: string; + id?: number; + url?: string; + title?: string; + created_at?: string; }; /** - * Fetches information about an export of a codespace. - * @description An export of a codespace. Also, latest export details for a codespace can be fetched with id = latest + * Empty Object + * @description An object without any properties. */ - "codespace-export-details": { - /** @description State of the latest export */ - state?: OneOf<[string, null]>; - /** - * Format: date-time - * @description Completion time of the last export operation - */ - completed_at?: OneOf<[string, null]>; - /** @description Name of the exported branch */ - branch?: OneOf<[string, null]>; - /** @description Git commit SHA of the exported branch */ - sha?: OneOf<[string, null]>; - /** @description Id for the export details */ - id?: string; - /** @description Url for fetching export details */ - export_url?: string; - /** @description Web url for the exported branch */ - html_url?: OneOf<[string, null]>; - }; + "empty-object": Record; /** - * Email - * @description Email + * Codespace machine + * @description A description of the machine powering a codespace. */ - email: { - /** Format: email */ - email: string; - primary: boolean; - verified: boolean; - visibility: OneOf<[string, null]>; + "codespace-machine": { + /** @description The name of the machine. */ + name: string; + /** @description The display name of the machine includes cores, memory, and storage. */ + display_name: string; + /** @description The operating system of the machine. */ + operating_system: string; + /** @description How much storage is available to the codespace. */ + storage_in_bytes: number; + /** @description How much memory is available to the codespace. */ + memory_in_bytes: number; + /** @description How many cores are available to the codespace. */ + cpus: number; + /** + * @description Whether a prebuild is currently available when creating a codespace for this machine and repository. If a branch was not specified as a ref, the default branch will be assumed. Value will be "null" if prebuilds are not supported or prebuild availability could not be determined. Value will be "none" if no prebuild is available. Latest values "ready" and "in_progress" indicate the prebuild availability status. + * @enum {string|null} + */ + prebuild_availability: "none" | "ready" | "in_progress" | "" | null; }; /** - * GPG Key - * @description A unique encryption key + * Codespace + * @description A codespace. */ - "gpg-key": { + codespace: { id: number; - name?: OneOf<[string, null]>; - primary_key_id: OneOf<[number, null]>; - key_id: string; - public_key: string; - emails: ({ - email?: string; - verified?: boolean; - })[]; - subkeys: ({ - id?: number; - primary_key_id?: number; - key_id?: string; - public_key?: string; - emails?: (Record)[]; - subkeys?: (Record)[]; - can_sign?: boolean; - can_encrypt_comms?: boolean; - can_encrypt_storage?: boolean; - can_certify?: boolean; - created_at?: string; - expires_at?: OneOf<[string, null]>; - raw_key?: OneOf<[string, null]>; - revoked?: boolean; - })[]; - can_sign: boolean; - can_encrypt_comms: boolean; - can_encrypt_storage: boolean; - can_certify: boolean; + /** @description Automatically generated name of this codespace. */ + name: string; + /** @description Display name for this codespace. */ + display_name?: OneOf<[string, null]>; + /** @description UUID identifying this codespace's environment. */ + environment_id: OneOf<[string, null]>; + owner: components["schemas"]["simple-user"]; + billable_owner: components["schemas"]["simple-user"]; + repository: components["schemas"]["minimal-repository"]; + machine: null | components["schemas"]["codespace-machine"]; + /** @description Path to devcontainer.json from repo root used to create Codespace. */ + devcontainer_path?: OneOf<[string, null]>; + /** @description Whether the codespace was created from a prebuild. */ + prebuild: OneOf<[boolean, null]>; /** Format: date-time */ created_at: string; /** Format: date-time */ - expires_at: OneOf<[string, null]>; - revoked: boolean; - raw_key: OneOf<[string, null]>; - }; + updated_at: string; + /** + * Format: date-time + * @description Last known time this codespace was started. + */ + last_used_at: string; + /** + * @description State of this codespace. + * @enum {string} + */ + state: "Unknown" | "Created" | "Queued" | "Provisioning" | "Available" | "Awaiting" | "Unavailable" | "Deleted" | "Moved" | "Shutdown" | "Archived" | "Starting" | "ShuttingDown" | "Failed" | "Exporting" | "Updating" | "Rebuilding"; + /** + * Format: uri + * @description API URL for this codespace. + */ + url: string; + /** @description Details about the codespace's git repository. */ + git_status: { + /** @description The number of commits the local repository is ahead of the remote. */ + ahead?: number; + /** @description The number of commits the local repository is behind the remote. */ + behind?: number; + /** @description Whether the local repository has unpushed changes. */ + has_unpushed_changes?: boolean; + /** @description Whether the local repository has uncommitted changes. */ + has_uncommitted_changes?: boolean; + /** @description The current branch (or SHA if in detached HEAD state) of the local repository. */ + ref?: string; + }; + /** + * @description The Azure region where this codespace is located. + * @enum {string} + */ + location: "EastUs" | "SouthEastAsia" | "WestEurope" | "WestUs2"; + /** @description The number of minutes of inactivity after which this codespace will be automatically stopped. */ + idle_timeout_minutes: OneOf<[number, null]>; + /** + * Format: uri + * @description URL to access this codespace on the web. + */ + web_url: string; + /** + * Format: uri + * @description API URL to access available alternate machine types for this codespace. + */ + machines_url: string; + /** + * Format: uri + * @description API URL to start this codespace. + */ + start_url: string; + /** + * Format: uri + * @description API URL to stop this codespace. + */ + stop_url: string; + /** + * Format: uri + * @description API URL for the Pull Request associated with this codespace, if any. + */ + pulls_url: OneOf<[string, null]>; + recent_folders: (string)[]; + runtime_constraints?: { + /** @description The privacy settings a user can select from when forwarding a port. */ + allowed_port_privacy_settings?: OneOf<[(string)[], null]>; + }; + /** @description Whether or not a codespace has a pending async operation. This would mean that the codespace is temporarily unavailable. The only thing that you can do with a codespace in this state is delete it. */ + pending_operation?: OneOf<[boolean, null]>; + /** @description Text to show user when codespace is disabled by a pending operation */ + pending_operation_disabled_reason?: OneOf<[string, null]>; + /** @description Text to show user when codespace idle timeout minutes has been overriden by an organization policy */ + idle_timeout_notice?: OneOf<[string, null]>; + /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ + retention_period_minutes?: OneOf<[number, null]>; + /** + * Format: date-time + * @description When a codespace will be auto-deleted based on the "retention_period_minutes" and "last_used_at" + */ + retention_expires_at?: OneOf<[string, null]>; + /** @description The text to display to a user when a codespace has been stopped for a potentially actionable reason. */ + last_known_stop_notice?: OneOf<[string, null]>; + }; /** - * Key - * @description Key + * Codespaces Secret + * @description Secrets for a GitHub Codespace. */ - key: { - key: string; - id: number; - url: string; - title: string; - /** Format: date-time */ + "codespaces-org-secret": { + /** @description The name of the secret */ + name: string; + /** + * Format: date-time + * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ created_at: string; - verified: boolean; - read_only: boolean; + /** + * Format: date-time + * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + updated_at: string; + /** + * @description The type of repositories in the organization that the secret is visible to + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** + * Format: uri + * @description The API URL at which the list of repositories this secret is visible to can be retrieved + */ + selected_repositories_url?: string; }; - /** Marketplace Account */ - "marketplace-account": { - /** Format: uri */ - url: string; - id: number; - type: string; - node_id?: string; - login: string; - /** Format: email */ - email?: OneOf<[string, null]>; - /** Format: email */ - organization_billing_email?: OneOf<[string, null]>; + /** + * CodespacesPublicKey + * @description The public key used for setting Codespaces secrets. + */ + "codespaces-public-key": { + /** @description The identifier for the key. */ + key_id: string; + /** @description The Base64 encoded public key. */ + key: string; + id?: number; + url?: string; + title?: string; + created_at?: string; }; /** - * User Marketplace Purchase - * @description User Marketplace Purchase + * Dependabot Secret for an Organization + * @description Secrets for GitHub Dependabot for an organization. */ - "user-marketplace-purchase": { - billing_cycle: string; - /** Format: date-time */ - next_billing_date: OneOf<[string, null]>; - unit_count: OneOf<[number, null]>; - on_free_trial: boolean; + "organization-dependabot-secret": { + /** @description The name of the secret. */ + name: string; /** Format: date-time */ - free_trial_ends_on: OneOf<[string, null]>; + created_at: string; /** Format: date-time */ - updated_at: OneOf<[string, null]>; - account: components["schemas"]["marketplace-account"]; - plan: components["schemas"]["marketplace-listing-plan"]; + updated_at: string; + /** + * @description Visibility of a secret + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** Format: uri */ + selected_repositories_url?: string; }; /** - * SSH Signing Key - * @description A public SSH key used to sign Git commits + * DependabotPublicKey + * @description The public key used for setting Dependabot Secrets. */ - "ssh-signing-key": { + "dependabot-public-key": { + /** @description The identifier for the key. */ + key_id: string; + /** @description The Base64 encoded public key. */ key: string; + }; + /** + * Organization Invitation + * @description Organization Invitation + */ + "organization-invitation": { id: number; - title: string; - /** Format: date-time */ + login: OneOf<[string, null]>; + email: OneOf<[string, null]>; + role: string; created_at: string; + failed_at?: OneOf<[string, null]>; + failed_reason?: OneOf<[string, null]>; + inviter: components["schemas"]["simple-user"]; + team_count: number; + node_id: string; + invitation_teams_url: string; }; /** - * Starred Repository - * @description Starred Repository + * Organization Fine-Grained Permission + * @description Fine-grained permissions available for the organization */ - "starred-repository": { + "organization-fine-grained-permission": { + name: string; + description: string; + }; + /** + * Org Hook + * @description Org Hook + */ + "org-hook": { + id: number; + /** Format: uri */ + url: string; + /** Format: uri */ + ping_url: string; + /** Format: uri */ + deliveries_url?: string; + name: string; + events: (string)[]; + active: boolean; + config: { + url?: string; + insecure_ssl?: string; + content_type?: string; + secret?: string; + }; /** Format: date-time */ - starred_at: string; - repo: components["schemas"]["repository"]; + updated_at: string; + /** Format: date-time */ + created_at: string; + type: string; }; /** - * Hovercard - * @description Hovercard + * @description The type of GitHub user that can comment, open issues, or create pull requests while the interaction limit is in effect. + * @enum {string} */ - hovercard: { - contexts: ({ - message: string; - octicon: string; - })[]; + "interaction-group": "existing_users" | "contributors_only" | "collaborators_only"; + /** + * Interaction Limits + * @description Interaction limit settings. + */ + "interaction-limit-response": { + limit: components["schemas"]["interaction-group"]; + origin: string; + /** Format: date-time */ + expires_at: string; }; /** - * Key Simple - * @description Key Simple + * @description The duration of the interaction restriction. Default: `one_day`. + * @enum {string} */ - "key-simple": { - id: number; - key: string; + "interaction-expiry": "one_day" | "three_days" | "one_week" | "one_month" | "six_months"; + /** + * Interaction Restrictions + * @description Limit interactions to a specific type of user for a specified duration + */ + "interaction-limit": { + limit: components["schemas"]["interaction-group"]; + expiry?: components["schemas"]["interaction-expiry"]; }; /** - * Simple Installation - * @description The GitHub App installation. This property is included when the event is configured for and sent to a GitHub App. + * Team Simple + * @description Groups of organization members that gives permissions on specified repositories. */ - "simple-installation": { - /** @description The ID of the installation. */ + "team-simple": { + /** @description Unique identifier of the team */ id: number; - /** @description The global node ID of the installation. */ node_id: string; - }; - /** @description A suite of checks performed on the code of a given code change */ - "simple-check-suite": { - after?: OneOf<[string, null]>; - app?: components["schemas"]["integration"]; - before?: OneOf<[string, null]>; - /** @enum {string|null} */ - conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | "stale" | "startup_failure" | "" | null; - /** Format: date-time */ - created_at?: string; - head_branch?: OneOf<[string, null]>; - /** @description The SHA of the head commit that is being checked. */ - head_sha?: string; - id?: number; - node_id?: string; - pull_requests?: (components["schemas"]["pull-request-minimal"])[]; - repository?: components["schemas"]["minimal-repository"]; - /** @enum {string} */ - status?: "queued" | "in_progress" | "completed" | "pending" | "waiting"; - /** Format: date-time */ - updated_at?: string; - url?: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + members_url: string; + /** @description Name of the team */ + name: string; + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @description The level of privacy this team should have */ + privacy?: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + repositories_url: string; + slug: string; + /** @description Distinguished Name (DN) that team maps to within LDAP environment */ + ldap_dn?: string; }; /** - * CheckRun - * @description A check performed on the code of a given code change + * Team + * @description Groups of organization members that gives permissions on specified repositories. */ - "check-run-with-simple-check-suite": { - app: null | components["schemas"]["integration"]; - check_suite: components["schemas"]["simple-check-suite"]; - /** Format: date-time */ - completed_at: OneOf<[string, null]>; - /** @enum {string|null} */ - conclusion: "waiting" | "pending" | "startup_failure" | "stale" | "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | "" | null; - deployment?: components["schemas"]["deployment-simple"]; - details_url: string; - external_id: string; - /** @description The SHA of the commit that is being checked. */ - head_sha: string; - html_url: string; - /** @description The id of the check. */ + team: { id: number; - /** @description The name of the check. */ - name: string; node_id: string; - output: { - annotations_count: number; - /** Format: uri */ - annotations_url: string; - summary: OneOf<[string, null]>; - text: OneOf<[string, null]>; - title: OneOf<[string, null]>; + name: string; + slug: string; + description: OneOf<[string, null]>; + privacy?: string; + permission: string; + permissions?: { + pull: boolean; + triage: boolean; + push: boolean; + maintain: boolean; + admin: boolean; }; - pull_requests: (components["schemas"]["pull-request-minimal"])[]; - /** Format: date-time */ - started_at: string; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + members_url: string; + /** Format: uri */ + repositories_url: string; + parent: null | components["schemas"]["team-simple"]; + }; + /** + * Org Membership + * @description Org Membership + */ + "org-membership": { + /** Format: uri */ + url: string; /** - * @description The phase of the lifecycle that the check is currently in. + * @description The state of the member in the organization. The `pending` state indicates the user has not yet accepted an invitation. * @enum {string} */ - status: "queued" | "in_progress" | "completed" | "pending"; + state: "active" | "pending"; + /** + * @description The user's membership type in the organization. + * @enum {string} + */ + role: "admin" | "member" | "billing_manager"; + /** Format: uri */ + organization_url: string; + organization: components["schemas"]["organization-simple"]; + user: null | components["schemas"]["simple-user"]; + permissions?: { + can_create_repository: boolean; + }; + }; + /** + * Migration + * @description A migration. + */ + migration: { + id: number; + owner: null | components["schemas"]["simple-user"]; + guid: string; + state: string; + lock_repositories: boolean; + exclude_metadata: boolean; + exclude_git_data: boolean; + exclude_attachments: boolean; + exclude_releases: boolean; + exclude_owner_projects: boolean; + org_metadata_only: boolean; + repositories: (components["schemas"]["repository"])[]; + /** Format: uri */ url: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + node_id: string; + /** Format: uri */ + archive_url?: string; + exclude?: (Record)[]; }; /** - * Projects v2 Item Content Type - * @description The type of content tracked in a project item - * @enum {string} + * Package + * @description A software package */ - "projects-v2-item-content-type": "Issue" | "PullRequest" | "DraftIssue"; + package: { + /** @description Unique identifier of the package. */ + id: number; + /** @description The name of the package. */ + name: string; + /** @enum {string} */ + package_type: "npm" | "maven" | "rubygems" | "docker" | "nuget" | "container"; + url: string; + html_url: string; + /** @description The number of versions of the package. */ + version_count: number; + /** @enum {string} */ + visibility: "private" | "public"; + owner?: null | components["schemas"]["simple-user"]; + repository?: null | components["schemas"]["minimal-repository"]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; /** - * Projects v2 Item - * @description An item belonging to a project + * Package Version + * @description A version of a software package */ - "projects-v2-item": { + "package-version": { + /** @description Unique identifier of the package version. */ id: number; - node_id?: string; - project_node_id?: string; - content_node_id: string; - content_type: components["schemas"]["projects-v2-item-content-type"]; - creator?: components["schemas"]["simple-user"]; + /** @description The name of the package version. */ + name: string; + url: string; + package_html_url: string; + html_url?: string; + license?: string; + description?: string; /** Format: date-time */ created_at: string; /** Format: date-time */ updated_at: string; /** Format: date-time */ - archived_at: OneOf<[string, null]>; + deleted_at?: string; + /** Package Version Metadata */ + metadata?: { + /** @enum {string} */ + package_type: "npm" | "maven" | "rubygems" | "docker" | "nuget" | "container"; + /** Container Metadata */ + container?: { + tags: (string)[]; + }; + /** Docker Metadata */ + docker?: { + tag?: (string)[]; + }; + }; }; - /** branch protection rule created event */ - "webhook-branch-protection-rule-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; + /** + * Project + * @description Projects are a way to organize columns and cards of work. + */ + project: { + /** Format: uri */ + owner_url: string; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + columns_url: string; + id: number; + node_id: string; + /** @description Name of the project */ + name: string; + /** @description Body of the project */ + body: OneOf<[string, null]>; + number: number; + /** @description State of the project; either 'open' or 'closed' */ + state: string; + creator: null | components["schemas"]["simple-user"]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; /** - * branch protection rule - * @description The branch protection rule. Includes a `name` and all the [branch protection settings](https://docs.github.com/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#about-branch-protection-settings) applied to branches that match the name. Binary settings are boolean. Multi-level configurations are one of `off`, `non_admins`, or `everyone`. Actor and build lists are arrays of strings. + * @description The baseline permission that all organization members have on this project. Only present if owner is an organization. + * @enum {string} */ - rule: { - admin_enforced: boolean; - /** @enum {string} */ - allow_deletions_enforcement_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - allow_force_pushes_enforcement_level: "off" | "non_admins" | "everyone"; - authorized_actor_names: (string)[]; - authorized_actors_only: boolean; - authorized_dismissal_actors_only: boolean; - create_protected?: boolean; - /** Format: date-time */ - created_at: string; - dismiss_stale_reviews_on_push: boolean; - id: number; - ignore_approvals_from_contributors: boolean; - /** @enum {string} */ - linear_history_requirement_enforcement_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - merge_queue_enforcement_level: "off" | "non_admins" | "everyone"; - name: string; - /** @enum {string} */ - pull_request_reviews_enforcement_level: "off" | "non_admins" | "everyone"; - repository_id: number; - require_code_owner_review: boolean; - required_approving_review_count: number; - /** @enum {string} */ - required_conversation_resolution_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - required_deployments_enforcement_level: "off" | "non_admins" | "everyone"; - required_status_checks: (string)[]; - /** @enum {string} */ - required_status_checks_enforcement_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - signature_requirement_enforcement_level: "off" | "non_admins" | "everyone"; - strict_required_status_checks_policy: boolean; - /** Format: date-time */ - updated_at: string; + organization_permission?: "read" | "write" | "admin" | "none"; + /** @description Whether or not this project can be seen by everyone. Only present if owner is an organization. */ + private?: boolean; + }; + "actions-billing-usage": { + /** @description The sum of the free and paid GitHub Actions minutes used. */ + total_minutes_used: number; + /** @description The total paid GitHub Actions minutes used. */ + total_paid_minutes_used: number; + /** @description The amount of free GitHub Actions minutes available. */ + included_minutes: number; + minutes_used_breakdown: { + /** @description Total minutes used on Ubuntu runner machines. */ + UBUNTU?: number; + /** @description Total minutes used on macOS runner machines. */ + MACOS?: number; + /** @description Total minutes used on Windows runner machines. */ + WINDOWS?: number; + /** @description Total minutes used on Ubuntu 4 core runner machines. */ + ubuntu_4_core?: number; + /** @description Total minutes used on Ubuntu 8 core runner machines. */ + ubuntu_8_core?: number; + /** @description Total minutes used on Ubuntu 16 core runner machines. */ + ubuntu_16_core?: number; + /** @description Total minutes used on Ubuntu 32 core runner machines. */ + ubuntu_32_core?: number; + /** @description Total minutes used on Ubuntu 64 core runner machines. */ + ubuntu_64_core?: number; + /** @description Total minutes used on Windows 4 core runner machines. */ + windows_4_core?: number; + /** @description Total minutes used on Windows 8 core runner machines. */ + windows_8_core?: number; + /** @description Total minutes used on Windows 16 core runner machines. */ + windows_16_core?: number; + /** @description Total minutes used on Windows 32 core runner machines. */ + windows_32_core?: number; + /** @description Total minutes used on Windows 64 core runner machines. */ + windows_64_core?: number; + /** @description Total minutes used on all runner machines. */ + total?: number; }; - sender: components["schemas"]["simple-user"]; }; - /** branch protection rule deleted event */ - "webhook-branch-protection-rule-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - /** - * branch protection rule - * @description The branch protection rule. Includes a `name` and all the [branch protection settings](https://docs.github.com/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#about-branch-protection-settings) applied to branches that match the name. Binary settings are boolean. Multi-level configurations are one of `off`, `non_admins`, or `everyone`. Actor and build lists are arrays of strings. - */ - rule: { - admin_enforced: boolean; - /** @enum {string} */ - allow_deletions_enforcement_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - allow_force_pushes_enforcement_level: "off" | "non_admins" | "everyone"; - authorized_actor_names: (string)[]; - authorized_actors_only: boolean; - authorized_dismissal_actors_only: boolean; - create_protected?: boolean; - /** Format: date-time */ - created_at: string; - dismiss_stale_reviews_on_push: boolean; - id: number; - ignore_approvals_from_contributors: boolean; - /** @enum {string} */ - linear_history_requirement_enforcement_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - merge_queue_enforcement_level: "off" | "non_admins" | "everyone"; + "packages-billing-usage": { + /** @description Sum of the free and paid storage space (GB) for GitHuub Packages. */ + total_gigabytes_bandwidth_used: number; + /** @description Total paid storage space (GB) for GitHuub Packages. */ + total_paid_gigabytes_bandwidth_used: number; + /** @description Free storage space (GB) for GitHub Packages. */ + included_gigabytes_bandwidth: number; + }; + "combined-billing-usage": { + /** @description Numbers of days left in billing cycle. */ + days_left_in_billing_cycle: number; + /** @description Estimated storage space (GB) used in billing cycle. */ + estimated_paid_storage_for_month: number; + /** @description Estimated sum of free and paid storage space (GB) used in billing cycle. */ + estimated_storage_for_month: number; + }; + /** + * Team Organization + * @description Team Organization + */ + "team-organization": { + login: string; + id: number; + node_id: string; + /** Format: uri */ + url: string; + /** Format: uri */ + repos_url: string; + /** Format: uri */ + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: OneOf<[string, null]>; + name?: string; + company?: string; + /** Format: uri */ + blog?: string; + location?: string; + /** Format: email */ + email?: string; + twitter_username?: OneOf<[string, null]>; + is_verified?: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + /** Format: uri */ + html_url: string; + /** Format: date-time */ + created_at: string; + type: string; + total_private_repos?: number; + owned_private_repos?: number; + private_gists?: OneOf<[number, null]>; + disk_usage?: OneOf<[number, null]>; + collaborators?: OneOf<[number, null]>; + /** Format: email */ + billing_email?: OneOf<[string, null]>; + plan?: { name: string; - /** @enum {string} */ - pull_request_reviews_enforcement_level: "off" | "non_admins" | "everyone"; - repository_id: number; - require_code_owner_review: boolean; - required_approving_review_count: number; - /** @enum {string} */ - required_conversation_resolution_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - required_deployments_enforcement_level: "off" | "non_admins" | "everyone"; - required_status_checks: (string)[]; - /** @enum {string} */ - required_status_checks_enforcement_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - signature_requirement_enforcement_level: "off" | "non_admins" | "everyone"; - strict_required_status_checks_policy: boolean; - /** Format: date-time */ - updated_at: string; + space: number; + private_repos: number; + filled_seats?: number; + seats?: number; }; - sender: components["schemas"]["simple-user"]; + default_repository_permission?: OneOf<[string, null]>; + members_can_create_repositories?: OneOf<[boolean, null]>; + two_factor_requirement_enabled?: OneOf<[boolean, null]>; + members_allowed_repository_creation_type?: string; + members_can_create_public_repositories?: boolean; + members_can_create_private_repositories?: boolean; + members_can_create_internal_repositories?: boolean; + members_can_create_pages?: boolean; + members_can_create_public_pages?: boolean; + members_can_create_private_pages?: boolean; + members_can_fork_private_repositories?: OneOf<[boolean, null]>; + web_commit_signoff_required?: boolean; + /** Format: date-time */ + updated_at: string; }; - /** branch protection rule edited event */ - "webhook-branch-protection-rule-edited": { - /** @enum {string} */ - action: "edited"; - /** @description If the action was `edited`, the changes to the rule. */ - changes?: { - admin_enforced?: { - from: OneOf<[boolean, null]>; - }; - authorized_actor_names?: { - from: (string)[]; - }; - authorized_actors_only?: { - from: OneOf<[boolean, null]>; - }; - authorized_dismissal_actors_only?: { - from: OneOf<[boolean, null]>; - }; - linear_history_requirement_enforcement_level?: { - /** @enum {string} */ - from: "off" | "non_admins" | "everyone"; - }; - required_status_checks?: { - from: (string)[]; - }; - required_status_checks_enforcement_level?: { - /** @enum {string} */ - from: "off" | "non_admins" | "everyone"; - }; - }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; + /** + * Full Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + "team-full": { + /** @description Unique identifier of the team */ + id: number; + node_id: string; /** - * branch protection rule - * @description The branch protection rule. Includes a `name` and all the [branch protection settings](https://docs.github.com/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#about-branch-protection-settings) applied to branches that match the name. Binary settings are boolean. Multi-level configurations are one of `off`, `non_admins`, or `everyone`. Actor and build lists are arrays of strings. + * Format: uri + * @description URL for the team */ - rule: { - admin_enforced: boolean; - /** @enum {string} */ - allow_deletions_enforcement_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - allow_force_pushes_enforcement_level: "off" | "non_admins" | "everyone"; - authorized_actor_names: (string)[]; - authorized_actors_only: boolean; - authorized_dismissal_actors_only: boolean; - create_protected?: boolean; - /** Format: date-time */ - created_at: string; - dismiss_stale_reviews_on_push: boolean; - id: number; - ignore_approvals_from_contributors: boolean; - /** @enum {string} */ - linear_history_requirement_enforcement_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - merge_queue_enforcement_level: "off" | "non_admins" | "everyone"; - name: string; - /** @enum {string} */ - pull_request_reviews_enforcement_level: "off" | "non_admins" | "everyone"; - repository_id: number; - require_code_owner_review: boolean; - required_approving_review_count: number; - /** @enum {string} */ - required_conversation_resolution_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - required_deployments_enforcement_level: "off" | "non_admins" | "everyone"; - required_status_checks: (string)[]; - /** @enum {string} */ - required_status_checks_enforcement_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - signature_requirement_enforcement_level: "off" | "non_admins" | "everyone"; - strict_required_status_checks_policy: boolean; - /** Format: date-time */ - updated_at: string; - }; - sender: components["schemas"]["simple-user"]; + url: string; + /** Format: uri */ + html_url: string; + /** @description Name of the team */ + name: string; + slug: string; + description: OneOf<[string, null]>; + /** + * @description The level of privacy this team should have + * @enum {string} + */ + privacy?: "closed" | "secret"; + /** @description Permission that the team will have for its repositories */ + permission: string; + members_url: string; + /** Format: uri */ + repositories_url: string; + parent?: null | components["schemas"]["team-simple"]; + members_count: number; + repos_count: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + organization: components["schemas"]["team-organization"]; + /** @description Distinguished Name (DN) that team maps to within LDAP environment */ + ldap_dn?: string; }; - /** Check Run Completed Event */ - "webhook-check-run-completed": { - /** @enum {string} */ - action?: "completed"; - check_run: components["schemas"]["check-run-with-simple-check-suite"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + /** + * Team Discussion + * @description A team discussion is a persistent record of a free-form conversation within a team. + */ + "team-discussion": { + author: null | components["schemas"]["simple-user"]; + /** @description The main text of the discussion. */ + body: string; + body_html: string; + /** @description The current version of the body content. If provided, this update operation will be rejected if the given version does not match the latest version on the server. */ + body_version: string; + comments_count: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + last_edited_at: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + node_id: string; + /** @description The unique sequence number of a team discussion. */ + number: number; + /** @description Whether or not this discussion should be pinned for easy retrieval. */ + pinned: boolean; + /** @description Whether or not this discussion should be restricted to team members and organization administrators. */ + private: boolean; + /** Format: uri */ + team_url: string; + /** @description The title of the discussion. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + reactions?: components["schemas"]["reaction-rollup"]; }; /** - * Check Run Completed Event - * @description The check_run.completed webhook encoded with URL encoding + * Team Discussion Comment + * @description A reply to a discussion within a team. */ - "webhook-check-run-completed-form-encoded": { - /** @description A URL-encoded string of the check_run.completed JSON payload. The decoded payload is a JSON object. */ - payload: string; + "team-discussion-comment": { + author: null | components["schemas"]["simple-user"]; + /** @description The main text of the comment. */ + body: string; + body_html: string; + /** @description The current version of the body content. If provided, this update operation will be rejected if the given version does not match the latest version on the server. */ + body_version: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + last_edited_at: OneOf<[string, null]>; + /** Format: uri */ + discussion_url: string; + /** Format: uri */ + html_url: string; + node_id: string; + /** @description The unique sequence number of a team discussion comment. */ + number: number; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + reactions?: components["schemas"]["reaction-rollup"]; }; - /** Check Run Created Event */ - "webhook-check-run-created": { - /** @enum {string} */ - action?: "created"; - check_run: components["schemas"]["check-run-with-simple-check-suite"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + /** + * Reaction + * @description Reactions to conversations provide a way to help people express their feelings more simply and effectively. + */ + reaction: { + id: number; + node_id: string; + user: null | components["schemas"]["simple-user"]; + /** + * @description The reaction to use + * @enum {string} + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** Format: date-time */ + created_at: string; }; /** - * Check Run Created Event - * @description The check_run.created webhook encoded with URL encoding + * Team Membership + * @description Team Membership */ - "webhook-check-run-created-form-encoded": { - /** @description A URL-encoded string of the check_run.created JSON payload. The decoded payload is a JSON object. */ - payload: string; + "team-membership": { + /** Format: uri */ + url: string; + /** + * @description The role of the user in the team. + * @default member + * @enum {string} + */ + role: "member" | "maintainer"; + /** + * @description The state of the user's membership in the team. + * @enum {string} + */ + state: "active" | "pending"; }; - /** check_suite completed event */ - "webhook-check-suite-completed": { - /** @enum {string} */ - action: "completed"; - actions_meta?: OneOf<[Record, null]>; - /** @description The [check_suite](https://docs.github.com/rest/reference/checks#suites). */ - check_suite: { - after: OneOf<[string, null]>; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - app: { - /** Format: date-time */ - created_at: OneOf<[string, null]>; - description: OneOf<[string, null]>; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "merge_group" | "pull_request_review_thread" | "workflow_job" | "merge_queue_entry" | "security_and_analysis" | "projects_v2_item" | "secret_scanning_alert_location")[]; - /** Format: uri */ - external_url: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: OneOf<[number, null]>; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: OneOf<[string, null]>; - }; - before: OneOf<[string, null]>; - /** Format: uri */ - check_runs_url: string; - /** - * @description The summary conclusion for all check runs that are part of the check suite. Can be one of `success`, `failure`, `neutral`, `cancelled`, `timed_out`, `action_required` or `stale`. This value will be `null` until the check run has `completed`. - * @enum {string|null} - */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | "" | "skipped" | "startup_failure" | null; - /** Format: date-time */ - created_at: string; - /** @description The head branch name the changes are on. */ - head_branch: OneOf<[string, null]>; - /** SimpleCommit */ - head_commit: { - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: OneOf<[string, null]>; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: OneOf<[string, null]>; - /** @description The git author's name. */ - name: string; - username?: string; - }; - id: string; - message: string; - timestamp: string; - tree_id: string; - }; - /** @description The SHA of the head commit that is being checked. */ - head_sha: string; - id: number; - latest_check_runs_count: number; - node_id: string; - /** @description An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty. */ - pull_requests: ({ - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - })[]; - rerequestable?: boolean; - runs_rerequestable?: boolean; - /** - * @description The summary status for all check runs that are part of the check suite. Can be `requested`, `in_progress`, or `completed`. - * @enum {string|null} - */ - status: "requested" | "in_progress" | "completed" | "queued" | "" | "pending" | null; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL that points to the check suite API resource. - */ - url: string; + /** + * Team Project + * @description A team's access to a project. + */ + "team-project": { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: OneOf<[string, null]>; + number: number; + state: string; + creator: components["schemas"]["simple-user"]; + created_at: string; + updated_at: string; + /** @description The organization permission for this project. Only present when owner is an organization. */ + organization_permission?: string; + /** @description Whether the project is private or not. Only present when owner is an organization. */ + private?: boolean; + permissions: { + read: boolean; + write: boolean; + admin: boolean; }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; }; - /** code_scanning_alert appeared_in_branch event */ - "webhook-code-scanning-alert-appeared-in-branch": { - /** @enum {string} */ - action: "appeared_in_branch"; - /** @description The code scanning alert involved in the event. */ - alert: { - /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` - */ - created_at: string; - /** - * Format: date-time - * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - dismissed_at: OneOf<[string, null]>; - /** User */ - dismissed_by: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** - * @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. - * @enum {string|null} - */ - dismissed_reason: "false positive" | "won't fix" | "used in tests" | "" | null; - /** - * Format: uri - * @description The GitHub URL of the alert resource. - */ - html_url: string; - instances?: (OneOf<[{ - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - classifications?: (string)[]; - commit_sha?: string; - /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; - }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - }, null]>)[]; - /** Alert Instance */ - most_recent_instance?: OneOf<[{ - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - classifications?: (string)[]; - commit_sha?: string; - /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; - }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - }, null]>; - /** @description The code scanning alert number. */ - number: number; - rule: { - /** @description A short description of the rule used to detect the alert. */ - description: string; - /** @description A unique identifier for the rule used to detect the alert. */ - id: string; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity: "none" | "note" | "warning" | "error" | "" | null; - }; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - tool: { - /** @description The name of the tool used to generate the code scanning analysis alert. */ - name: string; - /** @description The version of the tool used to detect the alert. */ - version: OneOf<[string, null]>; - }; - /** Format: uri */ - url: string; + /** + * Team Repository + * @description A team's access to a repository. + */ + "team-repository": { + /** @description Unique identifier of the repository */ + id: number; + node_id: string; + /** @description The name of the repository. */ + name: string; + full_name: string; + license: null | components["schemas"]["license-simple"]; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; }; - /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - commit_oid: string; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - ref: string; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** code_scanning_alert closed_by_user event */ - "webhook-code-scanning-alert-closed-by-user": { - /** @enum {string} */ - action: "closed_by_user"; - /** @description The code scanning alert involved in the event. */ - alert: { - /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` - */ - created_at: string; - /** - * Format: date-time - * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - dismissed_at: string; - /** User */ - dismissed_by: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** - * @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. - * @enum {string|null} - */ - dismissed_reason: "false positive" | "won't fix" | "used in tests" | "" | null; - /** - * Format: uri - * @description The GitHub URL of the alert resource. - */ - html_url: string; - instances?: ((OneOf<[{ - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - classifications?: (string)[]; - commit_sha?: string; - /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; - }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - }, null]>) & { - /** @enum {string} */ - state: "dismissed"; - })[]; - /** Alert Instance */ - most_recent_instance?: OneOf<[{ - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - classifications?: (string)[]; - commit_sha?: string; - /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; - }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - }, null]>; - /** @description The code scanning alert number. */ - number: number; - rule: { - /** @description A short description of the rule used to detect the alert. */ - description: string; - full_description?: string; - help?: OneOf<[string, null]>; - /** @description A link to the documentation for the rule used to detect the alert. */ - help_uri?: OneOf<[string, null]>; - /** @description A unique identifier for the rule used to detect the alert. */ - id: string; - name?: string; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity: "none" | "note" | "warning" | "error" | "" | null; - tags?: OneOf<[(string)[], null]>; - }; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "dismissed" | "fixed"; - tool: { - guid?: OneOf<[string, null]>; - /** @description The name of the tool used to generate the code scanning analysis alert. */ - name: string; - /** @description The version of the tool used to detect the alert. */ - version: OneOf<[string, null]>; - }; - /** Format: uri */ - url: string; - }; - /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - commit_oid: string; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - ref: string; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + role_name?: string; + owner: null | components["schemas"]["simple-user"]; + /** + * @description Whether the repository is private or public. + * @default false + */ + private: boolean; + /** Format: uri */ + html_url: string; + description: OneOf<[string, null]>; + fork: boolean; + /** Format: uri */ + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + /** Format: uri */ + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + /** Format: uri */ + stargazers_url: string; + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + trees_url: string; + clone_url: string; + /** Format: uri */ + mirror_url: OneOf<[string, null]>; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + homepage: OneOf<[string, null]>; + language: OneOf<[string, null]>; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + /** @description The default branch of the repository. */ + default_branch: string; + open_issues_count: number; + /** + * @description Whether this repository acts as a template that can be used to generate new repositories. + * @default false + */ + is_template?: boolean; + topics?: (string)[]; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + has_pages: boolean; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** + * @description The repository visibility: public, private, or internal. + * @default public + */ + visibility?: string; + /** Format: date-time */ + pushed_at: OneOf<[string, null]>; + /** Format: date-time */ + created_at: OneOf<[string, null]>; + /** Format: date-time */ + updated_at: OneOf<[string, null]>; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + template_repository?: null | components["schemas"]["repository"]; + temp_clone_token?: string; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + /** + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow forking this repo + * @default false + */ + allow_forking?: boolean; + /** + * @description Whether to require contributors to sign off on web-based commits + * @default false + */ + web_commit_signoff_required?: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; }; - /** code_scanning_alert created event */ - "webhook-code-scanning-alert-created": { - /** @enum {string} */ - action: "created"; - /** @description The code scanning alert involved in the event. */ - alert: { - /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` - */ - created_at: OneOf<[string, null]>; - /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - dismissed_at: null; - dismissed_by: null; - dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; - /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ - dismissed_reason: null; - fixed_at?: null; - /** - * Format: uri - * @description The GitHub URL of the alert resource. - */ - html_url: string; - instances?: ((OneOf<[{ - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - classifications?: (string)[]; - commit_sha?: string; - /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; - }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - }, null]>) & ({ - /** @enum {string} */ - state: "open" | "dismissed"; - }))[]; - instances_url?: string; - /** Alert Instance */ - most_recent_instance?: OneOf<[{ - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - classifications?: (string)[]; - commit_sha?: string; - /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; - }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - }, null]>; - /** @description The code scanning alert number. */ - number: number; - rule: { - /** @description A short description of the rule used to detect the alert. */ - description: string; - full_description?: string; - help?: OneOf<[string, null]>; - /** @description A link to the documentation for the rule used to detect the alert. */ - help_uri?: OneOf<[string, null]>; - /** @description A unique identifier for the rule used to detect the alert. */ - id: string; - name?: string; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity: "none" | "note" | "warning" | "error" | "" | null; - tags?: OneOf<[(string)[], null]>; - }; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed"; - tool: OneOf<[{ - guid?: OneOf<[string, null]>; - /** @description The name of the tool used to generate the code scanning analysis alert. */ - name: string; - /** @description The version of the tool used to detect the alert. */ - version: OneOf<[string, null]>; - }, null]>; - updated_at?: OneOf<[string, null]>; - /** Format: uri */ - url: string; - }; - /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - commit_oid: string; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - ref: string; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + /** + * Project Card + * @description Project cards represent a scope of work. + */ + "project-card": { + /** Format: uri */ + url: string; + /** @description The project card's ID */ + id: number; + node_id: string; + note: OneOf<[string, null]>; + creator: null | components["schemas"]["simple-user"]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** @description Whether or not the card is archived */ + archived?: boolean; + column_name?: string; + project_id?: string; + /** Format: uri */ + column_url: string; + /** Format: uri */ + content_url?: string; + /** Format: uri */ + project_url: string; }; - /** code_scanning_alert fixed event */ - "webhook-code-scanning-alert-fixed": { - /** @enum {string} */ - action: "fixed"; - /** @description The code scanning alert involved in the event. */ - alert: { - /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` - */ - created_at: string; - /** - * Format: date-time - * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - dismissed_at: OneOf<[string, null]>; - /** User */ - dismissed_by: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** - * @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. - * @enum {string|null} - */ - dismissed_reason: "false positive" | "won't fix" | "used in tests" | "" | null; - /** - * Format: uri - * @description The GitHub URL of the alert resource. - */ - html_url: string; - instances?: ((OneOf<[{ - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - classifications?: (string)[]; - commit_sha?: string; - /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; - }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - }, null]>) & { - /** @enum {string} */ - state: "fixed"; - })[]; - /** Format: uri */ - instances_url?: string; - /** Alert Instance */ - most_recent_instance?: OneOf<[{ - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - classifications?: (string)[]; - commit_sha?: string; - /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; - }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - }, null]>; - /** @description The code scanning alert number. */ - number: number; - rule: { - /** @description A short description of the rule used to detect the alert. */ - description: string; - full_description?: string; - help?: OneOf<[string, null]>; - /** @description A link to the documentation for the rule used to detect the alert. */ - help_uri?: OneOf<[string, null]>; - /** @description A unique identifier for the rule used to detect the alert. */ - id: string; - name?: string; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity: "none" | "note" | "warning" | "error" | "" | null; - tags?: OneOf<[(string)[], null]>; - }; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "fixed"; - tool: { - guid?: OneOf<[string, null]>; - /** @description The name of the tool used to generate the code scanning analysis alert. */ - name: string; - /** @description The version of the tool used to detect the alert. */ - version: OneOf<[string, null]>; - }; - /** Format: uri */ - url: string; - }; - /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - commit_oid: string; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - ref: string; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + /** + * Project Column + * @description Project columns contain cards of work. + */ + "project-column": { + /** Format: uri */ + url: string; + /** Format: uri */ + project_url: string; + /** Format: uri */ + cards_url: string; + /** @description The unique identifier of the project column */ + id: number; + node_id: string; + /** @description Name of the project column */ + name: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; }; - /** code_scanning_alert reopened event */ - "webhook-code-scanning-alert-reopened": { - /** @enum {string} */ - action: "reopened"; - /** @description The code scanning alert involved in the event. */ - alert: OneOf<[{ - /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` - */ - created_at: string; - /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - dismissed_at: OneOf<[string, null]>; - dismissed_by: OneOf<[Record, null]>; - /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ - dismissed_reason: OneOf<[string, null]>; - /** - * Format: uri - * @description The GitHub URL of the alert resource. - */ - html_url: string; - instances?: ((OneOf<[{ - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - classifications?: (string)[]; - commit_sha?: string; - /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; - }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - }, null]>) & { - /** @enum {string} */ - state: "open"; - })[]; - /** Alert Instance */ - most_recent_instance?: OneOf<[{ - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - classifications?: (string)[]; - commit_sha?: string; - /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; - }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; + /** + * Project Collaborator Permission + * @description Project Collaborator Permission + */ + "project-collaborator-permission": { + permission: string; + user: null | components["schemas"]["simple-user"]; + }; + /** Rate Limit */ + "rate-limit": { + limit: number; + remaining: number; + reset: number; + used: number; + }; + /** + * Rate Limit Overview + * @description Rate Limit Overview + */ + "rate-limit-overview": { + resources: { + core: components["schemas"]["rate-limit"]; + graphql?: components["schemas"]["rate-limit"]; + search: components["schemas"]["rate-limit"]; + source_import?: components["schemas"]["rate-limit"]; + integration_manifest?: components["schemas"]["rate-limit"]; + code_scanning_upload?: components["schemas"]["rate-limit"]; + actions_runner_registration?: components["schemas"]["rate-limit"]; + scim?: components["schemas"]["rate-limit"]; + dependency_snapshots?: components["schemas"]["rate-limit"]; + }; + rate: components["schemas"]["rate-limit"]; + }; + /** + * Code Of Conduct Simple + * @description Code of Conduct Simple + */ + "code-of-conduct-simple": { + /** Format: uri */ + url: string; + key: string; + name: string; + /** Format: uri */ + html_url: OneOf<[string, null]>; + }; + "security-and-analysis": OneOf<[{ + advanced_security?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + secret_scanning?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + secret_scanning_push_protection?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + }, null]>; + /** + * Full Repository + * @description Full Repository + */ + "full-repository": { + id: number; + node_id: string; + name: string; + full_name: string; + owner: components["schemas"]["simple-user"]; + private: boolean; + /** Format: uri */ + html_url: string; + description: OneOf<[string, null]>; + fork: boolean; + /** Format: uri */ + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + /** Format: uri */ + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + /** Format: uri */ + stargazers_url: string; + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + trees_url: string; + clone_url: string; + /** Format: uri */ + mirror_url: OneOf<[string, null]>; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + homepage: OneOf<[string, null]>; + language: OneOf<[string, null]>; + forks_count: number; + stargazers_count: number; + watchers_count: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ + size: number; + default_branch: string; + open_issues_count: number; + is_template?: boolean; + topics?: (string)[]; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + has_discussions: boolean; + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** @description The repository visibility: public, private, or internal. */ + visibility?: string; + /** Format: date-time */ + pushed_at: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + permissions?: { + admin: boolean; + maintain?: boolean; + push: boolean; + triage?: boolean; + pull: boolean; + }; + allow_rebase_merge?: boolean; + template_repository?: null | components["schemas"]["repository"]; + temp_clone_token?: OneOf<[string, null]>; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_merge_commit?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + allow_forking?: boolean; + web_commit_signoff_required?: boolean; + subscribers_count: number; + network_count: number; + license: null | components["schemas"]["license-simple"]; + organization?: null | components["schemas"]["simple-user"]; + parent?: components["schemas"]["repository"]; + source?: components["schemas"]["repository"]; + forks: number; + master_branch?: string; + open_issues: number; + watchers: number; + /** + * @description Whether anonymous git access is allowed. + * @default true + */ + anonymous_access_enabled?: boolean; + code_of_conduct?: components["schemas"]["code-of-conduct-simple"]; + security_and_analysis?: components["schemas"]["security-and-analysis"]; + }; + /** + * Artifact + * @description An artifact + */ + artifact: { + id: number; + node_id: string; + /** @description The name of the artifact. */ + name: string; + /** @description The size in bytes of the artifact. */ + size_in_bytes: number; + url: string; + archive_download_url: string; + /** @description Whether or not the artifact has expired. */ + expired: boolean; + /** Format: date-time */ + created_at: OneOf<[string, null]>; + /** Format: date-time */ + expires_at: OneOf<[string, null]>; + /** Format: date-time */ + updated_at: OneOf<[string, null]>; + workflow_run?: OneOf<[{ + id?: number; + repository_id?: number; + head_repository_id?: number; + head_branch?: string; + head_sha?: string; + }, null]>; + }; + /** + * Repository actions caches + * @description Repository actions caches + */ + "actions-cache-list": { + /** @description Total number of caches */ + total_count: number; + /** @description Array of caches */ + actions_caches: ({ + id?: number; + ref?: string; + key?: string; + version?: string; + /** Format: date-time */ + last_accessed_at?: string; + /** Format: date-time */ + created_at?: string; + size_in_bytes?: number; + })[]; + }; + /** + * Job + * @description Information of a job execution in a workflow run + */ + job: { + /** @description The id of the job. */ + id: number; + /** @description The id of the associated workflow run. */ + run_id: number; + run_url: string; + /** @description Attempt number of the associated workflow run, 1 for first attempt and higher if the workflow was re-run. */ + run_attempt?: number; + node_id: string; + /** @description The SHA of the commit that is being run. */ + head_sha: string; + url: string; + html_url: OneOf<[string, null]>; + /** + * @description The phase of the lifecycle that the job is currently in. + * @enum {string} + */ + status: "queued" | "in_progress" | "completed"; + /** + * @description The outcome of the job. + * @enum {string|null} + */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | "" | null; + /** + * Format: date-time + * @description The time that the job started, in ISO 8601 format. + */ + started_at: string; + /** + * Format: date-time + * @description The time that the job finished, in ISO 8601 format. + */ + completed_at: OneOf<[string, null]>; + /** @description The name of the job. */ + name: string; + /** @description Steps in this job. */ + steps?: ({ /** - * @description State of a code scanning alert. + * @description The phase of the lifecycle that the job is currently in. * @enum {string} */ - state: "open" | "dismissed" | "fixed"; - }, null]>; - /** @description The code scanning alert number. */ - number: number; - rule: { - /** @description A short description of the rule used to detect the alert. */ - description: string; - full_description?: string; - help?: OneOf<[string, null]>; - /** @description A link to the documentation for the rule used to detect the alert. */ - help_uri?: OneOf<[string, null]>; - /** @description A unique identifier for the rule used to detect the alert. */ - id: string; - name?: string; + status: "queued" | "in_progress" | "completed"; + /** @description The outcome of the job. */ + conclusion: OneOf<[string, null]>; + /** @description The name of the job. */ + name: string; + number: number; /** - * @description The severity of the alert. - * @enum {string|null} + * Format: date-time + * @description The time that the step started, in ISO 8601 format. */ - severity: "none" | "note" | "warning" | "error" | "" | null; - tags?: OneOf<[(string)[], null]>; + started_at?: OneOf<[string, null]>; + /** + * Format: date-time + * @description The time that the job finished, in ISO 8601 format. + */ + completed_at?: OneOf<[string, null]>; + })[]; + check_run_url: string; + /** @description Labels for the workflow job. Specified by the "runs_on" attribute in the action's workflow file. */ + labels: (string)[]; + /** @description The ID of the runner to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) */ + runner_id: OneOf<[number, null]>; + /** @description The name of the runner to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) */ + runner_name: OneOf<[string, null]>; + /** @description The ID of the runner group to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) */ + runner_group_id: OneOf<[number, null]>; + /** @description The name of the runner group to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) */ + runner_group_name: OneOf<[string, null]>; + }; + /** @description Whether GitHub Actions is enabled on the repository. */ + "actions-enabled": boolean; + "actions-repository-permissions": { + enabled: components["schemas"]["actions-enabled"]; + allowed_actions?: components["schemas"]["allowed-actions"]; + selected_actions_url?: components["schemas"]["selected-actions-url"]; + }; + "actions-workflow-access-to-repository": { + /** + * @description Defines the level of access that workflows outside of the repository have to actions and reusable workflows within the + * repository. `none` means access is only possible from workflows in this repository. + * @enum {string} + */ + access_level: "none" | "organization" | "enterprise"; + }; + /** + * Referenced workflow + * @description A workflow referenced/reused by the initial caller workflow + */ + "referenced-workflow": { + path: string; + sha: string; + ref?: string; + }; + /** Pull Request Minimal */ + "pull-request-minimal": { + id: number; + number: number; + url: string; + head: { + ref: string; + sha: string; + repo: { + id: number; + url: string; + name: string; }; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - tool: { - guid?: OneOf<[string, null]>; - /** @description The name of the tool used to generate the code scanning analysis alert. */ + }; + base: { + ref: string; + sha: string; + repo: { + id: number; + url: string; name: string; - /** @description The version of the tool used to detect the alert. */ - version: OneOf<[string, null]>; }; - /** Format: uri */ - url: string; - }, null]>; - /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - commit_oid: OneOf<[string, null]>; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - ref: OneOf<[string, null]>; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + }; }; - /** code_scanning_alert reopened_by_user event */ - "webhook-code-scanning-alert-reopened-by-user": { - /** @enum {string} */ - action: "reopened_by_user"; - /** @description The code scanning alert involved in the event. */ - alert: { - /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` - */ - created_at: string; - /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - dismissed_at: null; - dismissed_by: null; - /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ - dismissed_reason: null; - /** - * Format: uri - * @description The GitHub URL of the alert resource. - */ - html_url: string; - instances?: ((OneOf<[{ - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - classifications?: (string)[]; - commit_sha?: string; - /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; - }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - }, null]>) & { - /** @enum {string} */ - state: "open"; - })[]; - /** Alert Instance */ - most_recent_instance?: OneOf<[{ - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - classifications?: (string)[]; - commit_sha?: string; - /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; - }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - }, null]>; - /** @description The code scanning alert number. */ - number: number; - rule: { - /** @description A short description of the rule used to detect the alert. */ - description: string; - /** @description A unique identifier for the rule used to detect the alert. */ - id: string; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity: "none" | "note" | "warning" | "error" | "" | null; - }; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "fixed"; - tool: { - /** @description The name of the tool used to generate the code scanning analysis alert. */ - name: string; - /** @description The version of the tool used to detect the alert. */ - version: OneOf<[string, null]>; - }; - /** Format: uri */ - url: string; - }; - /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - commit_oid: string; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - ref: string; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + /** + * Simple Commit + * @description A commit. + */ + "simple-commit": { + id: string; + tree_id: string; + message: string; + /** Format: date-time */ + timestamp: string; + author: OneOf<[{ + name: string; + email: string; + }, null]>; + committer: OneOf<[{ + name: string; + email: string; + }, null]>; }; - /** commit_comment created event */ - "webhook-commit-comment-created": { + /** + * Workflow Run + * @description An invocation of a workflow + */ + "workflow-run": { + /** @description The ID of the workflow run. */ + id: number; + /** @description The name of the workflow run. */ + name?: OneOf<[string, null]>; + node_id: string; + /** @description The ID of the associated check suite. */ + check_suite_id?: number; + /** @description The node ID of the associated check suite. */ + check_suite_node_id?: string; + head_branch: OneOf<[string, null]>; + /** @description The SHA of the head commit that points to the version of the workflow being run. */ + head_sha: string; + /** @description The full path of the workflow */ + path: string; + /** @description The auto incrementing run number for the workflow run. */ + run_number: number; + /** @description Attempt number of the run, 1 for first attempt and higher if the workflow was re-run. */ + run_attempt?: number; + referenced_workflows?: OneOf<[(components["schemas"]["referenced-workflow"])[], null]>; + event: string; + status: OneOf<[string, null]>; + conclusion: OneOf<[string, null]>; + /** @description The ID of the parent workflow. */ + workflow_id: number; + /** @description The URL to the workflow run. */ + url: string; + html_url: string; + pull_requests: OneOf<[(components["schemas"]["pull-request-minimal"])[], null]>; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + actor?: components["schemas"]["simple-user"]; + triggering_actor?: components["schemas"]["simple-user"]; /** - * @description The action performed. Can be `created`. - * @enum {string} + * Format: date-time + * @description The start time of the latest run. Resets on re-run. */ - action: "created"; - /** @description The [commit comment](https://docs.github.com/rest/reference/repos#get-a-commit-comment) resource. */ - comment: { - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description The text of the comment. */ - body: string; - /** @description The SHA of the commit to which the comment applies. */ - commit_id: string; - created_at: string; - /** Format: uri */ - html_url: string; - /** @description The ID of the commit comment. */ - id: number; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - line: OneOf<[number, null]>; - /** @description The node ID of the commit comment. */ - node_id: string; - /** @description The relative path of the file to which the comment applies. */ - path: OneOf<[string, null]>; - /** @description The line index in the diff to which the comment applies. */ - position: OneOf<[number, null]>; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; + run_started_at?: string; + /** @description The URL to the jobs for the workflow run. */ + jobs_url: string; + /** @description The URL to download the logs for the workflow run. */ + logs_url: string; + /** @description The URL to the associated check suite. */ + check_suite_url: string; + /** @description The URL to the artifacts for the workflow run. */ + artifacts_url: string; + /** @description The URL to cancel the workflow run. */ + cancel_url: string; + /** @description The URL to rerun the workflow run. */ + rerun_url: string; + /** @description The URL to the previous attempted run of this workflow, if one exists. */ + previous_attempt_url?: OneOf<[string, null]>; + /** @description The URL to the workflow. */ + workflow_url: string; + head_commit: null | components["schemas"]["simple-commit"]; + repository: components["schemas"]["minimal-repository"]; + head_repository: components["schemas"]["minimal-repository"]; + head_repository_id?: number; + /** @description The event-specific title associated with the run or the run-name if set, or the value of `run-name` if it is set in the workflow. */ + display_title: string; + }; + /** + * Environment Approval + * @description An entry in the reviews log for environment deployments + */ + "environment-approvals": { + /** @description The list of environments that were approved or rejected */ + environments: ({ + /** @description The id of the environment. */ + id?: number; node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ + /** @description The name of the environment. */ + name?: string; url?: string; - }, null]>; - }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** create event */ - "webhook-create": { - /** @description The repository's current description. */ - description: OneOf<[string, null]>; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The name of the repository's default branch (usually `main`). */ - master_branch: string; - organization?: components["schemas"]["organization-simple"]; - /** @description The pusher type for the event. Can be either `user` or a deploy key. */ - pusher_type: string; - /** @description The [`git ref`](https://docs.github.com/rest/reference/git#get-a-reference) resource. */ - ref: string; + html_url?: string; + /** + * Format: date-time + * @description The time that the environment was created, in ISO 8601 format. + */ + created_at?: string; + /** + * Format: date-time + * @description The time that the environment was last updated, in ISO 8601 format. + */ + updated_at?: string; + })[]; /** - * @description The type of Git ref object created in the repository. + * @description Whether deployment to the environment(s) was approved or rejected * @enum {string} */ - ref_type: "tag" | "branch"; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + state: "approved" | "rejected"; + user: components["schemas"]["simple-user"]; + /** @description The comment submitted with the deployment review */ + comment: string; }; - /** delete event */ - "webhook-delete": { - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - /** @description The pusher type for the event. Can be either `user` or a deploy key. */ - pusher_type: string; - /** @description The [`git ref`](https://docs.github.com/rest/reference/git#get-a-reference) resource. */ - ref: string; + /** + * @description The type of reviewer. + * @enum {string} + */ + "deployment-reviewer-type": "User" | "Team"; + /** + * Pending Deployment + * @description Details of a deployment that is waiting for protection rules to pass + */ + "pending-deployment": { + environment: { + /** @description The id of the environment. */ + id?: number; + node_id?: string; + /** @description The name of the environment. */ + name?: string; + url?: string; + html_url?: string; + }; + /** @description The set duration of the wait timer */ + wait_timer: number; /** - * @description The type of Git ref object deleted in the repository. - * @enum {string} + * Format: date-time + * @description The time that the wait timer began. */ - ref_type: "tag" | "branch"; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** Dependabot alert created event */ - "webhook-dependabot-alert-created": { - /** @enum {string} */ - action: "created"; - alert: components["schemas"]["dependabot-alert"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - enterprise?: components["schemas"]["enterprise"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + wait_timer_started_at: OneOf<[string, null]>; + /** @description Whether the currently authenticated user can approve the deployment */ + current_user_can_approve: boolean; + /** @description The people or teams that may approve jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. */ + reviewers: ({ + type?: components["schemas"]["deployment-reviewer-type"]; + reviewer?: components["schemas"]["simple-user"] | components["schemas"]["team"]; + })[]; }; - /** Dependabot alert dismissed event */ - "webhook-dependabot-alert-dismissed": { - /** @enum {string} */ - action: "dismissed"; - alert: components["schemas"]["dependabot-alert"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - enterprise?: components["schemas"]["enterprise"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + /** + * Deployment + * @description A request for a specific ref(branch,sha,tag) to be deployed + */ + deployment: { + /** Format: uri */ + url: string; + /** @description Unique identifier of the deployment */ + id: number; + node_id: string; + sha: string; + /** @description The ref to deploy. This can be a branch, tag, or sha. */ + ref: string; + /** @description Parameter to specify a task to execute */ + task: string; + payload: OneOf<[{ + [key: string]: unknown | undefined; + }, string]>; + original_environment?: string; + /** @description Name for the target deployment environment. */ + environment: string; + description: OneOf<[string, null]>; + creator: null | components["schemas"]["simple-user"]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + statuses_url: string; + /** Format: uri */ + repository_url: string; + /** @description Specifies if the given environment is will no longer exist at some point in the future. Default: false. */ + transient_environment?: boolean; + /** @description Specifies if the given environment is one that end-users directly interact with. Default: false. */ + production_environment?: boolean; + performed_via_github_app?: null | components["schemas"]["integration"]; }; - /** Dependabot alert fixed event */ - "webhook-dependabot-alert-fixed": { - /** @enum {string} */ - action: "fixed"; - alert: components["schemas"]["dependabot-alert"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - enterprise?: components["schemas"]["enterprise"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + /** + * Workflow Run Usage + * @description Workflow Run Usage + */ + "workflow-run-usage": { + billable: { + UBUNTU?: { + total_ms: number; + jobs: number; + job_runs?: ({ + job_id: number; + duration_ms: number; + })[]; + }; + MACOS?: { + total_ms: number; + jobs: number; + job_runs?: ({ + job_id: number; + duration_ms: number; + })[]; + }; + WINDOWS?: { + total_ms: number; + jobs: number; + job_runs?: ({ + job_id: number; + duration_ms: number; + })[]; + }; + }; + run_duration_ms?: number; }; - /** Dependabot alert reintroduced event */ - "webhook-dependabot-alert-reintroduced": { - /** @enum {string} */ - action: "reintroduced"; - alert: components["schemas"]["dependabot-alert"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - enterprise?: components["schemas"]["enterprise"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + /** + * Actions Secret + * @description Set secrets for GitHub Actions. + */ + "actions-secret": { + /** @description The name of the secret. */ + name: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; }; - /** Dependabot alert reopened event */ - "webhook-dependabot-alert-reopened": { + /** + * Workflow + * @description A GitHub Actions workflow + */ + workflow: { + id: number; + node_id: string; + name: string; + path: string; /** @enum {string} */ - action: "reopened"; - alert: components["schemas"]["dependabot-alert"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - enterprise?: components["schemas"]["enterprise"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + state: "active" | "deleted" | "disabled_fork" | "disabled_inactivity" | "disabled_manually"; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + url: string; + html_url: string; + badge_url: string; + /** Format: date-time */ + deleted_at?: string; }; - /** deploy_key created event */ - "webhook-deploy-key-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The [`deploy key`](https://docs.github.com/rest/reference/deployments#get-a-deploy-key) resource. */ - key: { - added_by?: OneOf<[string, null]>; - created_at: string; - id: number; - key: string; - last_used?: OneOf<[string, null]>; - read_only: boolean; - title: string; - /** Format: uri */ - url: string; - verified: boolean; + /** + * Workflow Usage + * @description Workflow Usage + */ + "workflow-usage": { + billable: { + UBUNTU?: { + total_ms?: number; + }; + MACOS?: { + total_ms?: number; + }; + WINDOWS?: { + total_ms?: number; + }; }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; }; - /** deploy_key deleted event */ - "webhook-deploy-key-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The [`deploy key`](https://docs.github.com/rest/reference/deployments#get-a-deploy-key) resource. */ - key: { - added_by?: OneOf<[string, null]>; - created_at: string; - id: number; - key: string; - last_used?: OneOf<[string, null]>; - read_only: boolean; - title: string; - /** Format: uri */ - url: string; - verified: boolean; - }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + /** + * Autolink reference + * @description An autolink reference. + */ + autolink: { + id: number; + /** @description The prefix of a key that is linkified. */ + key_prefix: string; + /** @description A template for the target URL that is generated if a key was found. */ + url_template: string; + /** @description Whether this autolink reference matches alphanumeric characters. If false, this autolink reference only matches numeric characters. */ + is_alphanumeric: boolean; }; - /** deployment created event */ - "webhook-deployment-created": { - /** @enum {string} */ - action: "created"; + /** + * Protected Branch Required Status Check + * @description Protected Branch Required Status Check + */ + "protected-branch-required-status-check": { + url?: string; + enforcement_level?: string; + contexts: (string)[]; + checks: ({ + context: string; + app_id: OneOf<[number, null]>; + })[]; + contexts_url?: string; + strict?: boolean; + }; + /** + * Protected Branch Admin Enforced + * @description Protected Branch Admin Enforced + */ + "protected-branch-admin-enforced": { + /** Format: uri */ + url: string; + enabled: boolean; + }; + /** + * Protected Branch Pull Request Review + * @description Protected Branch Pull Request Review + */ + "protected-branch-pull-request-review": { + /** Format: uri */ + url?: string; + dismissal_restrictions?: { + /** @description The list of users with review dismissal access. */ + users?: (components["schemas"]["simple-user"])[]; + /** @description The list of teams with review dismissal access. */ + teams?: (components["schemas"]["team"])[]; + /** @description The list of apps with review dismissal access. */ + apps?: (components["schemas"]["integration"])[]; + url?: string; + users_url?: string; + teams_url?: string; + }; + /** @description Allow specific users, teams, or apps to bypass pull request requirements. */ + bypass_pull_request_allowances?: { + /** @description The list of users allowed to bypass pull request requirements. */ + users?: (components["schemas"]["simple-user"])[]; + /** @description The list of teams allowed to bypass pull request requirements. */ + teams?: (components["schemas"]["team"])[]; + /** @description The list of apps allowed to bypass pull request requirements. */ + apps?: (components["schemas"]["integration"])[]; + }; + dismiss_stale_reviews: boolean; + require_code_owner_reviews: boolean; + required_approving_review_count?: number; /** - * Deployment - * @description The [deployment](https://docs.github.com/rest/reference/deployments#list-deployments). + * @description Whether the most recent push must be approved by someone other than the person who pushed it. + * @default false */ - deployment: { - created_at: string; - /** User */ - creator: OneOf<[{ - /** Format: uri */ + require_last_push_approval?: boolean; + }; + /** + * Branch Restriction Policy + * @description Branch Restriction Policy + */ + "branch-restriction-policy": { + /** Format: uri */ + url: string; + /** Format: uri */ + users_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri */ + apps_url: string; + users: ({ + login?: string; + id?: number; + node_id?: string; avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ + gravatar_id?: string; + url?: string; + html_url?: string; followers_url?: string; - /** Format: uri-template */ following_url?: string; - /** Format: uri-template */ gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ + starred_url?: string; + subscriptions_url?: string; organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ + })[]; + teams: ({ + id?: number; + node_id?: string; url?: string; - }, null]>; - description: OneOf<[string, null]>; - environment: string; - id: number; - node_id: string; - original_environment: string; - payload: Record | string; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: OneOf<[{ - /** Format: date-time */ - created_at: OneOf<[string, null]>; - description: OneOf<[string, null]>; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "workflow_job" | "pull_request_review_thread" | "merge_queue_entry" | "secret_scanning_alert_location" | "merge_group")[]; - /** Format: uri */ - external_url: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: OneOf<[number, null]>; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ + html_url?: string; + name?: string; + slug?: string; + description?: OneOf<[string, null]>; + privacy?: string; + permission?: string; + members_url?: string; + repositories_url?: string; + parent?: OneOf<[string, null]>; + })[]; + apps: ({ + id?: number; + slug?: string; + node_id?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + url?: string; + repos_url?: string; events_url?: string; - /** Format: uri */ + hooks_url?: string; + issues_url?: string; + members_url?: string; + public_members_url?: string; + avatar_url?: string; + description?: string; + gravatar_id?: string; + html_url?: string; followers_url?: string; - /** Format: uri-template */ following_url?: string; - /** Format: uri-template */ gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ + starred_url?: string; + subscriptions_url?: string; organizations_url?: string; - /** Format: uri */ received_events_url?: string; - /** Format: uri */ - repos_url?: string; + type?: string; site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** @description The set of permissions for the GitHub app */ + }; + name?: string; + description?: string; + external_url?: string; + html_url?: string; + created_at?: string; + updated_at?: string; permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; + metadata?: string; + contents?: string; + issues?: string; + single_file?: string; }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: OneOf<[string, null]>; - }, null]>; - production_environment?: boolean; - ref: string; + events?: (string)[]; + })[]; + }; + /** + * Branch Protection + * @description Branch Protection + */ + "branch-protection": { + url?: string; + enabled?: boolean; + required_status_checks?: components["schemas"]["protected-branch-required-status-check"]; + enforce_admins?: components["schemas"]["protected-branch-admin-enforced"]; + required_pull_request_reviews?: components["schemas"]["protected-branch-pull-request-review"]; + restrictions?: components["schemas"]["branch-restriction-policy"]; + required_linear_history?: { + enabled?: boolean; + }; + allow_force_pushes?: { + enabled?: boolean; + }; + allow_deletions?: { + enabled?: boolean; + }; + block_creations?: { + enabled?: boolean; + }; + required_conversation_resolution?: { + enabled?: boolean; + }; + name?: string; + protection_url?: string; + required_signatures?: { /** Format: uri */ - repository_url: string; + url: string; + enabled: boolean; + }; + /** @description Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. */ + lock_branch?: { + /** @default false */ + enabled?: boolean; + }; + /** @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. */ + allow_fork_syncing?: { + /** @default false */ + enabled?: boolean; + }; + }; + /** + * Short Branch + * @description Short Branch + */ + "short-branch": { + name: string; + commit: { sha: string; /** Format: uri */ - statuses_url: string; - task: string; - transient_environment?: boolean; - updated_at: string; - /** Format: uri */ url: string; }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - /** Workflow */ - workflow: OneOf<[{ - /** Format: uri */ - badge_url: string; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - html_url: string; - id: number; - name: string; - node_id: string; - path: string; - state: string; - /** Format: date-time */ - updated_at: string; + protected: boolean; + protection?: components["schemas"]["branch-protection"]; + /** Format: uri */ + protection_url?: string; + }; + /** + * Git User + * @description Metaproperties for Git author/committer information. + */ + "git-user": { + name?: string; + email?: string; + date?: string; + }; + /** Verification */ + verification: { + verified: boolean; + reason: string; + payload: OneOf<[string, null]>; + signature: OneOf<[string, null]>; + }; + /** + * Diff Entry + * @description Diff Entry + */ + "diff-entry": { + sha: string; + filename: string; + /** @enum {string} */ + status: "added" | "removed" | "modified" | "renamed" | "copied" | "changed" | "unchanged"; + additions: number; + deletions: number; + changes: number; + /** Format: uri */ + blob_url: string; + /** Format: uri */ + raw_url: string; + /** Format: uri */ + contents_url: string; + patch?: string; + previous_filename?: string; + }; + /** + * Commit + * @description Commit + */ + commit: { + /** Format: uri */ + url: string; + sha: string; + node_id: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + comments_url: string; + commit: { /** Format: uri */ url: string; - }, null]>; - /** Deployment Workflow Run */ - workflow_run: OneOf<[{ - /** User */ - actor: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + author: null | components["schemas"]["git-user"]; + committer: null | components["schemas"]["git-user"]; + message: string; + comment_count: number; + tree: { + sha: string; /** Format: uri */ - url?: string; - }, null]>; - artifacts_url?: string; - cancel_url?: string; - check_suite_id: number; - check_suite_node_id: string; - check_suite_url?: string; - /** @enum {string|null} */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | "" | null; - /** Format: date-time */ - created_at: string; - display_title: string; - event: string; - head_branch: string; - head_commit?: null; - head_repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - jobs_url?: string; - logs_url?: string; - name: string; - node_id: string; - path: string; - previous_attempt_url?: null; - pull_requests: ({ - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - })[]; - referenced_workflows?: OneOf<[({ - path: string; - ref?: string; - sha: string; - })[], null]>; - repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; + url: string; }; - rerun_url?: string; - run_attempt: number; - run_number: number; - /** Format: date-time */ - run_started_at: string; - /** @enum {string} */ - status: "requested" | "in_progress" | "completed" | "queued" | "waiting" | "pending"; - /** User */ - triggering_actor?: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; + verification?: components["schemas"]["verification"]; + }; + author: null | components["schemas"]["simple-user"]; + committer: null | components["schemas"]["simple-user"]; + parents: ({ + sha: string; /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + url: string; /** Format: uri */ html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - workflow_id: number; - workflow_url?: string; - }, null]>; + })[]; + stats?: { + additions?: number; + deletions?: number; + total?: number; + }; + files?: (components["schemas"]["diff-entry"])[]; }; - /** deployment_status created event */ - "webhook-deployment-status-created": { - /** @enum {string} */ - action: "created"; - check_run?: OneOf<[{ - /** Format: date-time */ - completed_at: OneOf<[string, null]>; - /** - * @description The result of the completed check run. Can be one of `success`, `failure`, `neutral`, `cancelled`, `timed_out`, `action_required` or `stale`. This value will be `null` until the check run has completed. - * @enum {string|null} - */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | "skipped" | "" | null; + /** + * Branch With Protection + * @description Branch With Protection + */ + "branch-with-protection": { + name: string; + commit: components["schemas"]["commit"]; + _links: { + html: string; /** Format: uri */ - details_url: string; - external_id: string; - /** @description The SHA of the commit that is being checked. */ - head_sha: string; + self: string; + }; + protected: boolean; + protection: components["schemas"]["branch-protection"]; + /** Format: uri */ + protection_url: string; + pattern?: string; + required_approving_review_count?: number; + }; + /** + * Status Check Policy + * @description Status Check Policy + */ + "status-check-policy": { + /** Format: uri */ + url: string; + strict: boolean; + contexts: (string)[]; + checks: ({ + context: string; + app_id: OneOf<[number, null]>; + })[]; + /** Format: uri */ + contexts_url: string; + }; + /** + * Protected Branch + * @description Branch protections protect branches + */ + "protected-branch": { + /** Format: uri */ + url: string; + required_status_checks?: components["schemas"]["status-check-policy"]; + required_pull_request_reviews?: { /** Format: uri */ - html_url: string; - /** @description The id of the check. */ - id: number; - /** @description The name of the check run. */ - name: string; - node_id: string; - /** Format: date-time */ - started_at: string; + url: string; + dismiss_stale_reviews?: boolean; + require_code_owner_reviews?: boolean; + required_approving_review_count?: number; /** - * @description The current status of the check run. Can be `queued`, `in_progress`, or `completed`. - * @enum {string} + * @description Whether the most recent push must be approved by someone other than the person who pushed it. + * @default false */ - status: "queued" | "in_progress" | "completed" | "waiting" | "pending"; + require_last_push_approval?: boolean; + dismissal_restrictions?: { + /** Format: uri */ + url: string; + /** Format: uri */ + users_url: string; + /** Format: uri */ + teams_url: string; + users: (components["schemas"]["simple-user"])[]; + teams: (components["schemas"]["team"])[]; + apps?: (components["schemas"]["integration"])[]; + }; + bypass_pull_request_allowances?: { + users: (components["schemas"]["simple-user"])[]; + teams: (components["schemas"]["team"])[]; + apps?: (components["schemas"]["integration"])[]; + }; + }; + required_signatures?: { /** Format: uri */ url: string; - }, null]>; + enabled: boolean; + }; + enforce_admins?: { + /** Format: uri */ + url: string; + enabled: boolean; + }; + required_linear_history?: { + enabled: boolean; + }; + allow_force_pushes?: { + enabled: boolean; + }; + allow_deletions?: { + enabled: boolean; + }; + restrictions?: components["schemas"]["branch-restriction-policy"]; + required_conversation_resolution?: { + enabled?: boolean; + }; + block_creations?: { + enabled: boolean; + }; + /** @description Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. */ + lock_branch?: { + /** @default false */ + enabled?: boolean; + }; + /** @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. */ + allow_fork_syncing?: { + /** @default false */ + enabled?: boolean; + }; + }; + /** + * Deployment + * @description A deployment created as the result of an Actions check run from a workflow that references an environment + */ + "deployment-simple": { + /** Format: uri */ + url: string; + /** @description Unique identifier of the deployment */ + id: number; + node_id: string; + /** @description Parameter to specify a task to execute */ + task: string; + original_environment?: string; + /** @description Name for the target deployment environment. */ + environment: string; + description: OneOf<[string, null]>; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + statuses_url: string; + /** Format: uri */ + repository_url: string; + /** @description Specifies if the given environment is will no longer exist at some point in the future. Default: false. */ + transient_environment?: boolean; + /** @description Specifies if the given environment is one that end-users directly interact with. Default: false. */ + production_environment?: boolean; + performed_via_github_app?: null | components["schemas"]["integration"]; + }; + /** + * CheckRun + * @description A check performed on the code of a given code change + */ + "check-run": { + /** @description The id of the check. */ + id: number; + /** @description The SHA of the commit that is being checked. */ + head_sha: string; + node_id: string; + external_id: OneOf<[string, null]>; + url: string; + html_url: OneOf<[string, null]>; + details_url: OneOf<[string, null]>; /** - * Deployment - * @description The [deployment](https://docs.github.com/rest/reference/deployments#list-deployments). + * @description The phase of the lifecycle that the check is currently in. + * @enum {string} */ - deployment: { - created_at: string; - /** User */ - creator: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - description: OneOf<[string, null]>; - environment: string; - id: number; - node_id: string; - original_environment: string; - payload: string | Record; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: OneOf<[{ - /** Format: date-time */ - created_at: OneOf<[string, null]>; - description: OneOf<[string, null]>; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "merge_queue_entry" | "workflow_job" | "pull_request_review_thread" | "secret_scanning_alert_location" | "merge_group")[]; - /** Format: uri */ - external_url: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: OneOf<[number, null]>; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: OneOf<[string, null]>; - }, null]>; - production_environment?: boolean; - ref: string; - /** Format: uri */ - repository_url: string; - sha: string; - /** Format: uri */ - statuses_url: string; - task: string; - transient_environment?: boolean; - updated_at: string; - /** Format: uri */ - url: string; - }; - /** @description The [deployment status](https://docs.github.com/rest/reference/deployments#list-deployment-statuses). */ - deployment_status: { - created_at: string; - /** User */ - creator: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** Format: uri */ - deployment_url: string; - /** @description The optional human-readable description added to the status. */ - description: string; - environment: string; - /** Format: uri */ - environment_url?: string; - id: number; - /** Format: uri */ - log_url?: string; - node_id: string; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: OneOf<[{ - /** Format: date-time */ - created_at: OneOf<[string, null]>; - description: OneOf<[string, null]>; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "merge_queue_entry" | "workflow_job" | "merge_group" | "secret_scanning_alert_location")[]; - /** Format: uri */ - external_url: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: OneOf<[number, null]>; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: OneOf<[string, null]>; - }, null]>; - /** Format: uri */ - repository_url: string; - /** @description The new state. Can be `pending`, `success`, `failure`, or `error`. */ - state: string; - /** @description The optional link added to the status. */ - target_url: string; - updated_at: string; + status: "queued" | "in_progress" | "completed"; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | "" | null; + /** Format: date-time */ + started_at: OneOf<[string, null]>; + /** Format: date-time */ + completed_at: OneOf<[string, null]>; + output: { + title: OneOf<[string, null]>; + summary: OneOf<[string, null]>; + text: OneOf<[string, null]>; + annotations_count: number; /** Format: uri */ - url: string; + annotations_url: string; }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - /** Workflow */ - workflow?: OneOf<[{ - /** Format: uri */ - badge_url: string; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - html_url: string; + /** @description The name of the check. */ + name: string; + check_suite: OneOf<[{ id: number; - name: string; - node_id: string; - path: string; - state: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; }, null]>; - /** Deployment Workflow Run */ - workflow_run?: OneOf<[{ - /** User */ - actor: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - artifacts_url?: string; - cancel_url?: string; - check_suite_id: number; - check_suite_node_id: string; - check_suite_url?: string; - /** @enum {string|null} */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | "" | "startup_failure" | null; - /** Format: date-time */ - created_at: string; - display_title: string; - event: string; - head_branch: string; - head_commit?: null; - head_repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - jobs_url?: string; - logs_url?: string; - name: string; - node_id: string; - path: string; - previous_attempt_url?: null; - pull_requests: ({ - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; + app: null | components["schemas"]["integration"]; + pull_requests: (components["schemas"]["pull-request-minimal"])[]; + deployment?: components["schemas"]["deployment-simple"]; + }; + /** + * Check Annotation + * @description Check Annotation + */ + "check-annotation": { + path: string; + start_line: number; + end_line: number; + start_column: OneOf<[number, null]>; + end_column: OneOf<[number, null]>; + annotation_level: OneOf<[string, null]>; + title: OneOf<[string, null]>; + message: OneOf<[string, null]>; + raw_details: OneOf<[string, null]>; + blob_href: string; + }; + /** + * CheckSuite + * @description A suite of checks performed on the code of a given code change + */ + "check-suite": { + id: number; + node_id: string; + head_branch: OneOf<[string, null]>; + /** @description The SHA of the head commit that is being checked. */ + head_sha: string; + /** @enum {string|null} */ + status: "queued" | "in_progress" | "completed" | "" | null; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | "startup_failure" | "stale" | "" | null; + url: OneOf<[string, null]>; + before: OneOf<[string, null]>; + after: OneOf<[string, null]>; + pull_requests: OneOf<[(components["schemas"]["pull-request-minimal"])[], null]>; + app: null | components["schemas"]["integration"]; + repository: components["schemas"]["minimal-repository"]; + /** Format: date-time */ + created_at: OneOf<[string, null]>; + /** Format: date-time */ + updated_at: OneOf<[string, null]>; + head_commit: components["schemas"]["simple-commit"]; + latest_check_runs_count: number; + check_runs_url: string; + rerequestable?: boolean; + runs_rerequestable?: boolean; + }; + /** + * Check Suite Preference + * @description Check suite configuration preferences for a repository. + */ + "check-suite-preference": { + preferences: { + auto_trigger_checks?: ({ + app_id: number; + setting: boolean; })[]; - referenced_workflows?: OneOf<[({ - path: string; - ref?: string; - sha: string; - })[], null]>; - repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - rerun_url?: string; - run_attempt: number; - run_number: number; - /** Format: date-time */ - run_started_at: string; - /** @enum {string} */ - status: "requested" | "in_progress" | "completed" | "queued" | "waiting" | "pending"; - /** User */ - triggering_actor: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ + }; + repository: components["schemas"]["minimal-repository"]; + }; + "code-scanning-alert-rule-summary": { + /** @description A unique identifier for the rule used to detect the alert. */ + id?: OneOf<[string, null]>; + /** @description The name of the rule used to detect the alert. */ + name?: string; + /** @description A set of tags applicable for the rule. */ + tags?: OneOf<[(string)[], null]>; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity?: "none" | "note" | "warning" | "error" | "" | null; + /** @description A short description of the rule used to detect the alert. */ + description?: string; + }; + "code-scanning-alert-items": { + number: components["schemas"]["alert-number"]; + created_at: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["alert-updated-at"]; + url: components["schemas"]["alert-url"]; + html_url: components["schemas"]["alert-html-url"]; + instances_url: components["schemas"]["alert-instances-url"]; + state: components["schemas"]["code-scanning-alert-state"]; + fixed_at?: components["schemas"]["alert-fixed-at"]; + dismissed_by: null | components["schemas"]["simple-user"]; + dismissed_at: components["schemas"]["alert-dismissed-at"]; + dismissed_reason: components["schemas"]["code-scanning-alert-dismissed-reason"]; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + rule: components["schemas"]["code-scanning-alert-rule-summary"]; + tool: components["schemas"]["code-scanning-analysis-tool"]; + most_recent_instance: components["schemas"]["code-scanning-alert-instance"]; + }; + "code-scanning-alert": { + number: components["schemas"]["alert-number"]; + created_at: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["alert-updated-at"]; + url: components["schemas"]["alert-url"]; + html_url: components["schemas"]["alert-html-url"]; + instances_url: components["schemas"]["alert-instances-url"]; + state: components["schemas"]["code-scanning-alert-state"]; + fixed_at?: components["schemas"]["alert-fixed-at"]; + dismissed_by: null | components["schemas"]["simple-user"]; + dismissed_at: components["schemas"]["alert-dismissed-at"]; + dismissed_reason: components["schemas"]["code-scanning-alert-dismissed-reason"]; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + rule: components["schemas"]["code-scanning-alert-rule"]; + tool: components["schemas"]["code-scanning-analysis-tool"]; + most_recent_instance: components["schemas"]["code-scanning-alert-instance"]; + }; + /** + * @description Sets the state of the code scanning alert. You must provide `dismissed_reason` when you set the state to `dismissed`. + * @enum {string} + */ + "code-scanning-alert-set-state": "open" | "dismissed"; + /** @description An identifier for the upload. */ + "code-scanning-analysis-sarif-id": string; + /** @description The SHA of the commit to which the analysis you are uploading relates. */ + "code-scanning-analysis-commit-sha": string; + /** @description Identifies the variable values associated with the environment in which this analysis was performed. */ + "code-scanning-analysis-environment": string; + /** + * Format: date-time + * @description The time that the analysis was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + readonly "code-scanning-analysis-created-at": string; + /** + * Format: uri + * @description The REST API URL of the analysis resource. + */ + readonly "code-scanning-analysis-url": string; + "code-scanning-analysis": { + ref: components["schemas"]["code-scanning-ref"]; + commit_sha: components["schemas"]["code-scanning-analysis-commit-sha"]; + analysis_key: components["schemas"]["code-scanning-analysis-analysis-key"]; + environment: components["schemas"]["code-scanning-analysis-environment"]; + category?: components["schemas"]["code-scanning-analysis-category"]; + error: string; + created_at: components["schemas"]["code-scanning-analysis-created-at"]; + /** @description The total number of results in the analysis. */ + results_count: number; + /** @description The total number of rules used in the analysis. */ + rules_count: number; + /** @description Unique identifier for this analysis. */ + id: number; + url: components["schemas"]["code-scanning-analysis-url"]; + sarif_id: components["schemas"]["code-scanning-analysis-sarif-id"]; + tool: components["schemas"]["code-scanning-analysis-tool"]; + deletable: boolean; + /** @description Warning generated when processing the analysis */ + warning: string; + }; + /** + * Analysis deletion + * @description Successful deletion of a code scanning analysis + */ + "code-scanning-analysis-deletion": { + /** + * Format: uri + * @description Next deletable analysis in chain, without last analysis deletion confirmation + */ + next_analysis_url: OneOf<[string, null]>; + /** + * Format: uri + * @description Next deletable analysis in chain, with last analysis deletion confirmation + */ + confirm_delete_url: OneOf<[string, null]>; + }; + /** + * CodeQL Database + * @description A CodeQL database. + */ + "code-scanning-codeql-database": { + /** @description The ID of the CodeQL database. */ + id: number; + /** @description The name of the CodeQL database. */ + name: string; + /** @description The language of the CodeQL database. */ + language: string; + uploader: components["schemas"]["simple-user"]; + /** @description The MIME type of the CodeQL database file. */ + content_type: string; + /** @description The size of the CodeQL database file in bytes. */ + size: number; + /** + * Format: date-time + * @description The date and time at which the CodeQL database was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + created_at: string; + /** + * Format: date-time + * @description The date and time at which the CodeQL database was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + updated_at: string; + /** + * Format: uri + * @description The URL at which to download the CodeQL database. The `Accept` header must be set to the value of the `content_type` property. + */ + url: string; + }; + /** @description A Base64 string representing the SARIF file to upload. You must first compress your SARIF file using [`gzip`](http://www.gnu.org/software/gzip/manual/gzip.html) and then translate the contents of the file into a Base64 encoding string. For more information, see "[SARIF support for code scanning](https://docs.github.com/code-security/secure-coding/sarif-support-for-code-scanning)." */ + "code-scanning-analysis-sarif-file": string; + "code-scanning-sarifs-receipt": { + id?: components["schemas"]["code-scanning-analysis-sarif-id"]; + /** + * Format: uri + * @description The REST API URL for checking the status of the upload. + */ + url?: string; + }; + "code-scanning-sarifs-status": { + /** + * @description `pending` files have not yet been processed, while `complete` means results from the SARIF have been stored. `failed` files have either not been processed at all, or could only be partially processed. + * @enum {string} + */ + processing_status?: "pending" | "complete" | "failed"; + /** + * Format: uri + * @description The REST API URL for getting the analyses associated with the upload. + */ + analyses_url?: OneOf<[string, null]>; + /** @description Any errors that ocurred during processing of the delivery. */ + errors?: OneOf<[readonly (string)[], null]>; + }; + /** + * CODEOWNERS errors + * @description A list of errors found in a repo's CODEOWNERS file + */ + "codeowners-errors": { + errors: ({ + /** @description The line number where this errors occurs. */ + line: number; + /** @description The column number where this errors occurs. */ + column: number; + /** @description The contents of the line where the error occurs. */ + source?: string; + /** @description The type of error. */ + kind: string; + /** @description Suggested action to fix the error. This will usually be `null`, but is provided for some common errors. */ + suggestion?: OneOf<[string, null]>; + /** @description A human-readable description of the error, combining information from multiple fields, laid out for display in a monospaced typeface (for example, a command-line setting). */ + message: string; + /** @description The path of the file where the error occured. */ + path: string; + })[]; + }; + /** + * Codespaces Secret + * @description Set repository secrets for GitHub Codespaces. + */ + "repo-codespaces-secret": { + /** @description The name of the secret. */ + name: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Collaborator + * @description Collaborator + */ + collaborator: { + login: string; + id: number; + email?: OneOf<[string, null]>; + name?: OneOf<[string, null]>; + node_id: string; + /** Format: uri */ + avatar_url: string; + gravatar_id: OneOf<[string, null]>; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + /** Format: uri */ + subscriptions_url: string; + /** Format: uri */ + organizations_url: string; + /** Format: uri */ + repos_url: string; + events_url: string; + /** Format: uri */ + received_events_url: string; + type: string; + site_admin: boolean; + permissions?: { + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + admin: boolean; + }; + role_name: string; + }; + /** + * Repository Invitation + * @description Repository invitations let you manage who you collaborate with. + */ + "repository-invitation": { + /** @description Unique identifier of the repository invitation. */ + id: number; + repository: components["schemas"]["minimal-repository"]; + invitee: null | components["schemas"]["simple-user"]; + inviter: null | components["schemas"]["simple-user"]; + /** + * @description The permission associated with the invitation. + * @enum {string} + */ + permissions: "read" | "write" | "admin" | "triage" | "maintain"; + /** Format: date-time */ + created_at: string; + /** @description Whether or not the invitation has expired */ + expired?: boolean; + /** @description URL for the repository invitation */ + url: string; + html_url: string; + node_id: string; + }; + /** + * Repository Collaborator Permission + * @description Repository Collaborator Permission + */ + "repository-collaborator-permission": { + permission: string; + role_name: string; + user: null | components["schemas"]["collaborator"]; + }; + /** + * Commit Comment + * @description Commit Comment + */ + "commit-comment": { + /** Format: uri */ + html_url: string; + /** Format: uri */ + url: string; + id: number; + node_id: string; + body: string; + path: OneOf<[string, null]>; + position: OneOf<[number, null]>; + line: OneOf<[number, null]>; + commit_id: string; + user: null | components["schemas"]["simple-user"]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + author_association: components["schemas"]["author-association"]; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Branch Short + * @description Branch Short + */ + "branch-short": { + name: string; + commit: { + sha: string; url: string; - workflow_id: number; - workflow_url?: string; - }, null]>; + }; + protected: boolean; }; - /** discussion answered event */ - "webhook-discussion-answered": { + /** + * Link + * @description Hypermedia Link + */ + link: { + href: string; + }; + /** + * Auto merge + * @description The status of auto merging a pull request. + */ + "auto-merge": OneOf<[{ + enabled_by: components["schemas"]["simple-user"]; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + /** @description Title for the merge commit message. */ + commit_title: string; + /** @description Commit message for the merge commit. */ + commit_message: string; + }, null]>; + /** + * Pull Request Simple + * @description Pull Request Simple + */ + "pull-request-simple": { + /** Format: uri */ + url: string; + id: number; + node_id: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + diff_url: string; + /** Format: uri */ + patch_url: string; + /** Format: uri */ + issue_url: string; + /** Format: uri */ + commits_url: string; + /** Format: uri */ + review_comments_url: string; + review_comment_url: string; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: null | components["schemas"]["simple-user"]; + body: OneOf<[string, null]>; + labels: ({ + /** Format: int64 */ + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; + })[]; + milestone: null | components["schemas"]["milestone"]; + active_lock_reason?: OneOf<[string, null]>; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + /** Format: date-time */ + merged_at: OneOf<[string, null]>; + merge_commit_sha: OneOf<[string, null]>; + assignee: null | components["schemas"]["simple-user"]; + assignees?: OneOf<[(components["schemas"]["simple-user"])[], null]>; + requested_reviewers?: OneOf<[(components["schemas"]["simple-user"])[], null]>; + requested_teams?: OneOf<[(components["schemas"]["team"])[], null]>; + head: { + label: string; + ref: string; + repo: components["schemas"]["repository"]; + sha: string; + user: null | components["schemas"]["simple-user"]; + }; + base: { + label: string; + ref: string; + repo: components["schemas"]["repository"]; + sha: string; + user: null | components["schemas"]["simple-user"]; + }; + _links: { + comments: components["schemas"]["link"]; + commits: components["schemas"]["link"]; + statuses: components["schemas"]["link"]; + html: components["schemas"]["link"]; + issue: components["schemas"]["link"]; + review_comments: components["schemas"]["link"]; + review_comment: components["schemas"]["link"]; + self: components["schemas"]["link"]; + }; + author_association: components["schemas"]["author-association"]; + auto_merge: components["schemas"]["auto-merge"]; + /** @description Indicates whether or not the pull request is a draft. */ + draft?: boolean; + }; + /** Simple Commit Status */ + "simple-commit-status": { + description: OneOf<[string, null]>; + id: number; + node_id: string; + state: string; + context: string; + /** Format: uri */ + target_url: OneOf<[string, null]>; + required?: OneOf<[boolean, null]>; + /** Format: uri */ + avatar_url: OneOf<[string, null]>; + /** Format: uri */ + url: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Combined Commit Status + * @description Combined Commit Status + */ + "combined-commit-status": { + state: string; + statuses: (components["schemas"]["simple-commit-status"])[]; + sha: string; + total_count: number; + repository: components["schemas"]["minimal-repository"]; + /** Format: uri */ + commit_url: string; + /** Format: uri */ + url: string; + }; + /** + * Status + * @description The status of a commit. + */ + status: { + url: string; + avatar_url: OneOf<[string, null]>; + id: number; + node_id: string; + state: string; + description: OneOf<[string, null]>; + target_url: OneOf<[string, null]>; + context: string; + created_at: string; + updated_at: string; + creator: null | components["schemas"]["simple-user"]; + }; + /** Community Health File */ + "community-health-file": { + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + }; + /** + * Community Profile + * @description Community Profile + */ + "community-profile": { + health_percentage: number; + description: OneOf<[string, null]>; + documentation: OneOf<[string, null]>; + files: { + code_of_conduct: null | components["schemas"]["code-of-conduct-simple"]; + code_of_conduct_file: null | components["schemas"]["community-health-file"]; + license: null | components["schemas"]["license-simple"]; + contributing: null | components["schemas"]["community-health-file"]; + readme: null | components["schemas"]["community-health-file"]; + issue_template: null | components["schemas"]["community-health-file"]; + pull_request_template: null | components["schemas"]["community-health-file"]; + }; + /** Format: date-time */ + updated_at: OneOf<[string, null]>; + content_reports_enabled?: boolean; + }; + /** + * Commit Comparison + * @description Commit Comparison + */ + "commit-comparison": { + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + permalink_url: string; + /** Format: uri */ + diff_url: string; + /** Format: uri */ + patch_url: string; + base_commit: components["schemas"]["commit"]; + merge_base_commit: components["schemas"]["commit"]; /** @enum {string} */ - action: "answered"; - answer: { - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: string; - child_comment_count: number; - /** Format: date-time */ - created_at: string; - discussion_id: number; - html_url: string; - id: number; - node_id: string; - parent_id: null; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; + status: "diverged" | "ahead" | "behind" | "identical"; + ahead_by: number; + behind_by: number; + total_commits: number; + commits: (components["schemas"]["commit"])[]; + files?: (components["schemas"]["diff-entry"])[]; + }; + /** + * Content Tree + * @description Content Tree + */ + "content-tree": { + type: string; + size: number; + name: string; + path: string; + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + git_url: OneOf<[string, null]>; + /** Format: uri */ + html_url: OneOf<[string, null]>; + /** Format: uri */ + download_url: OneOf<[string, null]>; + entries?: ({ + type: string; + size: number; + name: string; + path: string; + content?: string; + sha: string; /** Format: uri */ url: string; - }; - repository_url: string; - /** Format: date-time */ - updated_at: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + git_url: OneOf<[string, null]>; /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + html_url: OneOf<[string, null]>; /** Format: uri */ - url?: string; - }, null]>; + download_url: OneOf<[string, null]>; + _links: { + /** Format: uri */ + git: OneOf<[string, null]>; + /** Format: uri */ + html: OneOf<[string, null]>; + /** Format: uri */ + self: string; + }; + })[]; + _links: { + /** Format: uri */ + git: OneOf<[string, null]>; + /** Format: uri */ + html: OneOf<[string, null]>; + /** Format: uri */ + self: string; }; - discussion: ({ - active_lock_reason: OneOf<[string, null]>; - answer_chosen_at: OneOf<[string, null]>; - /** User */ - answer_chosen_by: OneOf<[{ + }; + /** + * Content Directory + * @description A list of directory items + */ + "content-directory": ({ + /** @enum {string} */ + type: "dir" | "file" | "submodule" | "symlink"; + size: number; + name: string; + path: string; + content?: string; + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + git_url: OneOf<[string, null]>; + /** Format: uri */ + html_url: OneOf<[string, null]>; + /** Format: uri */ + download_url: OneOf<[string, null]>; + _links: { /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; + git: OneOf<[string, null]>; /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + html: OneOf<[string, null]>; /** Format: uri */ - html_url?: string; - id: number; - login: string; + self: string; + }; + })[]; + /** + * Content File + * @description Content File + */ + "content-file": { + /** @enum {string} */ + type: "file"; + encoding: string; + size: number; + name: string; + path: string; + content: string; + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + git_url: OneOf<[string, null]>; + /** Format: uri */ + html_url: OneOf<[string, null]>; + /** Format: uri */ + download_url: OneOf<[string, null]>; + _links: { + /** Format: uri */ + git: OneOf<[string, null]>; + /** Format: uri */ + html: OneOf<[string, null]>; + /** Format: uri */ + self: string; + }; + target?: string; + submodule_git_url?: string; + }; + /** + * Symlink Content + * @description An object describing a symlink + */ + "content-symlink": { + /** @enum {string} */ + type: "symlink"; + target: string; + size: number; + name: string; + path: string; + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + git_url: OneOf<[string, null]>; + /** Format: uri */ + html_url: OneOf<[string, null]>; + /** Format: uri */ + download_url: OneOf<[string, null]>; + _links: { + /** Format: uri */ + git: OneOf<[string, null]>; + /** Format: uri */ + html: OneOf<[string, null]>; + /** Format: uri */ + self: string; + }; + }; + /** + * Submodule Content + * @description An object describing a submodule + */ + "content-submodule": { + /** @enum {string} */ + type: "submodule"; + /** Format: uri */ + submodule_git_url: string; + size: number; + name: string; + path: string; + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + git_url: OneOf<[string, null]>; + /** Format: uri */ + html_url: OneOf<[string, null]>; + /** Format: uri */ + download_url: OneOf<[string, null]>; + _links: { + /** Format: uri */ + git: OneOf<[string, null]>; + /** Format: uri */ + html: OneOf<[string, null]>; + /** Format: uri */ + self: string; + }; + }; + /** + * File Commit + * @description File Commit + */ + "file-commit": { + content: OneOf<[{ + name?: string; + path?: string; + sha?: string; + size?: number; + url?: string; + html_url?: string; + git_url?: string; + download_url?: string; + type?: string; + _links?: { + self?: string; + git?: string; + html?: string; + }; + }, null]>; + commit: { + sha?: string; + node_id?: string; + url?: string; + html_url?: string; + author?: { + date?: string; name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - answer_html_url: OneOf<[string, null]>; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: string; - category: { - /** Format: date-time */ - created_at: string; - description: string; - emoji: string; - id: number; - is_answerable: boolean; - name: string; - node_id?: string; - repository_id: number; - slug: string; - updated_at: string; - }; - comments: number; - /** Format: date-time */ - created_at: string; - html_url: string; - id: number; - locked: boolean; - node_id: string; - number: number; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - /** @enum {string} */ - state: "open" | "locked" | "converting" | "transferring"; - timeline_url?: string; - title: string; - /** Format: date-time */ - updated_at: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - }) & ({ - active_lock_reason?: OneOf<[string, null]>; - /** Format: date-time */ - answer_chosen_at: string; - /** User */ - answer_chosen_by: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** Format: uri */ - answer_html_url: string; - author_association?: string; - body?: string; - category: { - created_at?: string; - description?: string; - emoji?: string; - id?: number; - /** @enum {boolean} */ - is_answerable: true; - name?: string; - node_id?: string; - repository_id?: number; - slug?: string; - updated_at?: string; - }; - comments?: number; - created_at?: string; - html_url?: string; - id?: number; - locked?: boolean; - node_id?: string; - number?: number; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - state?: string; - timeline_url?: string; - title?: string; - updated_at?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; + email?: string; + }; + committer?: { + date?: string; + name?: string; + email?: string; + }; + message?: string; + tree?: { url?: string; + sha?: string; }; - }); - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** discussion category changed event */ - "webhook-discussion-category-changed": { - /** @enum {string} */ - action: "category_changed"; - changes: { - category: { - from: { - /** Format: date-time */ - created_at: string; - description: string; - emoji: string; - id: number; - is_answerable: boolean; - name: string; - node_id?: string; - repository_id: number; - slug: string; - updated_at: string; - }; + parents?: ({ + url?: string; + html_url?: string; + sha?: string; + })[]; + verification?: { + verified?: boolean; + reason?: string; + signature?: OneOf<[string, null]>; + payload?: OneOf<[string, null]>; }; }; - /** Discussion */ - discussion: { - active_lock_reason: OneOf<[string, null]>; - answer_chosen_at: OneOf<[string, null]>; - /** User */ - answer_chosen_by: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - answer_html_url: OneOf<[string, null]>; + }; + /** + * Contributor + * @description Contributor + */ + contributor: { + login?: string; + id?: number; + node_id?: string; + /** Format: uri */ + avatar_url?: string; + gravatar_id?: OneOf<[string, null]>; + /** Format: uri */ + url?: string; + /** Format: uri */ + html_url?: string; + /** Format: uri */ + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + repos_url?: string; + events_url?: string; + /** Format: uri */ + received_events_url?: string; + type: string; + site_admin?: boolean; + contributions: number; + email?: string; + name?: string; + }; + /** @description A Dependabot alert. */ + "dependabot-alert": { + number: components["schemas"]["alert-number"]; + /** + * @description The state of the Dependabot alert. + * @enum {string} + */ + state: "dismissed" | "fixed" | "open"; + /** @description Details for the vulnerable dependency. */ + dependency: { + readonly package?: components["schemas"]["dependabot-alert-package"]; + /** @description The full path to the dependency manifest file, relative to the root of the repository. */ + readonly manifest_path?: string; /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} + * @description The execution scope of the vulnerable dependency. + * @enum {string|null} */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: string; - category: { - /** Format: date-time */ - created_at: string; - description: string; - emoji: string; - id: number; - is_answerable: boolean; - name: string; - node_id?: string; - repository_id: number; - slug: string; - updated_at: string; - }; - comments: number; - /** Format: date-time */ - created_at: string; - html_url: string; - id: number; - locked: boolean; - node_id: string; - number: number; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - /** @enum {string} */ - state: "open" | "locked" | "converting" | "transferring"; - timeline_url?: string; - title: string; - /** Format: date-time */ - updated_at: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; + readonly scope?: "development" | "runtime" | "" | null; }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + security_advisory: components["schemas"]["dependabot-alert-security-advisory"]; + security_vulnerability: components["schemas"]["dependabot-alert-security-vulnerability"]; + url: components["schemas"]["alert-url"]; + html_url: components["schemas"]["alert-html-url"]; + created_at: components["schemas"]["alert-created-at"]; + updated_at: components["schemas"]["alert-updated-at"]; + dismissed_at: components["schemas"]["alert-dismissed-at"]; + dismissed_by: null | components["schemas"]["simple-user"]; + /** + * @description The reason that the alert was dismissed. + * @enum {string|null} + */ + dismissed_reason: "fix_started" | "inaccurate" | "no_bandwidth" | "not_used" | "tolerable_risk" | "" | null; + /** @description An optional comment associated with the alert's dismissal. */ + dismissed_comment: OneOf<[string, null]>; + fixed_at: components["schemas"]["alert-fixed-at"]; }; - /** discussion_comment created event */ - "webhook-discussion-comment-created": { - /** @enum {string} */ - action: "created"; - comment: { + /** + * Dependabot Secret + * @description Set secrets for Dependabot. + */ + "dependabot-secret": { + /** @description The name of the secret. */ + name: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Dependency Graph Diff + * @description A diff of the dependencies between two commits. + */ + "dependency-graph-diff": ({ + /** @enum {string} */ + change_type: "added" | "removed"; + manifest: string; + ecosystem: string; + name: string; + version: string; + package_url: OneOf<[string, null]>; + license: OneOf<[string, null]>; + source_repository_url: OneOf<[string, null]>; + vulnerabilities: ({ + severity: string; + advisory_ghsa_id: string; + advisory_summary: string; + advisory_url: string; + })[]; /** - * AuthorAssociation - * @description How the author is associated with the repository. + * @description Where the dependency is utilized. `development` means that the dependency is only utilized in the development environment. `runtime` means that the dependency is utilized at runtime and in the development environment. * @enum {string} */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: string; - child_comment_count: number; - created_at: string; - discussion_id: number; - html_url: string; - id: number; - node_id: string; - parent_id: OneOf<[number, null]>; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - updated_at: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; + scope: "unknown" | "runtime" | "development"; + })[]; + /** + * metadata + * @description User-defined metadata to store domain-specific information limited to 8 keys with scalar values. + */ + metadata: { + [key: string]: OneOf<[null, string, number, boolean]> | undefined; + }; + dependency: { + /** @description Package-url (PURL) of dependency. See https://github.com/package-url/purl-spec for more details. */ + package_url?: string; + metadata?: components["schemas"]["metadata"]; + /** + * @description A notation of whether a dependency is requested directly by this manifest or is a dependency of another dependency. + * @enum {string} + */ + relationship?: "direct" | "indirect"; + /** + * @description A notation of whether the dependency is required for the primary build artifact (runtime) or is only used for development. Future versions of this specification may allow for more granular scopes. + * @enum {string} + */ + scope?: "runtime" | "development"; + /** @description Array of package-url (PURLs) of direct child dependencies. */ + dependencies?: (string)[]; + }; + manifest: { + /** @description The name of the manifest. */ + name: string; + file?: { + /** @description The path of the manifest file relative to the root of the Git repository. */ + source_location?: string; }; - /** Discussion */ - discussion: { - active_lock_reason: OneOf<[string, null]>; - answer_chosen_at: OneOf<[string, null]>; - /** User */ - answer_chosen_by: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; + metadata?: components["schemas"]["metadata"]; + /** @description A collection of resolved package dependencies. */ + resolved?: { + [key: string]: components["schemas"]["dependency"] | undefined; + }; + }; + /** + * snapshot + * @description Create a new snapshot of a repository's dependencies. + */ + snapshot: { + /** @description The version of the repository snapshot submission. */ + version: number; + job: { + /** @description The external ID of the job. */ + id: string; + /** @description Correlator provides a key that is used to group snapshots submitted over time. Only the "latest" submitted snapshot for a given combination of `job.correlator` and `detector.name` will be considered when calculating a repository's current dependencies. Correlator should be as unique as it takes to distinguish all detection runs for a given "wave" of CI workflow you run. If you're using GitHub Actions, a good default value for this could be the environment variables GITHUB_WORKFLOW and GITHUB_JOB concatenated together. If you're using a build matrix, then you'll also need to add additional key(s) to distinguish between each submission inside a matrix variation. */ + correlator: string; + /** @description The url for the job. */ + html_url?: string; + }; + /** @description The commit SHA associated with this dependency snapshot. */ + sha: string; + /** @description The repository branch that triggered this snapshot. */ + ref: string; + /** @description A description of the detector used. */ + detector: { + /** @description The name of the detector used. */ + name: string; + /** @description The version of the detector used. */ + version: string; + /** @description The url of the detector used. */ + url: string; + }; + metadata?: components["schemas"]["metadata"]; + /** @description A collection of package manifests, which are a collection of related dependencies declared in a file or representing a logical group of dependencies. */ + manifests?: { + [key: string]: components["schemas"]["manifest"] | undefined; + }; + /** + * Format: date-time + * @description The time at which the snapshot was scanned. + */ + scanned: string; + }; + /** + * Deployment Status + * @description The status of a deployment. + */ + "deployment-status": { + /** Format: uri */ + url: string; + id: number; + node_id: string; + /** + * @description The state of the status. + * @enum {string} + */ + state: "error" | "failure" | "inactive" | "pending" | "success" | "queued" | "in_progress"; + creator: null | components["schemas"]["simple-user"]; + /** + * @description A short description of the status. + * @default + */ + description: string; + /** + * @description The environment of the deployment that the status is for. + * @default + */ + environment?: string; + /** + * Format: uri + * @description Deprecated: the URL to associate with this status. + * @default + */ + target_url: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + deployment_url: string; + /** Format: uri */ + repository_url: string; + /** + * Format: uri + * @description The URL for accessing your environment. + * @default + */ + environment_url?: string; + /** + * Format: uri + * @description The URL to associate with this status. + * @default + */ + log_url?: string; + performed_via_github_app?: null | components["schemas"]["integration"]; + }; + /** @description The amount of time to delay a job after the job is initially triggered. The time (in minutes) must be an integer between 0 and 43,200 (30 days). */ + "wait-timer": number; + /** @description The type of deployment branch policy for this environment. To allow all branches to deploy, set to `null`. */ + "deployment-branch-policy-settings": OneOf<[{ + /** @description Whether only branches with branch protection rules can deploy to this environment. If `protected_branches` is `true`, `custom_branch_policies` must be `false`; if `protected_branches` is `false`, `custom_branch_policies` must be `true`. */ + protected_branches: boolean; + /** @description Whether only branches that match the specified name patterns can deploy to this environment. If `custom_branch_policies` is `true`, `protected_branches` must be `false`; if `custom_branch_policies` is `false`, `protected_branches` must be `true`. */ + custom_branch_policies: boolean; + }, null]>; + /** + * Environment + * @description Details of a deployment environment + */ + environment: { + /** @description The id of the environment. */ + id: number; + node_id: string; + /** @description The name of the environment. */ + name: string; + url: string; + html_url: string; + /** + * Format: date-time + * @description The time that the environment was created, in ISO 8601 format. + */ + created_at: string; + /** + * Format: date-time + * @description The time that the environment was last updated, in ISO 8601 format. + */ + updated_at: string; + protection_rules?: ({ id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - answer_html_url: OneOf<[string, null]>; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: OneOf<[string, null]>; - category: { - /** Format: date-time */ - created_at: string; - description: string; - emoji: string; + node_id: string; + type: string; + wait_timer?: components["schemas"]["wait-timer"]; + } | ({ id: number; - is_answerable: boolean; - name: string; - node_id?: string; - repository_id: number; - slug: string; - updated_at: string; - }; - comments: number; - /** Format: date-time */ - created_at: string; - html_url: string; - id: number; - locked: boolean; - node_id: string; - number: number; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - /** @enum {string} */ - state: "open" | "locked" | "converting" | "transferring"; - timeline_url?: string; - title: string; - /** Format: date-time */ - updated_at: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; + node_id: string; + type: string; + /** @description The people or teams that may approve jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. */ + reviewers?: ({ + type?: components["schemas"]["deployment-reviewer-type"]; + reviewer?: components["schemas"]["simple-user"] | components["schemas"]["team"]; + })[]; + }) | { id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + node_id: string; + type: string; + })[]; + deployment_branch_policy?: components["schemas"]["deployment-branch-policy-settings"]; }; - /** discussion_comment deleted event */ - "webhook-discussion-comment-deleted": { - /** @enum {string} */ - action: "deleted"; - comment: { + /** + * Deployment branch policy + * @description Details of a deployment branch policy. + */ + "deployment-branch-policy": { + /** @description The unique identifier of the branch policy. */ + id?: number; + node_id?: string; + /** @description The name pattern that branches must match in order to deploy to the environment. */ + name?: string; + }; + /** Deployment branch policy name pattern */ + "deployment-branch-policy-name-pattern": { + /** + * @description The name pattern that branches must match in order to deploy to the environment. + * + * Wildcard characters will not match `/`. For example, to match branches that begin with `release/` and contain an additional single slash, use `release/*\/*`. + * For more information about pattern matching syntax, see the [Ruby File.fnmatch documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch). + */ + name: string; + }; + /** + * Short Blob + * @description Short Blob + */ + "short-blob": { + url: string; + sha: string; + }; + /** + * Blob + * @description Blob + */ + blob: { + content: string; + encoding: string; + /** Format: uri */ + url: string; + sha: string; + size: OneOf<[number, null]>; + node_id: string; + highlighted_content?: string; + }; + /** + * Git Commit + * @description Low-level Git commit operations within a repository + */ + "git-commit": { + /** @description SHA for the commit */ + sha: string; + node_id: string; + /** Format: uri */ + url: string; + /** @description Identifying information for the git-user */ + author: { /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} + * Format: date-time + * @description Timestamp of the commit */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: string; - child_comment_count: number; - created_at: string; - discussion_id: number; - html_url: string; - id: number; - node_id: string; - parent_id: OneOf<[number, null]>; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; + date: string; + /** @description Git email address of the user */ + email: string; + /** @description Name of the git user */ + name: string; + }; + /** @description Identifying information for the git-user */ + committer: { + /** + * Format: date-time + * @description Timestamp of the commit + */ + date: string; + /** @description Git email address of the user */ + email: string; + /** @description Name of the git user */ + name: string; + }; + /** @description Message describing the purpose of the commit */ + message: string; + tree: { + /** @description SHA for the commit */ + sha: string; + /** Format: uri */ + url: string; + }; + parents: ({ + /** @description SHA for the commit */ + sha: string; /** Format: uri */ url: string; - }; - repository_url: string; - updated_at: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; + html_url: string; + })[]; + verification: { + verified: boolean; + reason: string; + signature: OneOf<[string, null]>; + payload: OneOf<[string, null]>; }; - /** Discussion */ - discussion: { - active_lock_reason: OneOf<[string, null]>; - answer_chosen_at: OneOf<[string, null]>; - /** User */ - answer_chosen_by: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - answer_html_url: OneOf<[string, null]>; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: string; - category: { - /** Format: date-time */ - created_at: string; - description: string; - emoji: string; - id: number; - is_answerable: boolean; - name: string; - node_id?: string; - repository_id: number; - slug: string; - updated_at: string; - }; - comments: number; - /** Format: date-time */ - created_at: string; - html_url: string; - id: number; - locked: boolean; - node_id: string; - number: number; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - /** @enum {string} */ - state: "open" | "locked" | "converting" | "transferring"; - timeline_url?: string; - title: string; - /** Format: date-time */ - updated_at: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; + /** Format: uri */ + html_url: string; + }; + /** + * Git Reference + * @description Git references within a repository + */ + "git-ref": { + ref: string; + node_id: string; + /** Format: uri */ + url: string; + object: { + type: string; + /** @description SHA for the reference */ + sha: string; + /** Format: uri */ + url: string; }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; }; - /** discussion_comment edited event */ - "webhook-discussion-comment-edited": { - /** @enum {string} */ - action: "edited"; - changes: { - body: { - from: string; - }; + /** + * Git Tag + * @description Metadata for a Git tag + */ + "git-tag": { + node_id: string; + /** @description Name of the tag */ + tag: string; + sha: string; + /** + * Format: uri + * @description URL for the tag + */ + url: string; + /** @description Message describing the purpose of the tag */ + message: string; + tagger: { + date: string; + email: string; + name: string; }; - comment: { - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: string; - child_comment_count: number; - created_at: string; - discussion_id: number; - html_url: string; - id: number; - node_id: string; - parent_id: OneOf<[number, null]>; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - updated_at: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; + object: { + sha: string; + type: string; + /** Format: uri */ + url: string; }; - /** Discussion */ - discussion: { - active_lock_reason: OneOf<[string, null]>; - answer_chosen_at: OneOf<[string, null]>; - /** User */ - answer_chosen_by: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - answer_html_url: OneOf<[string, null]>; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: OneOf<[string, null]>; - category: { - /** Format: date-time */ - created_at: string; - description: string; - emoji: string; - id: number; - is_answerable: boolean; - name: string; - node_id?: string; - repository_id: number; - slug: string; - updated_at: string; - }; - comments: number; - /** Format: date-time */ - created_at: string; - html_url: string; - id: number; - locked: boolean; - node_id: string; - number: number; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - /** @enum {string} */ - state: "open" | "locked" | "converting" | "transferring"; - timeline_url?: string; - title: string; - /** Format: date-time */ - updated_at: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ + verification?: components["schemas"]["verification"]; + }; + /** + * Git Tree + * @description The hierarchy between files in a Git repository. + */ + "git-tree": { + sha: string; + /** Format: uri */ + url: string; + truncated: boolean; + /** @description Objects specifying a tree structure */ + tree: ({ + path?: string; + mode?: string; + type?: string; + sha?: string; + size?: number; url?: string; - }, null]>; + })[]; + }; + /** Hook Response */ + "hook-response": { + code: OneOf<[number, null]>; + status: OneOf<[string, null]>; + message: OneOf<[string, null]>; + }; + /** + * Webhook + * @description Webhooks for repositories. + */ + hook: { + type: string; + /** @description Unique identifier of the webhook. */ + id: number; + /** @description The name of a valid service, use 'web' for a webhook. */ + name: string; + /** @description Determines whether the hook is actually triggered on pushes. */ + active: boolean; + /** @description Determines what events the hook is triggered for. Default: ['push']. */ + events: (string)[]; + config: { + email?: string; + password?: string; + room?: string; + subdomain?: string; + url?: components["schemas"]["webhook-config-url"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + digest?: string; + secret?: components["schemas"]["webhook-config-secret"]; + token?: string; }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + url: string; + /** Format: uri */ + test_url: string; + /** Format: uri */ + ping_url: string; + /** Format: uri */ + deliveries_url?: string; + last_response: components["schemas"]["hook-response"]; }; - /** discussion created event */ - "webhook-discussion-created": { + /** + * Import + * @description A repository import from an external source. + */ + import: { + vcs: OneOf<[string, null]>; + use_lfs?: boolean; + /** @description The URL of the originating repository. */ + vcs_url: string; + svc_root?: string; + tfvc_project?: string; /** @enum {string} */ - action: "created"; - discussion: ({ - active_lock_reason: OneOf<[string, null]>; - answer_chosen_at: OneOf<[string, null]>; - /** User */ - answer_chosen_by: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - answer_html_url: OneOf<[string, null]>; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: OneOf<[string, null]>; - category: { - /** Format: date-time */ - created_at: string; - description: string; - emoji: string; - id: number; - is_answerable: boolean; - name: string; - node_id?: string; - repository_id: number; - slug: string; - updated_at: string; - }; - comments: number; - /** Format: date-time */ - created_at: string; - html_url: string; - id: number; - locked: boolean; - node_id: string; - number: number; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - /** @enum {string} */ - state: "open" | "locked" | "converting" | "transferring"; - timeline_url?: string; + status: "auth" | "error" | "none" | "detecting" | "choose" | "auth_failed" | "importing" | "mapping" | "waiting_to_push" | "pushing" | "complete" | "setup" | "unknown" | "detection_found_multiple" | "detection_found_nothing" | "detection_needs_auth"; + status_text?: OneOf<[string, null]>; + failed_step?: OneOf<[string, null]>; + error_message?: OneOf<[string, null]>; + import_percent?: OneOf<[number, null]>; + commit_count?: OneOf<[number, null]>; + push_percent?: OneOf<[number, null]>; + has_large_files?: boolean; + large_files_size?: number; + large_files_count?: number; + project_choices?: ({ + vcs?: string; + tfvc_project?: string; + human_name?: string; + })[]; + message?: string; + authors_count?: OneOf<[number, null]>; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + authors_url: string; + /** Format: uri */ + repository_url: string; + svn_root?: string; + }; + /** + * Porter Author + * @description Porter Author + */ + "porter-author": { + id: number; + remote_id: string; + remote_name: string; + email: string; + name: string; + /** Format: uri */ + url: string; + /** Format: uri */ + import_url: string; + }; + /** + * Porter Large File + * @description Porter Large File + */ + "porter-large-file": { + ref_name: string; + path: string; + oid: string; + size: number; + }; + /** + * Issue Event Label + * @description Issue Event Label + */ + "issue-event-label": { + name: OneOf<[string, null]>; + color: OneOf<[string, null]>; + }; + /** Issue Event Dismissed Review */ + "issue-event-dismissed-review": { + state: string; + review_id: number; + dismissal_message: OneOf<[string, null]>; + dismissal_commit_id?: OneOf<[string, null]>; + }; + /** + * Issue Event Milestone + * @description Issue Event Milestone + */ + "issue-event-milestone": { + title: string; + }; + /** + * Issue Event Project Card + * @description Issue Event Project Card + */ + "issue-event-project-card": { + /** Format: uri */ + url: string; + id: number; + /** Format: uri */ + project_url: string; + project_id: number; + column_name: string; + previous_column_name?: string; + }; + /** + * Issue Event Rename + * @description Issue Event Rename + */ + "issue-event-rename": { + from: string; + to: string; + }; + /** + * Issue Event + * @description Issue Event + */ + "issue-event": { + id: number; + node_id: string; + /** Format: uri */ + url: string; + actor: null | components["schemas"]["simple-user"]; + event: string; + commit_id: OneOf<[string, null]>; + commit_url: OneOf<[string, null]>; + /** Format: date-time */ + created_at: string; + issue?: null | components["schemas"]["issue"]; + label?: components["schemas"]["issue-event-label"]; + assignee?: null | components["schemas"]["simple-user"]; + assigner?: null | components["schemas"]["simple-user"]; + review_requester?: null | components["schemas"]["simple-user"]; + requested_reviewer?: null | components["schemas"]["simple-user"]; + requested_team?: components["schemas"]["team"]; + dismissed_review?: components["schemas"]["issue-event-dismissed-review"]; + milestone?: components["schemas"]["issue-event-milestone"]; + project_card?: components["schemas"]["issue-event-project-card"]; + rename?: components["schemas"]["issue-event-rename"]; + author_association?: components["schemas"]["author-association"]; + lock_reason?: OneOf<[string, null]>; + performed_via_github_app?: null | components["schemas"]["integration"]; + }; + /** + * Labeled Issue Event + * @description Labeled Issue Event + */ + "labeled-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: OneOf<[string, null]>; + commit_url: OneOf<[string, null]>; + created_at: string; + performed_via_github_app: null | components["schemas"]["integration"]; + label: { + name: string; + color: string; + }; + }; + /** + * Unlabeled Issue Event + * @description Unlabeled Issue Event + */ + "unlabeled-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: OneOf<[string, null]>; + commit_url: OneOf<[string, null]>; + created_at: string; + performed_via_github_app: null | components["schemas"]["integration"]; + label: { + name: string; + color: string; + }; + }; + /** + * Assigned Issue Event + * @description Assigned Issue Event + */ + "assigned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: OneOf<[string, null]>; + commit_url: OneOf<[string, null]>; + created_at: string; + performed_via_github_app: components["schemas"]["integration"]; + assignee: components["schemas"]["simple-user"]; + assigner: components["schemas"]["simple-user"]; + }; + /** + * Unassigned Issue Event + * @description Unassigned Issue Event + */ + "unassigned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: OneOf<[string, null]>; + commit_url: OneOf<[string, null]>; + created_at: string; + performed_via_github_app: null | components["schemas"]["integration"]; + assignee: components["schemas"]["simple-user"]; + assigner: components["schemas"]["simple-user"]; + }; + /** + * Milestoned Issue Event + * @description Milestoned Issue Event + */ + "milestoned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: OneOf<[string, null]>; + commit_url: OneOf<[string, null]>; + created_at: string; + performed_via_github_app: null | components["schemas"]["integration"]; + milestone: { title: string; - /** Format: date-time */ - updated_at: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - }) & ({ - active_lock_reason?: null; - answer_chosen_at: null; - answer_chosen_by: null; - answer_html_url: OneOf<[string, null]>; - author_association?: string; - body?: OneOf<[string, null]>; - category?: { - created_at?: string; - description?: string; - emoji?: string; - id?: number; - is_answerable?: boolean; - name?: string; - node_id?: string; - repository_id?: number; - slug?: string; - updated_at?: string; - }; - comments?: number; - created_at?: string; - html_url?: string; - id?: number; - /** @enum {boolean} */ - locked: false; - node_id?: string; - number?: number; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - /** @enum {string} */ - state: "open" | "converting" | "transferring"; - timeline_url?: string; - title?: string; - updated_at?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }); - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + }; }; - /** discussion deleted event */ - "webhook-discussion-deleted": { - /** @enum {string} */ - action: "deleted"; - /** Discussion */ - discussion: { - active_lock_reason: OneOf<[string, null]>; - answer_chosen_at: OneOf<[string, null]>; - /** User */ - answer_chosen_by: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - answer_html_url: OneOf<[string, null]>; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: string; - category: { - /** Format: date-time */ - created_at: string; - description: string; - emoji: string; - id: number; - is_answerable: boolean; - name: string; - node_id?: string; - repository_id: number; - slug: string; - updated_at: string; - }; - comments: number; - /** Format: date-time */ - created_at: string; - html_url: string; - id: number; - locked: boolean; - node_id: string; - number: number; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - /** @enum {string} */ - state: "open" | "locked" | "converting" | "transferring"; - timeline_url?: string; + /** + * Demilestoned Issue Event + * @description Demilestoned Issue Event + */ + "demilestoned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: OneOf<[string, null]>; + commit_url: OneOf<[string, null]>; + created_at: string; + performed_via_github_app: null | components["schemas"]["integration"]; + milestone: { title: string; - /** Format: date-time */ - updated_at: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; }; - /** discussion edited event */ - "webhook-discussion-edited": { - /** @enum {string} */ - action: "edited"; - changes?: { - body?: { - from: string; - }; - title?: { - from: string; - }; + /** + * Renamed Issue Event + * @description Renamed Issue Event + */ + "renamed-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: OneOf<[string, null]>; + commit_url: OneOf<[string, null]>; + created_at: string; + performed_via_github_app: null | components["schemas"]["integration"]; + rename: { + from: string; + to: string; }; - /** Discussion */ - discussion: { - active_lock_reason: OneOf<[string, null]>; - answer_chosen_at: OneOf<[string, null]>; - /** User */ - answer_chosen_by: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - answer_html_url: OneOf<[string, null]>; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: string; - category: { - /** Format: date-time */ - created_at: string; - description: string; - emoji: string; - id: number; - is_answerable: boolean; - name: string; - node_id?: string; - repository_id: number; - slug: string; - updated_at: string; - }; - comments: number; - /** Format: date-time */ - created_at: string; - html_url: string; + }; + /** + * Review Requested Issue Event + * @description Review Requested Issue Event + */ + "review-requested-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: OneOf<[string, null]>; + commit_url: OneOf<[string, null]>; + created_at: string; + performed_via_github_app: null | components["schemas"]["integration"]; + review_requester: components["schemas"]["simple-user"]; + requested_team?: components["schemas"]["team"]; + requested_reviewer?: components["schemas"]["simple-user"]; + }; + /** + * Review Request Removed Issue Event + * @description Review Request Removed Issue Event + */ + "review-request-removed-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: OneOf<[string, null]>; + commit_url: OneOf<[string, null]>; + created_at: string; + performed_via_github_app: null | components["schemas"]["integration"]; + review_requester: components["schemas"]["simple-user"]; + requested_team?: components["schemas"]["team"]; + requested_reviewer?: components["schemas"]["simple-user"]; + }; + /** + * Review Dismissed Issue Event + * @description Review Dismissed Issue Event + */ + "review-dismissed-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: OneOf<[string, null]>; + commit_url: OneOf<[string, null]>; + created_at: string; + performed_via_github_app: null | components["schemas"]["integration"]; + dismissed_review: { + state: string; + review_id: number; + dismissal_message: OneOf<[string, null]>; + dismissal_commit_id?: string; + }; + }; + /** + * Locked Issue Event + * @description Locked Issue Event + */ + "locked-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: OneOf<[string, null]>; + commit_url: OneOf<[string, null]>; + created_at: string; + performed_via_github_app: null | components["schemas"]["integration"]; + lock_reason: OneOf<[string, null]>; + }; + /** + * Added to Project Issue Event + * @description Added to Project Issue Event + */ + "added-to-project-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: OneOf<[string, null]>; + commit_url: OneOf<[string, null]>; + created_at: string; + performed_via_github_app: null | components["schemas"]["integration"]; + project_card?: { id: number; - locked: boolean; - node_id: string; - number: number; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - /** @enum {string} */ - state: "open" | "locked" | "converting" | "transferring"; - timeline_url?: string; - title: string; - /** Format: date-time */ - updated_at: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; + /** Format: uri */ + url: string; + project_id: number; + /** Format: uri */ + project_url: string; + column_name: string; + previous_column_name?: string; }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; }; - /** discussion labeled event */ - "webhook-discussion-labeled": { - /** @enum {string} */ - action: "labeled"; - /** Discussion */ - discussion: { - active_lock_reason: OneOf<[string, null]>; - answer_chosen_at: OneOf<[string, null]>; - /** User */ - answer_chosen_by: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - answer_html_url: OneOf<[string, null]>; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: OneOf<[string, null]>; - category: { - /** Format: date-time */ - created_at: string; - description: string; - emoji: string; - id: number; - is_answerable: boolean; - name: string; - node_id?: string; - repository_id: number; - slug: string; - updated_at: string; - }; - comments: number; - /** Format: date-time */ - created_at: string; - html_url: string; + /** + * Moved Column in Project Issue Event + * @description Moved Column in Project Issue Event + */ + "moved-column-in-project-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: OneOf<[string, null]>; + commit_url: OneOf<[string, null]>; + created_at: string; + performed_via_github_app: null | components["schemas"]["integration"]; + project_card?: { id: number; - locked: boolean; - node_id: string; - number: number; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - /** @enum {string} */ - state: "open" | "locked" | "converting" | "transferring"; - timeline_url?: string; - title: string; - /** Format: date-time */ - updated_at: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; + /** Format: uri */ + url: string; + project_id: number; + /** Format: uri */ + project_url: string; + column_name: string; + previous_column_name?: string; }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - /** Label */ - label: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; + }; + /** + * Removed from Project Issue Event + * @description Removed from Project Issue Event + */ + "removed-from-project-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: OneOf<[string, null]>; + commit_url: OneOf<[string, null]>; + created_at: string; + performed_via_github_app: null | components["schemas"]["integration"]; + project_card?: { id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ + /** Format: uri */ url: string; + project_id: number; + /** Format: uri */ + project_url: string; + column_name: string; + previous_column_name?: string; }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; }; - /** discussion locked event */ - "webhook-discussion-locked": { - /** @enum {string} */ - action: "locked"; - discussion: ({ - active_lock_reason: OneOf<[string, null]>; - answer_chosen_at: OneOf<[string, null]>; - /** User */ - answer_chosen_by: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - answer_html_url: OneOf<[string, null]>; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: string; - category: { - /** Format: date-time */ - created_at: string; - description: string; - emoji: string; - id: number; - is_answerable: boolean; - name: string; - node_id?: string; - repository_id: number; - slug: string; - updated_at: string; - }; - comments: number; - /** Format: date-time */ - created_at: string; - html_url: string; + /** + * Converted Note to Issue Issue Event + * @description Converted Note to Issue Issue Event + */ + "converted-note-to-issue-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: OneOf<[string, null]>; + commit_url: OneOf<[string, null]>; + created_at: string; + performed_via_github_app: components["schemas"]["integration"]; + project_card?: { id: number; - locked: boolean; - node_id: string; - number: number; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; + /** Format: uri */ + url: string; + project_id: number; + /** Format: uri */ + project_url: string; + column_name: string; + previous_column_name?: string; + }; + }; + /** + * Issue Event for Issue + * @description Issue Event for Issue + */ + "issue-event-for-issue": components["schemas"]["labeled-issue-event"] | components["schemas"]["unlabeled-issue-event"] | components["schemas"]["assigned-issue-event"] | components["schemas"]["unassigned-issue-event"] | components["schemas"]["milestoned-issue-event"] | components["schemas"]["demilestoned-issue-event"] | components["schemas"]["renamed-issue-event"] | components["schemas"]["review-requested-issue-event"] | components["schemas"]["review-request-removed-issue-event"] | components["schemas"]["review-dismissed-issue-event"] | components["schemas"]["locked-issue-event"] | components["schemas"]["added-to-project-issue-event"] | components["schemas"]["moved-column-in-project-issue-event"] | components["schemas"]["removed-from-project-issue-event"] | components["schemas"]["converted-note-to-issue-issue-event"]; + /** + * Label + * @description Color-coded labels help you categorize and filter your issues (just like labels in Gmail). + */ + label: { + /** Format: int64 */ + id: number; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + /** @description The name of the label. */ + name: string; + description: OneOf<[string, null]>; + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + }; + /** + * Timeline Comment Event + * @description Timeline Comment Event + */ + "timeline-comment-event": { + event: string; + actor: components["schemas"]["simple-user"]; + /** @description Unique identifier of the issue comment */ + id: number; + node_id: string; + /** + * Format: uri + * @description URL for the issue comment + */ + url: string; + /** @description Contents of the issue comment */ + body?: string; + body_text?: string; + body_html?: string; + /** Format: uri */ + html_url: string; + user: components["schemas"]["simple-user"]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + issue_url: string; + author_association: components["schemas"]["author-association"]; + performed_via_github_app?: null | components["schemas"]["integration"]; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Timeline Cross Referenced Event + * @description Timeline Cross Referenced Event + */ + "timeline-cross-referenced-event": { + event: string; + actor?: components["schemas"]["simple-user"]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + source: { + type?: string; + issue?: components["schemas"]["issue"]; + }; + }; + /** + * Timeline Committed Event + * @description Timeline Committed Event + */ + "timeline-committed-event": { + event?: string; + /** @description SHA for the commit */ + sha: string; + node_id: string; + /** Format: uri */ + url: string; + /** @description Identifying information for the git-user */ + author: { + /** + * Format: date-time + * @description Timestamp of the commit + */ + date: string; + /** @description Git email address of the user */ + email: string; + /** @description Name of the git user */ + name: string; + }; + /** @description Identifying information for the git-user */ + committer: { + /** + * Format: date-time + * @description Timestamp of the commit + */ + date: string; + /** @description Git email address of the user */ + email: string; + /** @description Name of the git user */ + name: string; + }; + /** @description Message describing the purpose of the commit */ + message: string; + tree: { + /** @description SHA for the commit */ + sha: string; + /** Format: uri */ + url: string; + }; + parents: ({ + /** @description SHA for the commit */ + sha: string; /** Format: uri */ url: string; - }; - repository_url: string; - /** @enum {string} */ - state: "open" | "locked" | "converting" | "transferring"; - timeline_url?: string; - title: string; - /** Format: date-time */ - updated_at: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; /** Format: uri */ - url?: string; - }, null]>; - }) & { - active_lock_reason?: string; - answer_chosen_at?: OneOf<[string, null]>; - answer_chosen_by?: OneOf<[Record, null]>; - answer_html_url?: OneOf<[string, null]>; - author_association?: string; - body?: string; - category?: { - created_at?: string; - description?: string; - emoji?: string; - id?: number; - is_answerable?: boolean; - name?: string; - node_id?: string; - repository_id?: number; - slug?: string; - updated_at?: string; - }; - comments?: number; - created_at?: string; - html_url?: string; - id?: number; - /** @enum {boolean} */ - locked: true; - node_id?: string; - number?: number; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; + html_url: string; + })[]; + verification: { + verified: boolean; + reason: string; + signature: OneOf<[string, null]>; + payload: OneOf<[string, null]>; + }; + /** Format: uri */ + html_url: string; + }; + /** + * Timeline Reviewed Event + * @description Timeline Reviewed Event + */ + "timeline-reviewed-event": { + event: string; + /** @description Unique identifier of the review */ + id: number; + node_id: string; + user: components["schemas"]["simple-user"]; + /** @description The text of the review. */ + body: OneOf<[string, null]>; + state: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + pull_request_url: string; + _links: { + html: { + href: string; }; - repository_url?: string; - /** @enum {string} */ - state: "locked"; - timeline_url?: string; - title?: string; - updated_at?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; + pull_request: { + href: string; }; }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + /** Format: date-time */ + submitted_at?: string; + /** @description A commit SHA for the review. */ + commit_id: string; + body_html?: string; + body_text?: string; + author_association: components["schemas"]["author-association"]; }; - /** discussion pinned event */ - "webhook-discussion-pinned": { - /** @enum {string} */ - action: "pinned"; - /** Discussion */ - discussion: { - active_lock_reason: OneOf<[string, null]>; - answer_chosen_at: OneOf<[string, null]>; - /** User */ - answer_chosen_by: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + /** + * Pull Request Review Comment + * @description Pull Request Review Comments are comments on a portion of the Pull Request's diff. + */ + "pull-request-review-comment": { + /** @description URL for the pull request review comment */ + url: string; + /** @description The ID of the pull request review to which the comment belongs. */ + pull_request_review_id: OneOf<[number, null]>; + /** @description The ID of the pull request review comment. */ + id: number; + /** @description The node ID of the pull request review comment. */ + node_id: string; + /** @description The diff of the line that the comment refers to. */ + diff_hunk: string; + /** @description The relative path of the file to which the comment applies. */ + path: string; + /** @description The line index in the diff to which the comment applies. This field is deprecated; use `line` instead. */ + position: number; + /** @description The index of the original line in the diff to which the comment applies. This field is deprecated; use `original_line` instead. */ + original_position: number; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + /** @description The SHA of the original commit to which the comment applies. */ + original_commit_id: string; + /** @description The comment ID to reply to. */ + in_reply_to_id?: number; + user: components["schemas"]["simple-user"]; + /** @description The text of the comment. */ + body: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description HTML URL for the pull request review comment. + */ + html_url: string; + /** + * Format: uri + * @description URL for the pull request that the review comment belongs to. + */ + pull_request_url: string; + author_association: components["schemas"]["author-association"]; + _links: { + self: { /** Format: uri */ - url?: string; - }, null]>; - answer_html_url: OneOf<[string, null]>; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: string; - category: { - /** Format: date-time */ - created_at: string; - description: string; - emoji: string; - id: number; - is_answerable: boolean; - name: string; - node_id?: string; - repository_id: number; - slug: string; - updated_at: string; + href: string; }; - comments: number; - /** Format: date-time */ - created_at: string; - html_url: string; - id: number; - locked: boolean; - node_id: string; - number: number; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; + html: { /** Format: uri */ - url: string; + href: string; }; - repository_url: string; - /** @enum {string} */ - state: "open" | "locked" | "converting" | "transferring"; - timeline_url?: string; - title: string; - /** Format: date-time */ - updated_at: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + pull_request: { /** Format: uri */ - url?: string; - }, null]>; + href: string; + }; }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + /** @description The first line of the range for a multi-line comment. */ + start_line?: OneOf<[number, null]>; + /** @description The first line of the range for a multi-line comment. */ + original_start_line?: OneOf<[number, null]>; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string|null} + */ + start_side?: "LEFT" | "RIGHT" | "" | null; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line?: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + original_line?: number; + /** + * @description The side of the diff to which the comment applies. The side of the last line of the range for a multi-line comment + * @default RIGHT + * @enum {string} + */ + side?: "LEFT" | "RIGHT"; + reactions?: components["schemas"]["reaction-rollup"]; + body_html?: string; + body_text?: string; }; - /** discussion transferred event */ - "webhook-discussion-transferred": { - /** @enum {string} */ - action: "transferred"; - changes: { - /** Discussion */ - new_discussion: { - active_lock_reason: OneOf<[string, null]>; - answer_chosen_at: OneOf<[string, null]>; - /** User */ - answer_chosen_by: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + /** + * Timeline Line Commented Event + * @description Timeline Line Commented Event + */ + "timeline-line-commented-event": { + event?: string; + node_id?: string; + comments?: (components["schemas"]["pull-request-review-comment"])[]; + }; + /** + * Timeline Commit Commented Event + * @description Timeline Commit Commented Event + */ + "timeline-commit-commented-event": { + event?: string; + node_id?: string; + commit_id?: string; + comments?: (components["schemas"]["commit-comment"])[]; + }; + /** + * Timeline Assigned Issue Event + * @description Timeline Assigned Issue Event + */ + "timeline-assigned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: OneOf<[string, null]>; + commit_url: OneOf<[string, null]>; + created_at: string; + performed_via_github_app: null | components["schemas"]["integration"]; + assignee: components["schemas"]["simple-user"]; + }; + /** + * Timeline Unassigned Issue Event + * @description Timeline Unassigned Issue Event + */ + "timeline-unassigned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: OneOf<[string, null]>; + commit_url: OneOf<[string, null]>; + created_at: string; + performed_via_github_app: null | components["schemas"]["integration"]; + assignee: components["schemas"]["simple-user"]; + }; + /** + * State Change Issue Event + * @description State Change Issue Event + */ + "state-change-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: OneOf<[string, null]>; + commit_url: OneOf<[string, null]>; + created_at: string; + performed_via_github_app: null | components["schemas"]["integration"]; + state_reason?: OneOf<[string, null]>; + }; + /** + * Timeline Event + * @description Timeline Event + */ + "timeline-issue-events": components["schemas"]["labeled-issue-event"] | components["schemas"]["unlabeled-issue-event"] | components["schemas"]["milestoned-issue-event"] | components["schemas"]["demilestoned-issue-event"] | components["schemas"]["renamed-issue-event"] | components["schemas"]["review-requested-issue-event"] | components["schemas"]["review-request-removed-issue-event"] | components["schemas"]["review-dismissed-issue-event"] | components["schemas"]["locked-issue-event"] | components["schemas"]["added-to-project-issue-event"] | components["schemas"]["moved-column-in-project-issue-event"] | components["schemas"]["removed-from-project-issue-event"] | components["schemas"]["converted-note-to-issue-issue-event"] | components["schemas"]["timeline-comment-event"] | components["schemas"]["timeline-cross-referenced-event"] | components["schemas"]["timeline-committed-event"] | components["schemas"]["timeline-reviewed-event"] | components["schemas"]["timeline-line-commented-event"] | components["schemas"]["timeline-commit-commented-event"] | components["schemas"]["timeline-assigned-issue-event"] | components["schemas"]["timeline-unassigned-issue-event"] | components["schemas"]["state-change-issue-event"]; + /** + * Deploy Key + * @description An SSH key granting access to a single repository. + */ + "deploy-key": { + id: number; + key: string; + url: string; + title: string; + verified: boolean; + created_at: string; + read_only: boolean; + added_by?: OneOf<[string, null]>; + last_used?: OneOf<[string, null]>; + }; + /** + * Language + * @description Language + */ + language: { + [key: string]: number | undefined; + }; + /** + * License Content + * @description License Content + */ + "license-content": { + name: string; + path: string; + sha: string; + size: number; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: OneOf<[string, null]>; + /** Format: uri */ + git_url: OneOf<[string, null]>; + /** Format: uri */ + download_url: OneOf<[string, null]>; + type: string; + content: string; + encoding: string; + _links: { + /** Format: uri */ + git: OneOf<[string, null]>; + /** Format: uri */ + html: OneOf<[string, null]>; + /** Format: uri */ + self: string; + }; + license: null | components["schemas"]["license-simple"]; + }; + /** + * Merged upstream + * @description Results of a successful merge upstream request + */ + "merged-upstream": { + message?: string; + /** @enum {string} */ + merge_type?: "merge" | "fast-forward" | "none"; + base_branch?: string; + }; + /** Pages Source Hash */ + "pages-source-hash": { + branch: string; + path: string; + }; + /** Pages Https Certificate */ + "pages-https-certificate": { + /** @enum {string} */ + state: "new" | "authorization_created" | "authorization_pending" | "authorized" | "authorization_revoked" | "issued" | "uploaded" | "approved" | "errored" | "bad_authz" | "destroy_pending" | "dns_changed"; + description: string; + /** @description Array of the domain set and its alternate name (if it is configured) */ + domains: (string)[]; + /** Format: date */ + expires_at?: string; + }; + /** + * GitHub Pages + * @description The configuration for GitHub Pages for a repository. + */ + page: { + /** + * Format: uri + * @description The API address for accessing this Page resource. + */ + url: string; + /** + * @description The status of the most recent build of the Page. + * @enum {string|null} + */ + status: "built" | "building" | "errored" | "" | null; + /** @description The Pages site's custom domain */ + cname: OneOf<[string, null]>; + /** + * @description The state if the domain is verified + * @enum {string|null} + */ + protected_domain_state?: "pending" | "verified" | "unverified" | "" | null; + /** + * Format: date-time + * @description The timestamp when a pending domain becomes unverified. + */ + pending_domain_unverified_at?: OneOf<[string, null]>; + /** + * @description Whether the Page has a custom 404 page. + * @default false + */ + custom_404: boolean; + /** + * Format: uri + * @description The web address the Page can be accessed from. + */ + html_url?: string; + /** + * @description The process in which the Page will be built. + * @enum {string|null} + */ + build_type?: "legacy" | "workflow" | "" | null; + source?: components["schemas"]["pages-source-hash"]; + /** @description Whether the GitHub Pages site is publicly visible. If set to `true`, the site is accessible to anyone on the internet. If set to `false`, the site will only be accessible to users who have at least `read` access to the repository that published the site. */ + public: boolean; + https_certificate?: components["schemas"]["pages-https-certificate"]; + /** @description Whether https is enabled on the domain */ + https_enforced?: boolean; + }; + /** + * Page Build + * @description Page Build + */ + "page-build": { + /** Format: uri */ + url: string; + status: string; + error: { + message: OneOf<[string, null]>; + }; + pusher: null | components["schemas"]["simple-user"]; + commit: string; + duration: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Page Build Status + * @description Page Build Status + */ + "page-build-status": { + /** Format: uri */ + url: string; + status: string; + }; + /** + * GitHub Pages + * @description The GitHub Pages deployment status. + */ + "page-deployment": { + /** + * Format: uri + * @description The URI to monitor GitHub Pages deployment status. + */ + status_url: string; + /** + * Format: uri + * @description The URI to the deployed GitHub Pages. + */ + page_url: string; + /** + * Format: uri + * @description The URI to the deployed GitHub Pages preview. + */ + preview_url?: string; + }; + /** + * Pages Health Check Status + * @description Pages Health Check Status + */ + "pages-health-check": { + domain?: { + host?: string; + uri?: string; + nameservers?: string; + dns_resolves?: boolean; + is_proxied?: OneOf<[boolean, null]>; + is_cloudflare_ip?: OneOf<[boolean, null]>; + is_fastly_ip?: OneOf<[boolean, null]>; + is_old_ip_address?: OneOf<[boolean, null]>; + is_a_record?: OneOf<[boolean, null]>; + has_cname_record?: OneOf<[boolean, null]>; + has_mx_records_present?: OneOf<[boolean, null]>; + is_valid_domain?: boolean; + is_apex_domain?: boolean; + should_be_a_record?: OneOf<[boolean, null]>; + is_cname_to_github_user_domain?: OneOf<[boolean, null]>; + is_cname_to_pages_dot_github_dot_com?: OneOf<[boolean, null]>; + is_cname_to_fastly?: OneOf<[boolean, null]>; + is_pointed_to_github_pages_ip?: OneOf<[boolean, null]>; + is_non_github_pages_ip_present?: OneOf<[boolean, null]>; + is_pages_domain?: boolean; + is_served_by_pages?: OneOf<[boolean, null]>; + is_valid?: boolean; + reason?: OneOf<[string, null]>; + responds_to_https?: boolean; + enforces_https?: boolean; + https_error?: OneOf<[string, null]>; + is_https_eligible?: OneOf<[boolean, null]>; + caa_error?: OneOf<[string, null]>; + }; + alt_domain?: OneOf<[{ + host?: string; + uri?: string; + nameservers?: string; + dns_resolves?: boolean; + is_proxied?: OneOf<[boolean, null]>; + is_cloudflare_ip?: OneOf<[boolean, null]>; + is_fastly_ip?: OneOf<[boolean, null]>; + is_old_ip_address?: OneOf<[boolean, null]>; + is_a_record?: OneOf<[boolean, null]>; + has_cname_record?: OneOf<[boolean, null]>; + has_mx_records_present?: OneOf<[boolean, null]>; + is_valid_domain?: boolean; + is_apex_domain?: boolean; + should_be_a_record?: OneOf<[boolean, null]>; + is_cname_to_github_user_domain?: OneOf<[boolean, null]>; + is_cname_to_pages_dot_github_dot_com?: OneOf<[boolean, null]>; + is_cname_to_fastly?: OneOf<[boolean, null]>; + is_pointed_to_github_pages_ip?: OneOf<[boolean, null]>; + is_non_github_pages_ip_present?: OneOf<[boolean, null]>; + is_pages_domain?: boolean; + is_served_by_pages?: OneOf<[boolean, null]>; + is_valid?: boolean; + reason?: OneOf<[string, null]>; + responds_to_https?: boolean; + enforces_https?: boolean; + https_error?: OneOf<[string, null]>; + is_https_eligible?: OneOf<[boolean, null]>; + caa_error?: OneOf<[string, null]>; + }, null]>; + }; + /** + * Pull Request + * @description Pull requests let you tell others about changes you've pushed to a repository on GitHub. Once a pull request is sent, interested parties can review the set of changes, discuss potential modifications, and even push follow-up commits if necessary. + */ + "pull-request": { + /** Format: uri */ + url: string; + id: number; + node_id: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + diff_url: string; + /** Format: uri */ + patch_url: string; + /** Format: uri */ + issue_url: string; + /** Format: uri */ + commits_url: string; + /** Format: uri */ + review_comments_url: string; + review_comment_url: string; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + statuses_url: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + locked: boolean; + /** @description The title of the pull request. */ + title: string; + user: null | components["schemas"]["simple-user"]; + body: OneOf<[string, null]>; + labels: ({ + /** Format: int64 */ + id: number; + node_id: string; + url: string; + name: string; + description: OneOf<[string, null]>; + color: string; + default: boolean; + })[]; + milestone: null | components["schemas"]["milestone"]; + active_lock_reason?: OneOf<[string, null]>; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + /** Format: date-time */ + merged_at: OneOf<[string, null]>; + merge_commit_sha: OneOf<[string, null]>; + assignee: null | components["schemas"]["simple-user"]; + assignees?: OneOf<[(components["schemas"]["simple-user"])[], null]>; + requested_reviewers?: OneOf<[(components["schemas"]["simple-user"])[], null]>; + requested_teams?: OneOf<[(components["schemas"]["team-simple"])[], null]>; + head: { + label: string; + ref: string; + repo: OneOf<[{ + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: OneOf<[string, null]>; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + id: number; + node_id: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + milestones_url: string; + name: string; + notifications_url: string; + owner: { /** Format: uri */ - html_url?: string; + avatar_url: string; + events_url: string; + /** Format: uri */ + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; id: number; + node_id: string; login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; /** Format: uri */ - received_events_url?: string; + organizations_url: string; /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + received_events_url: string; /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + repos_url: string; + site_admin: boolean; + starred_url: string; /** Format: uri */ - url?: string; - }, null]>; - answer_html_url: OneOf<[string, null]>; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: string; - category: { - /** Format: date-time */ - created_at: string; - description: string; - emoji: string; - id: number; - is_answerable: boolean; - name: string; - node_id?: string; - repository_id: number; - slug: string; - updated_at: string; - }; - comments: number; - /** Format: date-time */ - created_at: string; - html_url: string; - id: number; - locked: boolean; - node_id: string; - number: number; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; + subscriptions_url: string; + type: string; /** Format: uri */ url: string; }; - repository_url: string; - /** @enum {string} */ - state: "open" | "locked" | "converting" | "transferring"; - timeline_url?: string; - title: string; - /** Format: date-time */ - updated_at: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + private: boolean; + pulls_url: string; + releases_url: string; + /** Format: uri */ + stargazers_url: string; + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + trees_url: string; + /** Format: uri */ + url: string; + clone_url: string; + default_branch: string; + forks: number; + forks_count: number; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_discussions: boolean; + /** Format: uri */ + homepage: OneOf<[string, null]>; + language: OneOf<[string, null]>; + master_branch?: string; + archived: boolean; + disabled: boolean; + /** @description The repository visibility: public, private, or internal. */ + visibility?: string; + /** Format: uri */ + mirror_url: OneOf<[string, null]>; + open_issues: number; + open_issues_count: number; + permissions?: { + admin: boolean; + maintain?: boolean; + push: boolean; + triage?: boolean; + pull: boolean; + }; + temp_clone_token?: string; + allow_merge_commit?: boolean; + allow_squash_merge?: boolean; + allow_rebase_merge?: boolean; + license: OneOf<[{ + key: string; + name: string; /** Format: uri */ - url?: string; + url: OneOf<[string, null]>; + spdx_id: OneOf<[string, null]>; + node_id: string; }, null]>; - }; - /** - * Repository - * @description A git repository - */ - new_repository: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ + /** Format: date-time */ + pushed_at: string; + size: number; + ssh_url: string; + stargazers_count: number; + /** Format: uri */ + svn_url: string; + topics?: (string)[]; + watchers: number; + watchers_count: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ + is_template?: boolean; + web_commit_signoff_required?: boolean; + }, null]>; + sha: string; + user: { + /** Format: uri */ + avatar_url: string; + events_url: string; + /** Format: uri */ + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + id: number; + node_id: string; + login: string; + /** Format: uri */ + organizations_url: string; + /** Format: uri */ + received_events_url: string; + /** Format: uri */ + repos_url: string; + site_admin: boolean; + starred_url: string; + /** Format: uri */ + subscriptions_url: string; + type: string; + /** Format: uri */ + url: string; + }; + }; + base: { + label: string; + ref: string; + repo: { archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ assignees_url: string; - /** Format: uri-template */ blobs_url: string; - /** Format: uri-template */ branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ collaborators_url: string; - /** Format: uri-template */ comments_url: string; - /** Format: uri-template */ commits_url: string; - /** Format: uri-template */ compare_url: string; - /** Format: uri-template */ contents_url: string; /** Format: uri */ contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; /** Format: uri */ deployments_url: string; description: OneOf<[string, null]>; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; /** Format: uri */ downloads_url: string; /** Format: uri */ events_url: string; fork: boolean; - forks: number; - forks_count: number; /** Format: uri */ forks_url: string; full_name: string; - /** Format: uri-template */ git_commits_url: string; - /** Format: uri-template */ git_refs_url: string; - /** Format: uri-template */ git_tags_url: string; /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: OneOf<[string, null]>; - /** Format: uri */ hooks_url: string; /** Format: uri */ html_url: string; - /** @description Unique identifier of the repository */ id: number; is_template?: boolean; - /** Format: uri-template */ + node_id: string; issue_comment_url: string; - /** Format: uri-template */ issue_events_url: string; - /** Format: uri-template */ issues_url: string; - /** Format: uri-template */ keys_url: string; - /** Format: uri-template */ labels_url: string; - language: OneOf<[string, null]>; /** Format: uri */ languages_url: string; - /** License */ - license: OneOf<[{ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: OneOf<[string, null]>; - }, null]>; - master_branch?: string; /** Format: uri */ merges_url: string; - /** Format: uri-template */ milestones_url: string; - /** Format: uri */ - mirror_url: OneOf<[string, null]>; - /** @description The name of the repository. */ name: string; - node_id: string; - /** Format: uri-template */ notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: OneOf<[{ + owner: { /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; + avatar_url: string; + events_url: string; /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: OneOf<[string, null]>; /** Format: uri */ - html_url?: string; + html_url: string; id: number; + node_id: string; login: string; - name?: string; - node_id?: string; /** Format: uri */ - organizations_url?: string; + organizations_url: string; /** Format: uri */ - received_events_url?: string; + received_events_url: string; /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + repos_url: string; + site_admin: boolean; + starred_url: string; /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + subscriptions_url: string; + type: string; /** Format: uri */ - url?: string; - }, null]>; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; + url: string; }; - /** @description Whether the repository is private or public. */ private: boolean; - public?: boolean; - /** Format: uri-template */ pulls_url: string; - pushed_at: number | string; - /** Format: uri-template */ releases_url: string; - role_name?: OneOf<[string, null]>; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; /** Format: uri */ stargazers_url: string; - /** Format: uri-template */ statuses_url: string; /** Format: uri */ subscribers_url: string; /** Format: uri */ subscription_url: string; /** Format: uri */ - svn_url: string; - /** Format: uri */ tags_url: string; /** Format: uri */ teams_url: string; - topics: (string)[]; - /** Format: uri-template */ trees_url: string; - /** Format: date-time */ - updated_at: string; /** Format: uri */ url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - }; - /** Discussion */ - discussion: { - active_lock_reason: OneOf<[string, null]>; - answer_chosen_at: OneOf<[string, null]>; - /** User */ - answer_chosen_by: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; + clone_url: string; + default_branch: string; + forks: number; + forks_count: number; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_discussions: boolean; /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + homepage: OneOf<[string, null]>; + language: OneOf<[string, null]>; + master_branch?: string; + archived: boolean; + disabled: boolean; + /** @description The repository visibility: public, private, or internal. */ + visibility?: string; /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + mirror_url: OneOf<[string, null]>; + open_issues: number; + open_issues_count: number; + permissions?: { + admin: boolean; + maintain?: boolean; + push: boolean; + triage?: boolean; + pull: boolean; + }; + temp_clone_token?: string; + allow_merge_commit?: boolean; + allow_squash_merge?: boolean; + allow_rebase_merge?: boolean; + license: null | components["schemas"]["license-simple"]; + /** Format: date-time */ + pushed_at: string; + size: number; + ssh_url: string; + stargazers_count: number; /** Format: uri */ - url?: string; - }, null]>; - answer_html_url: OneOf<[string, null]>; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: string; - category: { + svn_url: string; + topics?: (string)[]; + watchers: number; + watchers_count: number; /** Format: date-time */ created_at: string; - description: string; - emoji: string; - id: number; - is_answerable: boolean; - name: string; - node_id?: string; - repository_id: number; - slug: string; + /** Format: date-time */ updated_at: string; + allow_forking?: boolean; + web_commit_signoff_required?: boolean; }; - comments: number; - /** Format: date-time */ - created_at: string; - html_url: string; - id: number; - locked: boolean; - node_id: string; - number: number; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - /** @enum {string} */ - state: "open" | "locked" | "converting" | "transferring"; - timeline_url?: string; - title: string; - /** Format: date-time */ - updated_at: string; - /** User */ - user: OneOf<[{ + sha: string; + user: { /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; + avatar_url: string; + events_url: string; /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: OneOf<[string, null]>; /** Format: uri */ - html_url?: string; + html_url: string; id: number; + node_id: string; login: string; - name?: string; - node_id?: string; /** Format: uri */ - organizations_url?: string; + organizations_url: string; /** Format: uri */ - received_events_url?: string; + received_events_url: string; /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + repos_url: string; + site_admin: boolean; + starred_url: string; /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + subscriptions_url: string; + type: string; /** Format: uri */ - url?: string; - }, null]>; + url: string; + }; }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** discussion unanswered event */ - "webhook-discussion-unanswered": { - /** @enum {string} */ - action: "unanswered"; - discussion: ({ - active_lock_reason: OneOf<[string, null]>; - answer_chosen_at: OneOf<[string, null]>; - /** User */ - answer_chosen_by: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - answer_html_url: OneOf<[string, null]>; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: string; - category: { - /** Format: date-time */ - created_at: string; - description: string; - emoji: string; - id: number; - is_answerable: boolean; - name: string; - node_id?: string; - repository_id: number; - slug: string; - updated_at: string; - }; - comments: number; - /** Format: date-time */ - created_at: string; - html_url: string; - id: number; - locked: boolean; - node_id: string; - number: number; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - /** @enum {string} */ - state: "open" | "locked" | "converting" | "transferring"; - timeline_url?: string; - title: string; - /** Format: date-time */ - updated_at: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - }) & { - active_lock_reason?: OneOf<[string, null]>; - answer_chosen_at: null; - answer_chosen_by: null; - answer_html_url: OneOf<[string, null]>; - author_association?: string; - body?: string; - category: { - created_at?: string; - description?: string; - emoji?: string; - id?: number; - /** @enum {boolean} */ - is_answerable: true; - name?: string; - node_id?: string; - repository_id?: number; - slug?: string; - updated_at?: string; - }; - comments?: number; - created_at?: string; - html_url?: string; - id?: number; - locked?: boolean; - node_id?: string; - number?: number; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - state?: string; - timeline_url?: string; - title?: string; - updated_at?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - old_answer: { - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: string; - child_comment_count: number; - /** Format: date-time */ - created_at: string; - discussion_id: number; - html_url: string; - id: number; - node_id: string; - parent_id: null; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - /** Format: date-time */ - updated_at: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; + _links: { + comments: components["schemas"]["link"]; + commits: components["schemas"]["link"]; + statuses: components["schemas"]["link"]; + html: components["schemas"]["link"]; + issue: components["schemas"]["link"]; + review_comments: components["schemas"]["link"]; + review_comment: components["schemas"]["link"]; + self: components["schemas"]["link"]; }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; + author_association: components["schemas"]["author-association"]; + auto_merge: components["schemas"]["auto-merge"]; + /** @description Indicates whether or not the pull request is a draft. */ + draft?: boolean; + merged: boolean; + mergeable: OneOf<[boolean, null]>; + rebaseable?: OneOf<[boolean, null]>; + mergeable_state: string; + merged_by: null | components["schemas"]["simple-user"]; + comments: number; + review_comments: number; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify: boolean; + commits: number; + additions: number; + deletions: number; + changed_files: number; }; - /** discussion unlabeled event */ - "webhook-discussion-unlabeled": { - /** @enum {string} */ - action: "unlabeled"; - /** Discussion */ - discussion: { - active_lock_reason: OneOf<[string, null]>; - answer_chosen_at: OneOf<[string, null]>; - /** User */ - answer_chosen_by: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - answer_html_url: OneOf<[string, null]>; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: string; - category: { - /** Format: date-time */ - created_at: string; - description: string; - emoji: string; - id: number; - is_answerable: boolean; - name: string; - node_id?: string; - repository_id: number; - slug: string; - updated_at: string; + /** + * Pull Request Merge Result + * @description Pull Request Merge Result + */ + "pull-request-merge-result": { + sha: string; + merged: boolean; + message: string; + }; + /** + * Pull Request Review Request + * @description Pull Request Review Request + */ + "pull-request-review-request": { + users: (components["schemas"]["simple-user"])[]; + teams: (components["schemas"]["team"])[]; + }; + /** + * Pull Request Review + * @description Pull Request Reviews are reviews on pull requests. + */ + "pull-request-review": { + /** @description Unique identifier of the review */ + id: number; + node_id: string; + user: null | components["schemas"]["simple-user"]; + /** @description The text of the review. */ + body: string; + state: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + pull_request_url: string; + _links: { + html: { + href: string; }; - comments: number; - /** Format: date-time */ - created_at: string; - html_url: string; - id: number; - locked: boolean; - node_id: string; - number: number; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; + pull_request: { + href: string; }; - repository_url: string; - /** @enum {string} */ - state: "open" | "locked" | "converting" | "transferring"; - timeline_url?: string; - title: string; - /** Format: date-time */ - updated_at: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - /** Label */ - label: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + /** Format: date-time */ + submitted_at?: string; + /** @description A commit SHA for the review. */ + commit_id: string; + body_html?: string; + body_text?: string; + author_association: components["schemas"]["author-association"]; }; - /** discussion unlocked event */ - "webhook-discussion-unlocked": { - /** @enum {string} */ - action: "unlocked"; - discussion: ({ - active_lock_reason: OneOf<[string, null]>; - answer_chosen_at: OneOf<[string, null]>; - /** User */ - answer_chosen_by: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - answer_html_url: OneOf<[string, null]>; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: string; - category: { - /** Format: date-time */ - created_at: string; - description: string; - emoji: string; - id: number; - is_answerable: boolean; + /** + * Legacy Review Comment + * @description Legacy Review Comment + */ + "review-comment": { + /** Format: uri */ + url: string; + pull_request_review_id: OneOf<[number, null]>; + id: number; + node_id: string; + diff_hunk: string; + path: string; + position: OneOf<[number, null]>; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id?: number; + user: null | components["schemas"]["simple-user"]; + body: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + pull_request_url: string; + author_association: components["schemas"]["author-association"]; + _links: { + self: components["schemas"]["link"]; + html: components["schemas"]["link"]; + pull_request: components["schemas"]["link"]; + }; + body_text?: string; + body_html?: string; + reactions?: components["schemas"]["reaction-rollup"]; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string} + */ + side?: "LEFT" | "RIGHT"; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string|null} + */ + start_side?: "LEFT" | "RIGHT" | "" | null; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line?: number; + /** @description The original line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + original_line?: number; + /** @description The first line of the range for a multi-line comment. */ + start_line?: OneOf<[number, null]>; + /** @description The original first line of the range for a multi-line comment. */ + original_start_line?: OneOf<[number, null]>; + }; + /** + * Release Asset + * @description Data related to a release. + */ + "release-asset": { + /** Format: uri */ + url: string; + /** Format: uri */ + browser_download_url: string; + id: number; + node_id: string; + /** @description The file name of the asset. */ + name: string; + label: OneOf<[string, null]>; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded" | "open"; + content_type: string; + size: number; + download_count: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + uploader: null | components["schemas"]["simple-user"]; + }; + /** + * Release + * @description A release. + */ + release: { + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + assets_url: string; + upload_url: string; + /** Format: uri */ + tarball_url: OneOf<[string, null]>; + /** Format: uri */ + zipball_url: OneOf<[string, null]>; + id: number; + node_id: string; + /** @description The name of the tag. */ + tag_name: string; + /** @description Specifies the commitish value that determines where the Git tag is created from. */ + target_commitish: string; + name: OneOf<[string, null]>; + body?: OneOf<[string, null]>; + /** @description true to create a draft (unpublished) release, false to create a published one. */ + draft: boolean; + /** @description Whether to identify the release as a prerelease or a full release. */ + prerelease: boolean; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + published_at: OneOf<[string, null]>; + author: components["schemas"]["simple-user"]; + assets: (components["schemas"]["release-asset"])[]; + body_html?: string; + body_text?: string; + mentions_count?: number; + /** + * Format: uri + * @description The URL of the release discussion. + */ + discussion_url?: string; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Generated Release Notes Content + * @description Generated name and body describing a release + */ + "release-notes-content": { + /** @description The generated name of the release */ + name: string; + /** @description The generated body describing the contents of the release supporting markdown formatting */ + body: string; + }; + "secret-scanning-alert": { + number?: components["schemas"]["alert-number"]; + created_at?: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["alert-updated-at"]; + url?: components["schemas"]["alert-url"]; + html_url?: components["schemas"]["alert-html-url"]; + /** + * Format: uri + * @description The REST API URL of the code locations for this alert. + */ + locations_url?: string; + state?: components["schemas"]["secret-scanning-alert-state"]; + resolution?: components["schemas"]["secret-scanning-alert-resolution"]; + /** + * Format: date-time + * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + resolved_at?: OneOf<[string, null]>; + resolved_by?: null | components["schemas"]["simple-user"]; + /** @description An optional comment to resolve an alert. */ + resolution_comment?: OneOf<[string, null]>; + /** @description The type of secret that secret scanning detected. */ + secret_type?: string; + /** + * @description User-friendly name for the detected secret, matching the `secret_type`. + * For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." + */ + secret_type_display_name?: string; + /** @description The secret that was detected. */ + secret?: string; + /** @description Whether push protection was bypassed for the detected secret. */ + push_protection_bypassed?: OneOf<[boolean, null]>; + push_protection_bypassed_by?: null | components["schemas"]["simple-user"]; + /** + * Format: date-time + * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + push_protection_bypassed_at?: OneOf<[string, null]>; + }; + /** @description An optional comment when closing an alert. Cannot be updated or deleted. Must be `null` when changing `state` to `open`. */ + "secret-scanning-alert-resolution-comment": OneOf<[string, null]>; + /** @description Represents a 'commit' secret scanning location type. This location type shows that a secret was detected inside a commit to a repository. */ + "secret-scanning-location-commit": { + /** @description The file path in the repository */ + path: string; + /** @description Line number at which the secret starts in the file */ + start_line: number; + /** @description Line number at which the secret ends in the file */ + end_line: number; + /** @description The column at which the secret starts within the start line when the file is interpreted as 8BIT ASCII */ + start_column: number; + /** @description The column at which the secret ends within the end line when the file is interpreted as 8BIT ASCII */ + end_column: number; + /** @description SHA-1 hash ID of the associated blob */ + blob_sha: string; + /** @description The API URL to get the associated blob resource */ + blob_url: string; + /** @description SHA-1 hash ID of the associated commit */ + commit_sha: string; + /** @description The API URL to get the associated commit resource */ + commit_url: string; + }; + "secret-scanning-location": { + /** + * @description The location type. Because secrets may be found in different types of resources (ie. code, comments, issues), this field identifies the type of resource where the secret was found. + * @enum {string} + */ + type: "commit"; + details: components["schemas"]["secret-scanning-location-commit"]; + }; + /** + * Stargazer + * @description Stargazer + */ + stargazer: { + /** Format: date-time */ + starred_at: string; + user: null | components["schemas"]["simple-user"]; + }; + /** + * Code Frequency Stat + * @description Code Frequency Stat + */ + "code-frequency-stat": (number)[]; + /** + * Commit Activity + * @description Commit Activity + */ + "commit-activity": { + days: (number)[]; + total: number; + week: number; + }; + /** + * Contributor Activity + * @description Contributor Activity + */ + "contributor-activity": { + author: null | components["schemas"]["simple-user"]; + total: number; + weeks: ({ + w?: number; + a?: number; + d?: number; + c?: number; + })[]; + }; + /** Participation Stats */ + "participation-stats": { + all: (number)[]; + owner: (number)[]; + }; + /** + * Repository Invitation + * @description Repository invitations let you manage who you collaborate with. + */ + "repository-subscription": { + /** @description Determines if notifications should be received from this repository. */ + subscribed: boolean; + /** @description Determines if all notifications should be blocked from this repository. */ + ignored: boolean; + reason: OneOf<[string, null]>; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + url: string; + /** Format: uri */ + repository_url: string; + }; + /** + * Tag + * @description Tag + */ + tag: { + name: string; + commit: { + sha: string; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + zipball_url: string; + /** Format: uri */ + tarball_url: string; + node_id: string; + }; + /** + * Tag protection + * @description Tag protection + */ + "tag-protection": { + id?: number; + created_at?: string; + updated_at?: string; + enabled?: boolean; + pattern: string; + }; + /** + * Topic + * @description A topic aggregates entities that are related to a subject. + */ + topic: { + names: (string)[]; + }; + /** Traffic */ + traffic: { + /** Format: date-time */ + timestamp: string; + uniques: number; + count: number; + }; + /** + * Clone Traffic + * @description Clone Traffic + */ + "clone-traffic": { + count: number; + uniques: number; + clones: (components["schemas"]["traffic"])[]; + }; + /** + * Content Traffic + * @description Content Traffic + */ + "content-traffic": { + path: string; + title: string; + count: number; + uniques: number; + }; + /** + * Referrer Traffic + * @description Referrer Traffic + */ + "referrer-traffic": { + referrer: string; + count: number; + uniques: number; + }; + /** + * View Traffic + * @description View Traffic + */ + "view-traffic": { + count: number; + uniques: number; + views: (components["schemas"]["traffic"])[]; + }; + /** Search Result Text Matches */ + "search-result-text-matches": ({ + object_url?: string; + object_type?: OneOf<[string, null]>; + property?: string; + fragment?: string; + matches?: ({ + text?: string; + indices?: (number)[]; + })[]; + })[]; + /** + * Code Search Result Item + * @description Code Search Result Item + */ + "code-search-result-item": { + name: string; + path: string; + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + git_url: string; + /** Format: uri */ + html_url: string; + repository: components["schemas"]["minimal-repository"]; + score: number; + file_size?: number; + language?: OneOf<[string, null]>; + /** Format: date-time */ + last_modified_at?: string; + line_numbers?: (string)[]; + text_matches?: components["schemas"]["search-result-text-matches"]; + }; + /** + * Commit Search Result Item + * @description Commit Search Result Item + */ + "commit-search-result-item": { + /** Format: uri */ + url: string; + sha: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + comments_url: string; + commit: { + author: { name: string; - node_id?: string; - repository_id: number; - slug: string; - updated_at: string; + email: string; + /** Format: date-time */ + date: string; }; - comments: number; - /** Format: date-time */ - created_at: string; - html_url: string; - id: number; - locked: boolean; - node_id: string; - number: number; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; + committer: null | components["schemas"]["git-user"]; + comment_count: number; + message: string; + tree: { + sha: string; /** Format: uri */ url: string; }; - repository_url: string; - /** @enum {string} */ - state: "open" | "locked" | "converting" | "transferring"; - timeline_url?: string; - title: string; - /** Format: date-time */ - updated_at: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ + /** Format: uri */ + url: string; + verification?: components["schemas"]["verification"]; + }; + author: null | components["schemas"]["simple-user"]; + committer: null | components["schemas"]["git-user"]; + parents: ({ + url?: string; html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - }) & { - active_lock_reason?: null; - answer_chosen_at?: null; - answer_chosen_by?: null; - answer_html_url?: null; - author_association?: string; - body?: string; - category?: { - created_at?: string; - description?: string; - emoji?: string; - id?: number; - is_answerable?: boolean; - name?: string; - node_id?: string; - repository_id?: number; - slug?: string; - updated_at?: string; - }; - comments?: number; - created_at?: string; - html_url?: string; - id?: number; - /** @enum {boolean} */ - locked: false; - node_id?: string; - number?: number; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - /** @enum {string} */ - state: "open"; - timeline_url?: string; - title?: string; - updated_at?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** discussion unpinned event */ - "webhook-discussion-unpinned": { - /** @enum {string} */ - action: "unpinned"; - /** Discussion */ - discussion: { - active_lock_reason: OneOf<[string, null]>; - answer_chosen_at: OneOf<[string, null]>; - /** User */ - answer_chosen_by: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - answer_html_url: OneOf<[string, null]>; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: string; - category: { - /** Format: date-time */ - created_at: string; - description: string; - emoji: string; - id: number; - is_answerable: boolean; - name: string; - node_id?: string; - repository_id: number; - slug: string; - updated_at: string; - }; - comments: number; - /** Format: date-time */ - created_at: string; - html_url: string; - id: number; - locked: boolean; - node_id: string; - number: number; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - /** @enum {string} */ - state: "open" | "locked" | "converting" | "transferring"; - timeline_url?: string; - title: string; - /** Format: date-time */ - updated_at: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + sha?: string; + })[]; + repository: components["schemas"]["minimal-repository"]; + score: number; + node_id: string; + text_matches?: components["schemas"]["search-result-text-matches"]; }; /** - * fork event - * @description A user forks a repository. + * Issue Search Result Item + * @description Issue Search Result Item */ - "webhook-fork": { - enterprise?: components["schemas"]["enterprise"]; - /** @description The created [`repository`](https://docs.github.com/rest/reference/repos#get-a-repository) resource. */ - forkee: ({ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: OneOf<[string, null]>; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: OneOf<[string, null]>; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: OneOf<[string, null]>; - /** Format: uri */ - languages_url: string; - /** License */ - license: OneOf<[{ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: OneOf<[string, null]>; - }, null]>; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: OneOf<[string, null]>; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; + "issue-search-result-item": { + /** Format: uri */ + url: string; + /** Format: uri */ + repository_url: string; + labels_url: string; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + id: number; + node_id: string; + number: number; + title: string; + locked: boolean; + active_lock_reason?: OneOf<[string, null]>; + assignees?: OneOf<[(components["schemas"]["simple-user"])[], null]>; + user: null | components["schemas"]["simple-user"]; + labels: ({ + /** Format: int64 */ + id?: number; node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ url?: string; - }, null]>; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string; - /** Format: uri-template */ - releases_url: string; - role_name?: OneOf<[string, null]>; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; + name?: string; + color?: string; + default?: boolean; + description?: OneOf<[string, null]>; + })[]; + state: string; + state_reason?: OneOf<[string, null]>; + assignee: null | components["schemas"]["simple-user"]; + milestone: null | components["schemas"]["milestone"]; + comments: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + text_matches?: components["schemas"]["search-result-text-matches"]; + pull_request?: { + /** Format: date-time */ + merged_at?: OneOf<[string, null]>; /** Format: uri */ - svn_url: string; + diff_url: OneOf<[string, null]>; /** Format: uri */ - tags_url: string; + html_url: OneOf<[string, null]>; /** Format: uri */ - teams_url: string; - topics: (string)[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; + patch_url: OneOf<[string, null]>; /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }) & { - allow_forking?: boolean; - archive_url?: string; - archived?: boolean; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - clone_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - created_at?: string; - default_branch?: string; - deployments_url?: string; - description?: OneOf<[string, null]>; - disabled?: boolean; - downloads_url?: string; - events_url?: string; - /** @enum {boolean} */ - fork?: true; - forks?: number; - forks_count?: number; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - has_downloads?: boolean; - has_issues?: boolean; - has_pages?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - homepage?: OneOf<[string, null]>; - hooks_url?: string; - html_url?: string; - id?: number; - is_template?: boolean; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - language?: null; - languages_url?: string; - license?: OneOf<[Record, null]>; - merges_url?: string; - milestones_url?: string; - mirror_url?: null; - name?: string; - node_id?: string; - notifications_url?: string; - open_issues?: number; - open_issues_count?: number; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - public?: boolean; - pulls_url?: string; - pushed_at?: string; - releases_url?: string; - size?: number; - ssh_url?: string; - stargazers_count?: number; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - svn_url?: string; - tags_url?: string; - teams_url?: string; - topics?: (null)[]; - trees_url?: string; - updated_at?: string; - url?: string; - visibility?: string; - watchers?: number; - watchers_count?: number; + url: OneOf<[string, null]>; }; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** github_app_authorization revoked event */ - "webhook-github-app-authorization-revoked": { - /** @enum {string} */ - action: "revoked"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; + body?: string; + score: number; + author_association: components["schemas"]["author-association"]; + draft?: boolean; repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + body_html?: string; + body_text?: string; + /** Format: uri */ + timeline_url?: string; + performed_via_github_app?: null | components["schemas"]["integration"]; + reactions?: components["schemas"]["reaction-rollup"]; }; - /** gollum event */ - "webhook-gollum": { - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - /** @description The pages that were updated. */ - pages: ({ - /** - * @description The action that was performed on the page. Can be `created` or `edited`. - * @enum {string} - */ - action: "created" | "edited"; - /** - * Format: uri - * @description Points to the HTML wiki page. - */ - html_url: string; - /** @description The name of the page. */ - page_name: string; - /** @description The latest commit SHA of the page. */ - sha: string; - summary: OneOf<[string, null]>; - /** @description The current page title. */ - title: string; - })[]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + /** + * Label Search Result Item + * @description Label Search Result Item + */ + "label-search-result-item": { + id: number; + node_id: string; + /** Format: uri */ + url: string; + name: string; + color: string; + default: boolean; + description: OneOf<[string, null]>; + score: number; + text_matches?: components["schemas"]["search-result-text-matches"]; }; - /** installation created event */ - "webhook-installation-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise"]; - installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple"]; - /** @description An array of repository objects that the installation can access. */ - repositories?: ({ - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - })[]; - repository?: components["schemas"]["repository"]; - /** User */ - requester?: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - sender: components["schemas"]["simple-user"]; + /** + * Repo Search Result Item + * @description Repo Search Result Item + */ + "repo-search-result-item": { + id: number; + node_id: string; + name: string; + full_name: string; + owner: null | components["schemas"]["simple-user"]; + private: boolean; + /** Format: uri */ + html_url: string; + description: OneOf<[string, null]>; + fork: boolean; + /** Format: uri */ + url: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + pushed_at: string; + /** Format: uri */ + homepage: OneOf<[string, null]>; + size: number; + stargazers_count: number; + watchers_count: number; + language: OneOf<[string, null]>; + forks_count: number; + open_issues_count: number; + master_branch?: string; + default_branch: string; + score: number; + /** Format: uri */ + forks_url: string; + keys_url: string; + collaborators_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri */ + hooks_url: string; + issue_events_url: string; + /** Format: uri */ + events_url: string; + assignees_url: string; + branches_url: string; + /** Format: uri */ + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; + /** Format: uri */ + merges_url: string; + archive_url: string; + /** Format: uri */ + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; + releases_url: string; + /** Format: uri */ + deployments_url: string; + git_url: string; + ssh_url: string; + clone_url: string; + /** Format: uri */ + svn_url: string; + forks: number; + open_issues: number; + watchers: number; + topics?: (string)[]; + /** Format: uri */ + mirror_url: OneOf<[string, null]>; + has_issues: boolean; + has_projects: boolean; + has_pages: boolean; + has_wiki: boolean; + has_downloads: boolean; + has_discussions?: boolean; + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** @description The repository visibility: public, private, or internal. */ + visibility?: string; + license: null | components["schemas"]["license-simple"]; + permissions?: { + admin: boolean; + maintain?: boolean; + push: boolean; + triage?: boolean; + pull: boolean; + }; + text_matches?: components["schemas"]["search-result-text-matches"]; + temp_clone_token?: string; + allow_merge_commit?: boolean; + allow_squash_merge?: boolean; + allow_rebase_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_forking?: boolean; + is_template?: boolean; + web_commit_signoff_required?: boolean; }; - /** installation deleted event */ - "webhook-installation-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise"]; - installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple"]; - /** @description An array of repository objects that the installation can access. */ - repositories?: ({ - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - })[]; - repository?: components["schemas"]["repository"]; - requester?: null; - sender: components["schemas"]["simple-user"]; + /** + * Topic Search Result Item + * @description Topic Search Result Item + */ + "topic-search-result-item": { + name: string; + display_name: OneOf<[string, null]>; + short_description: OneOf<[string, null]>; + description: OneOf<[string, null]>; + created_by: OneOf<[string, null]>; + released: OneOf<[string, null]>; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + featured: boolean; + curated: boolean; + score: number; + repository_count?: OneOf<[number, null]>; + /** Format: uri */ + logo_url?: OneOf<[string, null]>; + text_matches?: components["schemas"]["search-result-text-matches"]; + related?: OneOf<[({ + topic_relation?: { + id?: number; + name?: string; + topic_id?: number; + relation_type?: string; + }; + })[], null]>; + aliases?: OneOf<[({ + topic_relation?: { + id?: number; + name?: string; + topic_id?: number; + relation_type?: string; + }; + })[], null]>; }; - /** installation new_permissions_accepted event */ - "webhook-installation-new-permissions-accepted": { - /** @enum {string} */ - action: "new_permissions_accepted"; - enterprise?: components["schemas"]["enterprise"]; - installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple"]; - /** @description An array of repository objects that the installation can access. */ - repositories?: ({ - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - })[]; - repository?: components["schemas"]["repository"]; - requester?: null; - sender: components["schemas"]["simple-user"]; + /** + * User Search Result Item + * @description User Search Result Item + */ + "user-search-result-item": { + login: string; + id: number; + node_id: string; + /** Format: uri */ + avatar_url: string; + gravatar_id: OneOf<[string, null]>; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + followers_url: string; + /** Format: uri */ + subscriptions_url: string; + /** Format: uri */ + organizations_url: string; + /** Format: uri */ + repos_url: string; + /** Format: uri */ + received_events_url: string; + type: string; + score: number; + following_url: string; + gists_url: string; + starred_url: string; + events_url: string; + public_repos?: number; + public_gists?: number; + followers?: number; + following?: number; + /** Format: date-time */ + created_at?: string; + /** Format: date-time */ + updated_at?: string; + name?: OneOf<[string, null]>; + bio?: OneOf<[string, null]>; + /** Format: email */ + email?: OneOf<[string, null]>; + location?: OneOf<[string, null]>; + site_admin: boolean; + hireable?: OneOf<[boolean, null]>; + text_matches?: components["schemas"]["search-result-text-matches"]; + blog?: OneOf<[string, null]>; + company?: OneOf<[string, null]>; + /** Format: date-time */ + suspended_at?: OneOf<[string, null]>; }; - /** installation_repositories added event */ - "webhook-installation-repositories-added": { - /** @enum {string} */ - action: "added"; - enterprise?: components["schemas"]["enterprise"]; - installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple"]; - /** @description An array of repository objects, which were added to the installation. */ - repositories_added: ({ - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - })[]; - /** @description An array of repository objects, which were removed from the installation. */ - repositories_removed: ({ - full_name?: string; - /** @description Unique identifier of the repository */ - id?: number; - /** @description The name of the repository. */ - name?: string; - node_id?: string; - /** @description Whether the repository is private or public. */ - private?: boolean; - })[]; - repository?: components["schemas"]["repository"]; - /** - * @description Describe whether all repositories have been selected or there's a selection involved - * @enum {string} - */ - repository_selection: "all" | "selected"; - /** User */ - requester: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + /** + * Private User + * @description Private User + */ + "private-user": { + login: string; + id: number; + node_id: string; + /** Format: uri */ + avatar_url: string; + gravatar_id: OneOf<[string, null]>; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + /** Format: uri */ + subscriptions_url: string; + /** Format: uri */ + organizations_url: string; + /** Format: uri */ + repos_url: string; + events_url: string; + /** Format: uri */ + received_events_url: string; + type: string; + site_admin: boolean; + name: OneOf<[string, null]>; + company: OneOf<[string, null]>; + blog: OneOf<[string, null]>; + location: OneOf<[string, null]>; + /** Format: email */ + email: OneOf<[string, null]>; + hireable: OneOf<[boolean, null]>; + bio: OneOf<[string, null]>; + twitter_username?: OneOf<[string, null]>; + public_repos: number; + public_gists: number; + followers: number; + following: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + private_gists: number; + total_private_repos: number; + owned_private_repos: number; + disk_usage: number; + collaborators: number; + two_factor_authentication: boolean; + plan?: { + collaborators: number; + name: string; + space: number; + private_repos: number; + }; + /** Format: date-time */ + suspended_at?: OneOf<[string, null]>; + business_plus?: boolean; + ldap_dn?: string; + }; + /** + * Codespaces Secret + * @description Secrets for a GitHub Codespace. + */ + "codespaces-secret": { + /** @description The name of the secret */ + name: string; + /** + * Format: date-time + * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + created_at: string; + /** + * Format: date-time + * @description The date and time at which the secret was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + updated_at: string; + /** + * @description The type of repositories in the organization that the secret is visible to + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** + * Format: uri + * @description The API URL at which the list of repositories this secret is visible to can be retrieved + */ + selected_repositories_url: string; + }; + /** + * CodespacesUserPublicKey + * @description The public key used for setting user Codespaces' Secrets. + */ + "codespaces-user-public-key": { + /** @description The identifier for the key. */ + key_id: string; + /** @description The Base64 encoded public key. */ + key: string; + }; + /** + * Fetches information about an export of a codespace. + * @description An export of a codespace. Also, latest export details for a codespace can be fetched with id = latest + */ + "codespace-export-details": { + /** @description State of the latest export */ + state?: OneOf<[string, null]>; + /** + * Format: date-time + * @description Completion time of the last export operation + */ + completed_at?: OneOf<[string, null]>; + /** @description Name of the exported branch */ + branch?: OneOf<[string, null]>; + /** @description Git commit SHA of the exported branch */ + sha?: OneOf<[string, null]>; + /** @description Id for the export details */ + id?: string; + /** @description Url for fetching export details */ + export_url?: string; + /** @description Web url for the exported branch */ + html_url?: OneOf<[string, null]>; + }; + /** + * Email + * @description Email + */ + email: { + /** Format: email */ + email: string; + primary: boolean; + verified: boolean; + visibility: OneOf<[string, null]>; + }; + /** + * GPG Key + * @description A unique encryption key + */ + "gpg-key": { + id: number; + name?: OneOf<[string, null]>; + primary_key_id: OneOf<[number, null]>; + key_id: string; + public_key: string; + emails: ({ + email?: string; + verified?: boolean; + })[]; + subkeys: ({ + id?: number; + primary_key_id?: number; + key_id?: string; + public_key?: string; + emails?: (Record)[]; + subkeys?: (Record)[]; + can_sign?: boolean; + can_encrypt_comms?: boolean; + can_encrypt_storage?: boolean; + can_certify?: boolean; + created_at?: string; + expires_at?: OneOf<[string, null]>; + raw_key?: OneOf<[string, null]>; + revoked?: boolean; + })[]; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + expires_at: OneOf<[string, null]>; + revoked: boolean; + raw_key: OneOf<[string, null]>; + }; + /** + * Key + * @description Key + */ + key: { + key: string; + id: number; + url: string; + title: string; + /** Format: date-time */ + created_at: string; + verified: boolean; + read_only: boolean; + }; + /** Marketplace Account */ + "marketplace-account": { + /** Format: uri */ + url: string; + id: number; + type: string; + node_id?: string; + login: string; + /** Format: email */ + email?: OneOf<[string, null]>; + /** Format: email */ + organization_billing_email?: OneOf<[string, null]>; + }; + /** + * User Marketplace Purchase + * @description User Marketplace Purchase + */ + "user-marketplace-purchase": { + billing_cycle: string; + /** Format: date-time */ + next_billing_date: OneOf<[string, null]>; + unit_count: OneOf<[number, null]>; + on_free_trial: boolean; + /** Format: date-time */ + free_trial_ends_on: OneOf<[string, null]>; + /** Format: date-time */ + updated_at: OneOf<[string, null]>; + account: components["schemas"]["marketplace-account"]; + plan: components["schemas"]["marketplace-listing-plan"]; + }; + /** + * SSH Signing Key + * @description A public SSH key used to sign Git commits + */ + "ssh-signing-key": { + key: string; + id: number; + title: string; + /** Format: date-time */ + created_at: string; + }; + /** + * Starred Repository + * @description Starred Repository + */ + "starred-repository": { + /** Format: date-time */ + starred_at: string; + repo: components["schemas"]["repository"]; + }; + /** + * Hovercard + * @description Hovercard + */ + hovercard: { + contexts: ({ + message: string; + octicon: string; + })[]; + }; + /** + * Key Simple + * @description Key Simple + */ + "key-simple": { + id: number; + key: string; + }; + /** + * Simple Installation + * @description The GitHub App installation. This property is included when the event is configured for and sent to a GitHub App. + */ + "simple-installation": { + /** @description The ID of the installation. */ + id: number; + /** @description The global node ID of the installation. */ + node_id: string; + }; + /** @description A suite of checks performed on the code of a given code change */ + "simple-check-suite": { + after?: OneOf<[string, null]>; + app?: components["schemas"]["integration"]; + before?: OneOf<[string, null]>; + /** @enum {string|null} */ + conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | "stale" | "startup_failure" | "" | null; + /** Format: date-time */ + created_at?: string; + head_branch?: OneOf<[string, null]>; + /** @description The SHA of the head commit that is being checked. */ + head_sha?: string; + id?: number; + node_id?: string; + pull_requests?: (components["schemas"]["pull-request-minimal"])[]; + repository?: components["schemas"]["minimal-repository"]; + /** @enum {string} */ + status?: "queued" | "in_progress" | "completed" | "pending" | "waiting"; + /** Format: date-time */ + updated_at?: string; + url?: string; + }; + /** + * CheckRun + * @description A check performed on the code of a given code change + */ + "check-run-with-simple-check-suite": { + app: null | components["schemas"]["integration"]; + check_suite: components["schemas"]["simple-check-suite"]; + /** Format: date-time */ + completed_at: OneOf<[string, null]>; + /** @enum {string|null} */ + conclusion: "waiting" | "pending" | "startup_failure" | "stale" | "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | "" | null; + deployment?: components["schemas"]["deployment-simple"]; + details_url: string; + external_id: string; + /** @description The SHA of the commit that is being checked. */ + head_sha: string; + html_url: string; + /** @description The id of the check. */ + id: number; + /** @description The name of the check. */ + name: string; + node_id: string; + output: { + annotations_count: number; /** Format: uri */ - url?: string; - }, null]>; - sender: components["schemas"]["simple-user"]; + annotations_url: string; + summary: OneOf<[string, null]>; + text: OneOf<[string, null]>; + title: OneOf<[string, null]>; + }; + pull_requests: (components["schemas"]["pull-request-minimal"])[]; + /** Format: date-time */ + started_at: string; + /** + * @description The phase of the lifecycle that the check is currently in. + * @enum {string} + */ + status: "queued" | "in_progress" | "completed" | "pending"; + url: string; }; - /** installation_repositories removed event */ - "webhook-installation-repositories-removed": { + /** + * Projects v2 Item Content Type + * @description The type of content tracked in a project item + * @enum {string} + */ + "projects-v2-item-content-type": "Issue" | "PullRequest" | "DraftIssue"; + /** + * Projects v2 Item + * @description An item belonging to a project + */ + "projects-v2-item": { + id: number; + node_id?: string; + project_node_id?: string; + content_node_id: string; + content_type: components["schemas"]["projects-v2-item-content-type"]; + creator?: components["schemas"]["simple-user"]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + archived_at: OneOf<[string, null]>; + }; + /** branch protection rule created event */ + "webhook-branch-protection-rule-created": { /** @enum {string} */ - action: "removed"; + action: "created"; enterprise?: components["schemas"]["enterprise"]; - installation: components["schemas"]["installation"]; + installation?: components["schemas"]["simple-installation"]; organization?: components["schemas"]["organization-simple"]; - /** @description An array of repository objects, which were added to the installation. */ - repositories_added: ({ - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - })[]; - /** @description An array of repository objects, which were removed from the installation. */ - repositories_removed: ({ - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - })[]; - repository?: components["schemas"]["repository"]; + repository: components["schemas"]["repository"]; /** - * @description Describe whether all repositories have been selected or there's a selection involved - * @enum {string} + * branch protection rule + * @description The branch protection rule. Includes a `name` and all the [branch protection settings](https://docs.github.com/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#about-branch-protection-settings) applied to branches that match the name. Binary settings are boolean. Multi-level configurations are one of `off`, `non_admins`, or `everyone`. Actor and build lists are arrays of strings. */ - repository_selection: "all" | "selected"; - /** User */ - requester: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; + rule: { + admin_enforced: boolean; + /** @enum {string} */ + allow_deletions_enforcement_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + allow_force_pushes_enforcement_level: "off" | "non_admins" | "everyone"; + authorized_actor_names: (string)[]; + authorized_actors_only: boolean; + authorized_dismissal_actors_only: boolean; + create_protected?: boolean; + /** Format: date-time */ + created_at: string; + dismiss_stale_reviews_on_push: boolean; id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; + ignore_approvals_from_contributors: boolean; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; + linear_history_requirement_enforcement_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + merge_queue_enforcement_level: "off" | "non_admins" | "everyone"; + name: string; + /** @enum {string} */ + pull_request_reviews_enforcement_level: "off" | "non_admins" | "everyone"; + repository_id: number; + require_code_owner_review: boolean; + required_approving_review_count: number; + /** @enum {string} */ + required_conversation_resolution_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + required_deployments_enforcement_level: "off" | "non_admins" | "everyone"; + required_status_checks: (string)[]; + /** @enum {string} */ + required_status_checks_enforcement_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + signature_requirement_enforcement_level: "off" | "non_admins" | "everyone"; + strict_required_status_checks_policy: boolean; + /** Format: date-time */ + updated_at: string; + }; sender: components["schemas"]["simple-user"]; }; - /** installation suspend event */ - "webhook-installation-suspend": { + /** branch protection rule deleted event */ + "webhook-branch-protection-rule-deleted": { /** @enum {string} */ - action: "suspend"; + action: "deleted"; enterprise?: components["schemas"]["enterprise"]; - installation: components["schemas"]["installation"]; + installation?: components["schemas"]["simple-installation"]; organization?: components["schemas"]["organization-simple"]; - /** @description An array of repository objects that the installation can access. */ - repositories?: ({ - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - })[]; - repository?: components["schemas"]["repository"]; - requester?: null; - sender: components["schemas"]["simple-user"]; - }; - "webhook-installation-target-renamed": { - account: { - avatar_url: string; - created_at?: string; - description?: null; - events_url?: string; - followers?: number; - followers_url?: string; - following?: number; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - has_organization_projects?: boolean; - has_repository_projects?: boolean; - hooks_url?: string; - html_url: string; + repository: components["schemas"]["repository"]; + /** + * branch protection rule + * @description The branch protection rule. Includes a `name` and all the [branch protection settings](https://docs.github.com/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#about-branch-protection-settings) applied to branches that match the name. Binary settings are boolean. Multi-level configurations are one of `off`, `non_admins`, or `everyone`. Actor and build lists are arrays of strings. + */ + rule: { + admin_enforced: boolean; + /** @enum {string} */ + allow_deletions_enforcement_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + allow_force_pushes_enforcement_level: "off" | "non_admins" | "everyone"; + authorized_actor_names: (string)[]; + authorized_actors_only: boolean; + authorized_dismissal_actors_only: boolean; + create_protected?: boolean; + /** Format: date-time */ + created_at: string; + dismiss_stale_reviews_on_push: boolean; id: number; - is_verified?: boolean; - issues_url?: string; - login?: string; - members_url?: string; - name?: string; - node_id: string; - organizations_url?: string; - public_gists?: number; - public_members_url?: string; - public_repos?: number; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - slug?: string; - starred_url?: string; - subscriptions_url?: string; - type?: string; - updated_at?: string; - url?: string; - website_url?: null; + ignore_approvals_from_contributors: boolean; + /** @enum {string} */ + linear_history_requirement_enforcement_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + merge_queue_enforcement_level: "off" | "non_admins" | "everyone"; + name: string; + /** @enum {string} */ + pull_request_reviews_enforcement_level: "off" | "non_admins" | "everyone"; + repository_id: number; + require_code_owner_review: boolean; + required_approving_review_count: number; + /** @enum {string} */ + required_conversation_resolution_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + required_deployments_enforcement_level: "off" | "non_admins" | "everyone"; + required_status_checks: (string)[]; + /** @enum {string} */ + required_status_checks_enforcement_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + signature_requirement_enforcement_level: "off" | "non_admins" | "everyone"; + strict_required_status_checks_policy: boolean; + /** Format: date-time */ + updated_at: string; }; - action: string; - changes: { - login?: { - from: string; + sender: components["schemas"]["simple-user"]; + }; + /** branch protection rule edited event */ + "webhook-branch-protection-rule-edited": { + /** @enum {string} */ + action: "edited"; + /** @description If the action was `edited`, the changes to the rule. */ + changes?: { + admin_enforced?: { + from: OneOf<[boolean, null]>; }; - slug?: { - from: string; + authorized_actor_names?: { + from: (string)[]; + }; + authorized_actors_only?: { + from: OneOf<[boolean, null]>; + }; + authorized_dismissal_actors_only?: { + from: OneOf<[boolean, null]>; + }; + linear_history_requirement_enforcement_level?: { + /** @enum {string} */ + from: "off" | "non_admins" | "everyone"; + }; + required_status_checks?: { + from: (string)[]; + }; + required_status_checks_enforcement_level?: { + /** @enum {string} */ + from: "off" | "non_admins" | "everyone"; }; }; enterprise?: components["schemas"]["enterprise"]; - installation: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; - target_type: string; - }; - /** installation unsuspend event */ - "webhook-installation-unsuspend": { - /** @enum {string} */ - action: "unsuspend"; - enterprise?: components["schemas"]["enterprise"]; - installation: components["schemas"]["installation"]; + installation?: components["schemas"]["simple-installation"]; organization?: components["schemas"]["organization-simple"]; - /** @description An array of repository objects that the installation can access. */ - repositories?: ({ - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - })[]; - repository?: components["schemas"]["repository"]; - requester?: null; - sender: components["schemas"]["simple-user"]; - }; - /** issue_comment created event */ - "webhook-issue-comment-created": { - /** @enum {string} */ - action: "created"; + repository: components["schemas"]["repository"]; /** - * issue comment - * @description The [comment](https://docs.github.com/rest/reference/issues#comments) itself. + * branch protection rule + * @description The branch protection rule. Includes a `name` and all the [branch protection settings](https://docs.github.com/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#about-branch-protection-settings) applied to branches that match the name. Binary settings are boolean. Multi-level configurations are one of `off`, `non_admins`, or `everyone`. Actor and build lists are arrays of strings. */ - comment: { - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue comment */ - body: string; + rule: { + admin_enforced: boolean; + /** @enum {string} */ + allow_deletions_enforcement_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + allow_force_pushes_enforcement_level: "off" | "non_admins" | "everyone"; + authorized_actor_names: (string)[]; + authorized_actors_only: boolean; + authorized_dismissal_actors_only: boolean; + create_protected?: boolean; /** Format: date-time */ created_at: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the issue comment */ + dismiss_stale_reviews_on_push: boolean; id: number; - /** Format: uri */ - issue_url: string; - node_id: string; - performed_via_github_app: null | components["schemas"]["integration"]; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; + ignore_approvals_from_contributors: boolean; + /** @enum {string} */ + linear_history_requirement_enforcement_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + merge_queue_enforcement_level: "off" | "non_admins" | "everyone"; + name: string; + /** @enum {string} */ + pull_request_reviews_enforcement_level: "off" | "non_admins" | "everyone"; + repository_id: number; + require_code_owner_review: boolean; + required_approving_review_count: number; + /** @enum {string} */ + required_conversation_resolution_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + required_deployments_enforcement_level: "off" | "non_admins" | "everyone"; + required_status_checks: (string)[]; + /** @enum {string} */ + required_status_checks_enforcement_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + signature_requirement_enforcement_level: "off" | "non_admins" | "everyone"; + strict_required_status_checks_policy: boolean; /** Format: date-time */ updated_at: string; - /** - * Format: uri - * @description URL for the issue comment - */ - url: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; }; - enterprise?: components["schemas"]["enterprise"]; + sender: components["schemas"]["simple-user"]; + }; + /** Check Run Completed Event */ + "webhook-check-run-completed": { + /** @enum {string} */ + action?: "completed"; + check_run: components["schemas"]["check-run-with-simple-check-suite"]; installation?: components["schemas"]["simple-installation"]; - /** @description The [issue](https://docs.github.com/rest/reference/issues) the comment belongs to. */ - issue: ({ - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; - /** User */ - assignee?: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>; - assignees: (OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: OneOf<[string, null]>; - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: OneOf<[{ - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>; - description: OneOf<[string, null]>; - /** Format: date-time */ - due_on: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }, null]>; - node_id: string; - number: number; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** + * Check Run Completed Event + * @description The check_run.completed webhook encoded with URL encoding + */ + "webhook-check-run-completed-form-encoded": { + /** @description A URL-encoded string of the check_run.completed JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** Check Run Created Event */ + "webhook-check-run-created": { + /** @enum {string} */ + action?: "created"; + check_run: components["schemas"]["check-run-with-simple-check-suite"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** + * Check Run Created Event + * @description The check_run.created webhook encoded with URL encoding + */ + "webhook-check-run-created-form-encoded": { + /** @description A URL-encoded string of the check_run.created JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** check_suite completed event */ + "webhook-check-suite-completed": { + /** @enum {string} */ + action: "completed"; + actions_meta?: OneOf<[Record, null]>; + /** @description The [check_suite](https://docs.github.com/rest/reference/checks#suites). */ + check_suite: { + after: OneOf<[string, null]>; /** * App * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. */ - performed_via_github_app?: OneOf<[{ + app: { /** Format: date-time */ created_at: OneOf<[string, null]>; description: OneOf<[string, null]>; /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "pull_request_review_thread")[]; + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "merge_group" | "pull_request_review_thread" | "workflow_job" | "merge_queue_entry" | "security_and_analysis" | "projects_v2_item" | "secret_scanning_alert_location")[]; /** Format: uri */ external_url: OneOf<[string, null]>; /** Format: uri */ @@ -23866,93 +19075,125 @@ export interface components { slug?: string; /** Format: date-time */ updated_at: OneOf<[string, null]>; - }, null]>; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: OneOf<[string, null]>; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; }; + before: OneOf<[string, null]>; /** Format: uri */ - repository_url: string; + check_runs_url: string; /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} + * @description The summary conclusion for all check runs that are part of the check suite. Can be one of `success`, `failure`, `neutral`, `cancelled`, `timed_out`, `action_required` or `stale`. This value will be `null` until the check run has `completed`. + * @enum {string|null} */ - state?: "open" | "closed"; - state_reason?: OneOf<[string, null]>; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | "" | "skipped" | "startup_failure" | null; + /** Format: date-time */ + created_at: string; + /** @description The head branch name the changes are on. */ + head_branch: OneOf<[string, null]>; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: OneOf<[string, null]>; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: OneOf<[string, null]>; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** @description The SHA of the head commit that is being checked. */ + head_sha: string; + id: number; + latest_check_runs_count: number; + node_id: string; + /** @description An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty. */ + pull_requests: ({ + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + })[]; + rerequestable?: boolean; + runs_rerequestable?: boolean; + /** + * @description The summary status for all check runs that are part of the check suite. Can be `requested`, `in_progress`, or `completed`. + * @enum {string|null} + */ + status: "requested" | "in_progress" | "completed" | "queued" | "" | "pending" | null; /** Format: date-time */ updated_at: string; /** * Format: uri - * @description URL for the issue + * @description URL that points to the check suite API resource. */ url: string; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** code_scanning_alert appeared_in_branch event */ + "webhook-code-scanning-alert-appeared-in-branch": { + /** @enum {string} */ + action: "appeared_in_branch"; + /** @description The code scanning alert involved in the event. */ + alert: { + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string; + /** + * Format: date-time + * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + dismissed_at: OneOf<[string, null]>; /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>; - }) & ({ - active_lock_reason?: OneOf<[string, null]>; - /** User */ - assignee: OneOf<[{ + dismissed_by: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -23984,182 +19225,126 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; - assignees?: (OneOf<[Record, null]>)[]; - author_association?: string; - body?: OneOf<[string, null]>; - closed_at?: OneOf<[string, null]>; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; + /** + * @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. + * @enum {string|null} + */ + dismissed_reason: "false positive" | "won't fix" | "used in tests" | "" | null; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + instances?: (OneOf<[{ + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + classifications?: (string)[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; /** - * Format: uri - * @description URL for the label + * @description State of a code scanning alert. + * @enum {string} */ - url: string; - })[]; - labels_url?: string; - locked: boolean; - milestone?: OneOf<[Record, null]>; - node_id?: string; - number?: number; - performed_via_github_app?: OneOf<[Record, null]>; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; + state: "open" | "dismissed" | "fixed"; + }, null]>)[]; + /** Alert Instance */ + most_recent_instance?: OneOf<[{ + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + classifications?: (string)[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + }, null]>; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | "" | null; }; - repository_url?: string; /** - * @description State of the issue; either 'open' or 'closed' + * @description State of a code scanning alert. * @enum {string} */ - state: "open" | "closed"; - timeline_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; + state: "open" | "dismissed" | "fixed"; + tool: { + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: OneOf<[string, null]>; }; - }); + /** Format: uri */ + url: string; + }; + /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + commit_oid: string; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; organization?: components["schemas"]["organization-simple"]; + /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + ref: string; repository: components["schemas"]["repository"]; sender: components["schemas"]["simple-user"]; }; - /** issue_comment deleted event */ - "webhook-issue-comment-deleted": { + /** code_scanning_alert closed_by_user event */ + "webhook-code-scanning-alert-closed-by-user": { /** @enum {string} */ - action: "deleted"; - /** - * issue comment - * @description The [comment](https://docs.github.com/rest/reference/issues#comments) itself. - */ - comment: { + action: "closed_by_user"; + /** @description The code scanning alert involved in the event. */ + alert: { /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue comment */ - body: string; - /** Format: date-time */ created_at: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the issue comment */ - id: number; - /** Format: uri */ - issue_url: string; - node_id: string; - performed_via_github_app: null | components["schemas"]["integration"]; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: date-time */ - updated_at: string; /** - * Format: uri - * @description URL for the issue comment + * Format: date-time + * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - url: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>; - }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The [issue](https://docs.github.com/rest/reference/issues) the comment belongs to. */ - issue: ({ - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + dismissed_at: string; /** User */ - assignee?: OneOf<[{ + dismissed_by: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -24191,378 +19376,259 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; - assignees: (OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>)[]; /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} + * @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. + * @enum {string|null} + */ + dismissed_reason: "false positive" | "won't fix" | "used in tests" | "" | null; + /** + * Format: uri + * @description The GitHub URL of the alert resource. */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: OneOf<[string, null]>; - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ html_url: string; - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; + instances?: ((OneOf<[{ + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + classifications?: (string)[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; /** - * Format: uri - * @description URL for the label + * @description State of a code scanning alert. + * @enum {string} */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: OneOf<[{ - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; + state: "open" | "dismissed" | "fixed"; + }, null]>) & { /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>; - description: OneOf<[string, null]>; - /** Format: date-time */ - due_on: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; + state: "dismissed"; + })[]; + /** Alert Instance */ + most_recent_instance?: OneOf<[{ + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + classifications?: (string)[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; /** - * @description The state of the milestone. + * @description State of a code scanning alert. * @enum {string} */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; + state: "open" | "dismissed" | "fixed"; }, null]>; - node_id: string; + /** @description The code scanning alert number. */ number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + full_description?: string; + help?: OneOf<[string, null]>; + /** @description A link to the documentation for the rule used to detect the alert. */ + help_uri?: OneOf<[string, null]>; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | "" | null; + tags?: OneOf<[(string)[], null]>; + }; /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + * @description State of a code scanning alert. + * @enum {string} */ - performed_via_github_app?: OneOf<[{ - /** Format: date-time */ - created_at: OneOf<[string, null]>; - description: OneOf<[string, null]>; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; - /** Format: uri */ - external_url: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: OneOf<[number, null]>; - /** @description The name of the GitHub app */ + state: "dismissed" | "fixed"; + tool: { + guid?: OneOf<[string, null]>; + /** @description The name of the tool used to generate the code scanning analysis alert. */ name: string; - node_id: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; + /** @description The version of the tool used to detect the alert. */ + version: OneOf<[string, null]>; + }; + /** Format: uri */ + url: string; + }; + /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + commit_oid: string; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + ref: string; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** code_scanning_alert created event */ + "webhook-code-scanning-alert-created": { + /** @enum {string} */ + action: "created"; + /** @description The code scanning alert involved in the event. */ + alert: { + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: OneOf<[string, null]>; + /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + dismissed_at: null; + dismissed_by: null; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ + dismissed_reason: null; + fixed_at?: null; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + instances?: ((OneOf<[{ + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + classifications?: (string)[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + }, null]>) & ({ /** @enum {string} */ - workflows?: "read" | "write"; + state: "open" | "dismissed"; + }))[]; + instances_url?: string; + /** Alert Instance */ + most_recent_instance?: OneOf<[{ + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + classifications?: (string)[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: OneOf<[string, null]>; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; }, null]>; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: OneOf<[string, null]>; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + full_description?: string; + help?: OneOf<[string, null]>; + /** @description A link to the documentation for the rule used to detect the alert. */ + help_uri?: OneOf<[string, null]>; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | "" | null; + tags?: OneOf<[(string)[], null]>; }; - /** Format: uri */ - repository_url: string; /** - * @description State of the issue; either 'open' or 'closed' + * @description State of a code scanning alert. * @enum {string} */ - state?: "open" | "closed"; - state_reason?: OneOf<[string, null]>; + state: "open" | "dismissed"; + tool: OneOf<[{ + guid?: OneOf<[string, null]>; + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: OneOf<[string, null]>; + }, null]>; + updated_at?: OneOf<[string, null]>; /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; + url: string; + }; + /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + commit_oid: string; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + ref: string; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** code_scanning_alert fixed event */ + "webhook-code-scanning-alert-fixed": { + /** @enum {string} */ + action: "fixed"; + /** @description The code scanning alert involved in the event. */ + alert: { /** - * Format: uri - * @description URL for the issue + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` */ - url: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>; - }) & ({ - active_lock_reason?: OneOf<[string, null]>; + created_at: string; + /** + * Format: date-time + * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + dismissed_at: OneOf<[string, null]>; /** User */ - assignee: OneOf<[{ + dismissed_by: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -24594,103 +19660,359 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; - assignees?: (OneOf<[Record, null]>)[]; - author_association?: string; - body?: OneOf<[string, null]>; - closed_at?: OneOf<[string, null]>; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - labels_url?: string; - locked: boolean; - milestone?: OneOf<[Record, null]>; - node_id?: string; - number?: number; - performed_via_github_app?: OneOf<[Record, null]>; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; + /** + * @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. + * @enum {string|null} + */ + dismissed_reason: "false positive" | "won't fix" | "used in tests" | "" | null; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + instances?: ((OneOf<[{ + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + classifications?: (string)[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + }, null]>) & { + /** @enum {string} */ + state: "fixed"; + })[]; + /** Format: uri */ + instances_url?: string; + /** Alert Instance */ + most_recent_instance?: OneOf<[{ + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + classifications?: (string)[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + }, null]>; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + full_description?: string; + help?: OneOf<[string, null]>; + /** @description A link to the documentation for the rule used to detect the alert. */ + help_uri?: OneOf<[string, null]>; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | "" | null; + tags?: OneOf<[(string)[], null]>; }; - repository_url?: string; /** - * @description State of the issue; either 'open' or 'closed' + * @description State of a code scanning alert. * @enum {string} */ - state: "open" | "closed"; - timeline_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; + state: "fixed"; + tool: { + guid?: OneOf<[string, null]>; + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: OneOf<[string, null]>; }; - }); + /** Format: uri */ + url: string; + }; + /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + commit_oid: string; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; organization?: components["schemas"]["organization-simple"]; + /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + ref: string; repository: components["schemas"]["repository"]; sender: components["schemas"]["simple-user"]; }; - /** issue_comment edited event */ - "webhook-issue-comment-edited": { + /** code_scanning_alert reopened event */ + "webhook-code-scanning-alert-reopened": { /** @enum {string} */ - action: "edited"; - /** @description The changes to the comment. */ - changes: { - body?: { - /** @description The previous version of the body. */ - from: string; + action: "reopened"; + /** @description The code scanning alert involved in the event. */ + alert: OneOf<[{ + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string; + /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + dismissed_at: OneOf<[string, null]>; + dismissed_by: OneOf<[Record, null]>; + /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ + dismissed_reason: OneOf<[string, null]>; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + instances?: ((OneOf<[{ + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + classifications?: (string)[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + }, null]>) & { + /** @enum {string} */ + state: "open"; + })[]; + /** Alert Instance */ + most_recent_instance?: OneOf<[{ + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + classifications?: (string)[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + }, null]>; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + full_description?: string; + help?: OneOf<[string, null]>; + /** @description A link to the documentation for the rule used to detect the alert. */ + help_uri?: OneOf<[string, null]>; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | "" | null; + tags?: OneOf<[(string)[], null]>; + }; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + tool: { + guid?: OneOf<[string, null]>; + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: OneOf<[string, null]>; + }; + /** Format: uri */ + url: string; + }, null]>; + /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + commit_oid: OneOf<[string, null]>; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + ref: OneOf<[string, null]>; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** code_scanning_alert reopened_by_user event */ + "webhook-code-scanning-alert-reopened-by-user": { + /** @enum {string} */ + action: "reopened_by_user"; + /** @description The code scanning alert involved in the event. */ + alert: { + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string; + /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + dismissed_at: null; + dismissed_by: null; + /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ + dismissed_reason: null; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + instances?: ((OneOf<[{ + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + classifications?: (string)[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + }, null]>) & { + /** @enum {string} */ + state: "open"; + })[]; + /** Alert Instance */ + most_recent_instance?: OneOf<[{ + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + classifications?: (string)[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + }, null]>; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | "" | null; + }; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "fixed"; + tool: { + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: OneOf<[string, null]>; }; + /** Format: uri */ + url: string; }; + /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + commit_oid: string; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + ref: string; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** commit_comment created event */ + "webhook-commit-comment-created": { /** - * issue comment - * @description The [comment](https://docs.github.com/rest/reference/issues#comments) itself. + * @description The action performed. Can be `created`. + * @enum {string} */ + action: "created"; + /** @description The [commit comment](https://docs.github.com/rest/reference/repos#get-a-commit-comment) resource. */ comment: { /** * AuthorAssociation @@ -24698,20 +20020,25 @@ export interface components { * @enum {string} */ author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue comment */ + /** @description The text of the comment. */ body: string; - /** Format: date-time */ + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; created_at: string; /** Format: uri */ html_url: string; - /** @description Unique identifier of the issue comment */ + /** @description The ID of the commit comment. */ id: number; - /** Format: uri */ - issue_url: string; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line: OneOf<[number, null]>; + /** @description The node ID of the commit comment. */ node_id: string; - performed_via_github_app: null | components["schemas"]["integration"]; + /** @description The relative path of the file to which the comment applies. */ + path: OneOf<[string, null]>; + /** @description The line index in the diff to which the comment applies. */ + position: OneOf<[number, null]>; /** Reactions */ - reactions: { + reactions?: { "+1": number; "-1": number; confused: number; @@ -24724,12 +20051,8 @@ export interface components { /** Format: uri */ url: string; }; - /** Format: date-time */ updated_at: string; - /** - * Format: uri - * @description URL for the issue comment - */ + /** Format: uri */ url: string; /** User */ user: OneOf<[{ @@ -24764,202 +20087,209 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; }; enterprise?: components["schemas"]["enterprise"]; installation?: components["schemas"]["simple-installation"]; - /** @description The [issue](https://docs.github.com/rest/reference/issues) the comment belongs to. */ - issue: ({ - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; - /** User */ - assignee?: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>; - assignees: (OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: OneOf<[string, null]>; - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: OneOf<[{ - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>; - description: OneOf<[string, null]>; - /** Format: date-time */ - due_on: OneOf<[string, null]>; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** create event */ + "webhook-create": { + /** @description The repository's current description. */ + description: OneOf<[string, null]>; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The name of the repository's default branch (usually `main`). */ + master_branch: string; + organization?: components["schemas"]["organization-simple"]; + /** @description The pusher type for the event. Can be either `user` or a deploy key. */ + pusher_type: string; + /** @description The [`git ref`](https://docs.github.com/rest/reference/git#get-a-reference) resource. */ + ref: string; + /** + * @description The type of Git ref object created in the repository. + * @enum {string} + */ + ref_type: "tag" | "branch"; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** delete event */ + "webhook-delete": { + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + /** @description The pusher type for the event. Can be either `user` or a deploy key. */ + pusher_type: string; + /** @description The [`git ref`](https://docs.github.com/rest/reference/git#get-a-reference) resource. */ + ref: string; + /** + * @description The type of Git ref object deleted in the repository. + * @enum {string} + */ + ref_type: "tag" | "branch"; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** Dependabot alert created event */ + "webhook-dependabot-alert-created": { + /** @enum {string} */ + action: "created"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + enterprise?: components["schemas"]["enterprise"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** Dependabot alert dismissed event */ + "webhook-dependabot-alert-dismissed": { + /** @enum {string} */ + action: "dismissed"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + enterprise?: components["schemas"]["enterprise"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** Dependabot alert fixed event */ + "webhook-dependabot-alert-fixed": { + /** @enum {string} */ + action: "fixed"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + enterprise?: components["schemas"]["enterprise"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** Dependabot alert reintroduced event */ + "webhook-dependabot-alert-reintroduced": { + /** @enum {string} */ + action: "reintroduced"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + enterprise?: components["schemas"]["enterprise"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** Dependabot alert reopened event */ + "webhook-dependabot-alert-reopened": { + /** @enum {string} */ + action: "reopened"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + enterprise?: components["schemas"]["enterprise"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** deploy_key created event */ + "webhook-deploy-key-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The [`deploy key`](https://docs.github.com/rest/reference/deployments#get-a-deploy-key) resource. */ + key: { + added_by?: OneOf<[string, null]>; + created_at: string; + id: number; + key: string; + last_used?: OneOf<[string, null]>; + read_only: boolean; + title: string; + /** Format: uri */ + url: string; + verified: boolean; + }; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** deploy_key deleted event */ + "webhook-deploy-key-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The [`deploy key`](https://docs.github.com/rest/reference/deployments#get-a-deploy-key) resource. */ + key: { + added_by?: OneOf<[string, null]>; + created_at: string; + id: number; + key: string; + last_used?: OneOf<[string, null]>; + read_only: boolean; + title: string; + /** Format: uri */ + url: string; + verified: boolean; + }; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** deployment created event */ + "webhook-deployment-created": { + /** @enum {string} */ + action: "created"; + /** + * Deployment + * @description The [deployment](https://docs.github.com/rest/reference/deployments#list-deployments). + */ + deployment: { + created_at: string; + /** User */ + creator: OneOf<[{ /** Format: uri */ - html_url: string; + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; id: number; + login: string; + name?: string; + node_id?: string; /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; + organizations_url?: string; /** Format: uri */ - url: string; + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; }, null]>; + description: OneOf<[string, null]>; + environment: string; + id: number; node_id: string; - number: number; + original_environment: string; + payload: Record | string; /** * App * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. @@ -24969,7 +20299,7 @@ export interface components { created_at: OneOf<[string, null]>; description: OneOf<[string, null]>; /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "pull_request_review_thread")[]; + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "workflow_job" | "pull_request_review_thread" | "merge_queue_entry" | "secret_scanning_alert_location" | "merge_group")[]; /** Format: uri */ external_url: OneOf<[string, null]>; /** Format: uri */ @@ -25053,7 +20383,7 @@ export interface components { /** @enum {string} */ organization_plan?: "read" | "write"; /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; + organization_projects?: "read" | "write"; /** @enum {string} */ organization_secrets?: "read" | "write"; /** @enum {string} */ @@ -25094,53 +20424,46 @@ export interface components { /** Format: date-time */ updated_at: OneOf<[string, null]>; }, null]>; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: OneOf<[string, null]>; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; + production_environment?: boolean; + ref: string; /** Format: uri */ repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: OneOf<[string, null]>; + sha: string; /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; + statuses_url: string; + task: string; + transient_environment?: boolean; + updated_at: string; + /** Format: uri */ + url: string; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + /** Workflow */ + workflow: OneOf<[{ + /** Format: uri */ + badge_url: string; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + html_url: string; + id: number; + name: string; + node_id: string; + path: string; + state: string; /** Format: date-time */ updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ + /** Format: uri */ url: string; + }, null]>; + /** Deployment Workflow Run */ + workflow_run: OneOf<[{ /** User */ - user: OneOf<[{ + actor: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -25172,182 +20495,294 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; - }) & ({ - active_lock_reason?: OneOf<[string, null]>; - /** User */ - assignee: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ + artifacts_url?: string; + cancel_url?: string; + check_suite_id: number; + check_suite_node_id: string; + check_suite_url?: string; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | "" | null; + /** Format: date-time */ + created_at: string; + display_title: string; + event: string; + head_branch: string; + head_commit?: null; + head_repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: null; + downloads_url?: string; events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; html_url?: string; - id: number; - login: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; name?: string; node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; url?: string; - }, null]>; - assignees?: (OneOf<[Record, null]>)[]; - author_association?: string; - body?: OneOf<[string, null]>; - closed_at?: OneOf<[string, null]>; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + jobs_url?: string; + logs_url?: string; + name: string; + node_id: string; + path: string; + previous_attempt_url?: null; + pull_requests: ({ + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ + number: number; + /** Format: uri */ url: string; })[]; - labels_url?: string; - locked: boolean; - milestone?: OneOf<[Record, null]>; - node_id?: string; - number?: number; - performed_via_github_app?: OneOf<[Record, null]>; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; + referenced_workflows?: OneOf<[({ + path: string; + ref?: string; + sha: string; + })[], null]>; + repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; url?: string; }; - repository_url?: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state: "open" | "closed"; - timeline_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { + rerun_url?: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: "requested" | "in_progress" | "completed" | "queued" | "waiting" | "pending"; + /** User */ + triggering_actor?: OneOf<[{ + /** Format: uri */ avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ events_url?: string; + /** Format: uri */ followers_url?: string; + /** Format: uri-template */ following_url?: string; + /** Format: uri-template */ gists_url?: string; gravatar_id?: string; + /** Format: uri */ html_url?: string; - id?: number; - login?: string; + id: number; + login: string; + name?: string; node_id?: string; + /** Format: uri */ organizations_url?: string; + /** Format: uri */ received_events_url?: string; + /** Format: uri */ repos_url?: string; site_admin?: boolean; + /** Format: uri-template */ starred_url?: string; + /** Format: uri */ subscriptions_url?: string; - type?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ url?: string; - }; - }); - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** issues assigned event */ - "webhook-issues-assigned": { - /** - * @description The action that was performed. - * @enum {string} - */ - action: "assigned"; - /** User */ - assignee?: OneOf<[{ + }, null]>; + /** Format: date-time */ + updated_at: string; /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; + url: string; + workflow_id: number; + workflow_url?: string; + }, null]>; + }; + /** deployment_status created event */ + "webhook-deployment-status-created": { + /** @enum {string} */ + action: "created"; + check_run?: OneOf<[{ + /** Format: date-time */ + completed_at: OneOf<[string, null]>; + /** + * @description The result of the completed check run. Can be one of `success`, `failure`, `neutral`, `cancelled`, `timed_out`, `action_required` or `stale`. This value will be `null` until the check run has completed. + * @enum {string|null} + */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | "skipped" | "" | null; /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + details_url: string; + external_id: string; + /** @description The SHA of the commit that is being checked. */ + head_sha: string; /** Format: uri */ - html_url?: string; + html_url: string; + /** @description The id of the check. */ id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + /** @description The name of the check run. */ + name: string; + node_id: string; + /** Format: date-time */ + started_at: string; + /** + * @description The current status of the check run. Can be `queued`, `in_progress`, or `completed`. + * @enum {string} + */ + status: "queued" | "in_progress" | "completed" | "waiting" | "pending"; /** Format: uri */ - url?: string; + url: string; }, null]>; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; /** - * Issue - * @description The [issue](https://docs.github.com/rest/reference/issues) itself. + * Deployment + * @description The [deployment](https://docs.github.com/rest/reference/deployments#list-deployments). */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + deployment: { + created_at: string; /** User */ - assignee?: OneOf<[{ + creator: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -25379,97 +20814,37 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; - assignees: (OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: OneOf<[string, null]>; - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; + description: OneOf<[string, null]>; + environment: string; id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; + node_id: string; + original_environment: string; + payload: string | Record; /** - * Milestone - * @description A collection of related issues and pull requests. + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. */ - milestone: OneOf<[{ - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - closed_issues: number; + performed_via_github_app?: OneOf<[{ /** Format: date-time */ - created_at: string; + created_at: OneOf<[string, null]>; + description: OneOf<[string, null]>; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "merge_queue_entry" | "workflow_job" | "pull_request_review_thread" | "secret_scanning_alert_location" | "merge_group")[]; + /** Format: uri */ + external_url: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: OneOf<[number, null]>; + /** @description The name of the GitHub app */ + name: string; + node_id: string; /** User */ - creator: OneOf<[{ + owner: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -25501,36 +20876,152 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; - description: OneOf<[string, null]>; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; /** Format: date-time */ - due_on: OneOf<[string, null]>; + updated_at: OneOf<[string, null]>; + }, null]>; + production_environment?: boolean; + ref: string; + /** Format: uri */ + repository_url: string; + sha: string; + /** Format: uri */ + statuses_url: string; + task: string; + transient_environment?: boolean; + updated_at: string; + /** Format: uri */ + url: string; + }; + /** @description The [deployment status](https://docs.github.com/rest/reference/deployments#list-deployment-statuses). */ + deployment_status: { + created_at: string; + /** User */ + creator: OneOf<[{ /** Format: uri */ - html_url: string; + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; id: number; + login: string; + name?: string; + node_id?: string; /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; + organizations_url?: string; /** Format: uri */ - url: string; + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; }, null]>; + /** Format: uri */ + deployment_url: string; + /** @description The optional human-readable description added to the status. */ + description: string; + environment: string; + /** Format: uri */ + environment_url?: string; + id: number; + /** Format: uri */ + log_url?: string; node_id: string; - number: number; /** * App * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. @@ -25540,7 +21031,7 @@ export interface components { created_at: OneOf<[string, null]>; description: OneOf<[string, null]>; /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "pull_request_review_thread")[]; + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "merge_queue_entry" | "workflow_job" | "merge_group" | "secret_scanning_alert_location")[]; /** Format: uri */ external_url: OneOf<[string, null]>; /** Format: uri */ @@ -25624,7 +21115,7 @@ export interface components { /** @enum {string} */ organization_plan?: "read" | "write"; /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; + organization_projects?: "read" | "write"; /** @enum {string} */ organization_secrets?: "read" | "write"; /** @enum {string} */ @@ -25665,53 +21156,43 @@ export interface components { /** Format: date-time */ updated_at: OneOf<[string, null]>; }, null]>; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: OneOf<[string, null]>; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; /** Format: uri */ repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: OneOf<[string, null]>; + /** @description The new state. Can be `pending`, `success`, `failure`, or `error`. */ + state: string; + /** @description The optional link added to the status. */ + target_url: string; + updated_at: string; /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; + url: string; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + /** Workflow */ + workflow?: OneOf<[{ + /** Format: uri */ + badge_url: string; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + html_url: string; + id: number; + name: string; + node_id: string; + path: string; + state: string; /** Format: date-time */ updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ + /** Format: uri */ url: string; + }, null]>; + /** Deployment Workflow Run */ + workflow_run?: OneOf<[{ /** User */ - user: OneOf<[{ + actor: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -25743,30 +21224,209 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; - }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** issues closed event */ - "webhook-issues-closed": { - /** - * @description The action that was performed. - * @enum {string} - */ - action: "closed"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The [issue](https://docs.github.com/rest/reference/issues) itself. */ - issue: ({ + artifacts_url?: string; + cancel_url?: string; + check_suite_id: number; + check_suite_node_id: string; + check_suite_url?: string; /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | "" | "startup_failure" | null; + /** Format: date-time */ + created_at: string; + display_title: string; + event: string; + head_branch: string; + head_commit?: null; + head_repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + jobs_url?: string; + logs_url?: string; + name: string; + node_id: string; + path: string; + previous_attempt_url?: null; + pull_requests: ({ + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + })[]; + referenced_workflows?: OneOf<[({ + path: string; + ref?: string; + sha: string; + })[], null]>; + repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + rerun_url?: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: "requested" | "in_progress" | "completed" | "queued" | "waiting" | "pending"; /** User */ - assignee?: OneOf<[{ + triggering_actor: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -25798,306 +21458,164 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; - assignees: (OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>)[]; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + workflow_url?: string; + }, null]>; + }; + /** discussion answered event */ + "webhook-discussion-answered": { + /** @enum {string} */ + action: "answered"; + answer: { /** * AuthorAssociation * @description How the author is associated with the repository. * @enum {string} */ author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: OneOf<[string, null]>; - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - comments: number; - /** Format: uri */ - comments_url: string; + body: string; + child_comment_count: number; /** Format: date-time */ created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ + discussion_id: number; html_url: string; id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: OneOf<[{ - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>; - description: OneOf<[string, null]>; - /** Format: date-time */ - due_on: OneOf<[string, null]>; + node_id: string; + parent_id: null; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; /** Format: uri */ - html_url: string; + url: string; + }; + repository_url: string; + /** Format: date-time */ + updated_at: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; id: number; + login: string; + name?: string; + node_id?: string; /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; + organizations_url?: string; /** Format: uri */ - url: string; + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; }, null]>; - node_id: string; - number: number; + }; + discussion: ({ + active_lock_reason: OneOf<[string, null]>; + answer_chosen_at: OneOf<[string, null]>; + /** User */ + answer_chosen_by: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + answer_html_url: OneOf<[string, null]>; /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} */ - performed_via_github_app?: OneOf<[{ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + body: string; + category: { /** Format: date-time */ - created_at: OneOf<[string, null]>; - description: OneOf<[string, null]>; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "security_and_analysis" | "reminder" | "pull_request_review_thread")[]; - /** Format: uri */ - external_url: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: OneOf<[number, null]>; - /** @description The name of the GitHub app */ + created_at: string; + description: string; + emoji: string; + id: number; + is_answerable: boolean; name: string; - node_id: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: OneOf<[string, null]>; - }, null]>; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: OneOf<[string, null]>; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; + node_id?: string; + repository_id: number; + slug: string; + updated_at: string; }; + comments: number; + /** Format: date-time */ + created_at: string; + html_url: string; + id: number; + locked: boolean; + node_id: string; + number: number; /** Reactions */ - reactions: { + reactions?: { "+1": number; "-1": number; confused: number; @@ -26110,25 +21628,13 @@ export interface components { /** Format: uri */ url: string; }; - /** Format: uri */ repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: OneOf<[string, null]>; - /** Format: uri */ + /** @enum {string} */ + state: "open" | "locked" | "converting" | "transferring"; timeline_url?: string; - /** @description Title of the issue */ title: string; /** Format: date-time */ updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; /** User */ user: OneOf<[{ /** Format: uri */ @@ -26162,30 +21668,75 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; }) & ({ active_lock_reason?: OneOf<[string, null]>; - assignee?: OneOf<[Record, null]>; - assignees?: (OneOf<[Record, null]>)[]; + /** Format: date-time */ + answer_chosen_at: string; + /** User */ + answer_chosen_by: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** Format: uri */ + answer_html_url: string; author_association?: string; - body?: OneOf<[string, null]>; - closed_at: OneOf<[string, null]>; + body?: string; + category: { + created_at?: string; + description?: string; + emoji?: string; + id?: number; + /** @enum {boolean} */ + is_answerable: true; + name?: string; + node_id?: string; + repository_id?: number; + slug?: string; + updated_at?: string; + }; comments?: number; - comments_url?: string; created_at?: string; - events_url?: string; html_url?: string; id?: number; - labels?: (OneOf<[Record, null]>)[]; - labels_url?: string; locked?: boolean; - milestone?: OneOf<[Record, null]>; node_id?: string; number?: number; - performed_via_github_app?: OneOf<[Record, null]>; reactions?: { "+1"?: number; "-1"?: number; @@ -26199,12 +21750,10 @@ export interface components { url?: string; }; repository_url?: string; - /** @enum {string} */ - state: "closed" | "open"; + state?: string; timeline_url?: string; title?: string; updated_at?: string; - url?: string; user?: { avatar_url?: string; events_url?: string; @@ -26226,25 +21775,39 @@ export interface components { url?: string; }; }); + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; organization?: components["schemas"]["organization-simple"]; repository: components["schemas"]["repository"]; sender: components["schemas"]["simple-user"]; }; - /** issues deleted event */ - "webhook-issues-deleted": { + /** discussion category changed event */ + "webhook-discussion-category-changed": { /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/reference/issues) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + action: "category_changed"; + changes: { + category: { + from: { + /** Format: date-time */ + created_at: string; + description: string; + emoji: string; + id: number; + is_answerable: boolean; + name: string; + node_id?: string; + repository_id: number; + slug: string; + updated_at: string; + }; + }; + }; + /** Discussion */ + discussion: { + active_lock_reason: OneOf<[string, null]>; + answer_chosen_at: OneOf<[string, null]>; /** User */ - assignee?: OneOf<[{ + answer_chosen_by: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -26280,300 +21843,119 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - assignees: (OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>)[]; + answer_html_url: OneOf<[string, null]>; /** * AuthorAssociation * @description How the author is associated with the repository. * @enum {string} */ author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: OneOf<[string, null]>; - /** Format: date-time */ - closed_at: OneOf<[string, null]>; + body: string; + category: { + /** Format: date-time */ + created_at: string; + description: string; + emoji: string; + id: number; + is_answerable: boolean; + name: string; + node_id?: string; + repository_id: number; + slug: string; + updated_at: string; + }; comments: number; - /** Format: uri */ - comments_url: string; /** Format: date-time */ created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ html_url: string; id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: OneOf<[{ - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - description: OneOf<[string, null]>; - /** Format: date-time */ - due_on: OneOf<[string, null]>; + locked: boolean; + node_id: string; + number: number; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; /** Format: uri */ - html_url: string; + url: string; + }; + repository_url: string; + /** @enum {string} */ + state: "open" | "locked" | "converting" | "transferring"; + timeline_url?: string; + title: string; + /** Format: date-time */ + updated_at: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; id: number; + login: string; + name?: string; + node_id?: string; /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; + organizations_url?: string; /** Format: uri */ - url: string; + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; }, null]>; - node_id: string; - number: number; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion_comment created event */ + "webhook-discussion-comment-created": { + /** @enum {string} */ + action: "created"; + comment: { /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} */ - performed_via_github_app?: OneOf<[{ - /** Format: date-time */ - created_at: OneOf<[string, null]>; - description: OneOf<[string, null]>; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder")[]; - /** Format: uri */ - external_url: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: OneOf<[number, null]>; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: OneOf<[string, null]>; - }, null]>; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: OneOf<[string, null]>; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + body: string; + child_comment_count: number; + created_at: string; + discussion_id: number; + html_url: string; + id: number; + node_id: string; + parent_id: OneOf<[number, null]>; /** Reactions */ reactions: { "+1": number; @@ -26588,25 +21970,8 @@ export interface components { /** Format: uri */ url: string; }; - /** Format: uri */ repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: OneOf<[string, null]>; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; /** User */ user: OneOf<[{ /** Format: uri */ @@ -26645,21 +22010,12 @@ export interface components { url?: string; }, null]>; }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** issues demilestoned event */ - "webhook-issues-demilestoned": { - /** @enum {string} */ - action: "demilestoned"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - issue: ({ - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + /** Discussion */ + discussion: { + active_lock_reason: OneOf<[string, null]>; + answer_chosen_at: OneOf<[string, null]>; /** User */ - assignee?: OneOf<[{ + answer_chosen_by: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -26691,306 +22047,41 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; - assignees: (OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>)[]; + answer_html_url: OneOf<[string, null]>; /** * AuthorAssociation * @description How the author is associated with the repository. * @enum {string} */ author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ body: OneOf<[string, null]>; - /** Format: date-time */ - closed_at: OneOf<[string, null]>; + category: { + /** Format: date-time */ + created_at: string; + description: string; + emoji: string; + id: number; + is_answerable: boolean; + name: string; + node_id?: string; + repository_id: number; + slug: string; + updated_at: string; + }; comments: number; - /** Format: uri */ - comments_url: string; /** Format: date-time */ created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ html_url: string; id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: OneOf<[{ - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>; - description: OneOf<[string, null]>; - /** Format: date-time */ - due_on: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }, null]>; + locked: boolean; node_id: string; number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: OneOf<[{ - /** Format: date-time */ - created_at: OneOf<[string, null]>; - description: OneOf<[string, null]>; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; - /** Format: uri */ - external_url: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: OneOf<[number, null]>; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: OneOf<[string, null]>; - }, null]>; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: OneOf<[string, null]>; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; /** Reactions */ - reactions: { + reactions?: { "+1": number; "-1": number; confused: number; @@ -27003,25 +22094,13 @@ export interface components { /** Format: uri */ url: string; }; - /** Format: uri */ repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: OneOf<[string, null]>; - /** Format: uri */ + /** @enum {string} */ + state: "open" | "locked" | "converting" | "transferring"; timeline_url?: string; - /** @description Title of the issue */ title: string; /** Format: date-time */ updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; /** User */ user: OneOf<[{ /** Format: uri */ @@ -27055,151 +22134,96 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; - }) & ({ - active_lock_reason?: OneOf<[string, null]>; - assignee?: OneOf<[Record, null]>; - assignees?: (OneOf<[Record, null]>)[]; - author_association?: string; - body?: OneOf<[string, null]>; - closed_at?: OneOf<[string, null]>; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels?: (OneOf<[Record, null]>)[]; - labels_url?: string; - locked?: boolean; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion_comment deleted event */ + "webhook-discussion-comment-deleted": { + /** @enum {string} */ + action: "deleted"; + comment: { /** - * Milestone - * @description A collection of related issues and pull requests. + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} */ - milestone: OneOf<[{ - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>; - description: OneOf<[string, null]>; - /** Format: date-time */ - due_on: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + body: string; + child_comment_count: number; + created_at: string; + discussion_id: number; + html_url: string; + id: number; + node_id: string; + parent_id: OneOf<[number, null]>; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; /** Format: uri */ url: string; - }, null]>; - node_id?: string; - number?: number; - performed_via_github_app?: OneOf<[Record, null]>; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; }; - repository_url?: string; - state?: string; - timeline_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { + repository_url: string; + updated_at: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ events_url?: string; + /** Format: uri */ followers_url?: string; + /** Format: uri-template */ following_url?: string; + /** Format: uri-template */ gists_url?: string; gravatar_id?: string; + /** Format: uri */ html_url?: string; - id?: number; - login?: string; + id: number; + login: string; + name?: string; node_id?: string; + /** Format: uri */ organizations_url?: string; + /** Format: uri */ received_events_url?: string; + /** Format: uri */ repos_url?: string; site_admin?: boolean; + /** Format: uri-template */ starred_url?: string; + /** Format: uri */ subscriptions_url?: string; - type?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ url?: string; - }; - }); - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone?: { - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - closed_issues: number; - /** Format: date-time */ - created_at: string; + }, null]>; + }; + /** Discussion */ + discussion: { + active_lock_reason: OneOf<[string, null]>; + answer_chosen_at: OneOf<[string, null]>; /** User */ - creator: OneOf<[{ + answer_chosen_by: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -27231,64 +22255,188 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; - description: OneOf<[string, null]>; + answer_html_url: OneOf<[string, null]>; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + body: string; + category: { + /** Format: date-time */ + created_at: string; + description: string; + emoji: string; + id: number; + is_answerable: boolean; + name: string; + node_id?: string; + repository_id: number; + slug: string; + updated_at: string; + }; + comments: number; /** Format: date-time */ - due_on: OneOf<[string, null]>; - /** Format: uri */ + created_at: string; html_url: string; id: number; - /** Format: uri */ - labels_url: string; + locked: boolean; node_id: string; - /** @description The number of the milestone. */ number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + repository_url: string; + /** @enum {string} */ + state: "open" | "locked" | "converting" | "transferring"; + timeline_url?: string; title: string; /** Format: date-time */ updated_at: string; - /** Format: uri */ - url: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; organization?: components["schemas"]["organization-simple"]; repository: components["schemas"]["repository"]; sender: components["schemas"]["simple-user"]; }; - /** issues edited event */ - "webhook-issues-edited": { + /** discussion_comment edited event */ + "webhook-discussion-comment-edited": { /** @enum {string} */ action: "edited"; - /** @description The changes to the issue. */ changes: { - body?: { - /** @description The previous version of the body. */ + body: { from: string; }; - title?: { - /** @description The previous version of the title. */ - from: string; + }; + comment: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + body: string; + child_comment_count: number; + created_at: string; + discussion_id: number; + html_url: string; + id: number; + node_id: string; + parent_id: OneOf<[number, null]>; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; }; + repository_url: string; + updated_at: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/reference/issues) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + /** Discussion */ + discussion: { + active_lock_reason: OneOf<[string, null]>; + answer_chosen_at: OneOf<[string, null]>; /** User */ - assignee?: OneOf<[{ + answer_chosen_by: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -27320,306 +22468,41 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; - assignees: (OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>)[]; + answer_html_url: OneOf<[string, null]>; /** * AuthorAssociation * @description How the author is associated with the repository. * @enum {string} */ author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ body: OneOf<[string, null]>; - /** Format: date-time */ - closed_at: OneOf<[string, null]>; + category: { + /** Format: date-time */ + created_at: string; + description: string; + emoji: string; + id: number; + is_answerable: boolean; + name: string; + node_id?: string; + repository_id: number; + slug: string; + updated_at: string; + }; comments: number; - /** Format: uri */ - comments_url: string; /** Format: date-time */ created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ html_url: string; id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: OneOf<[{ - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>; - description: OneOf<[string, null]>; - /** Format: date-time */ - due_on: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }, null]>; + locked: boolean; node_id: string; number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: OneOf<[{ - /** Format: date-time */ - created_at: OneOf<[string, null]>; - description: OneOf<[string, null]>; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "security_and_analysis" | "pull_request_review_thread" | "reminder")[]; - /** Format: uri */ - external_url: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: OneOf<[number, null]>; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: OneOf<[string, null]>; - }, null]>; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: OneOf<[string, null]>; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; /** Reactions */ - reactions: { + reactions?: { "+1": number; "-1": number; confused: number; @@ -27632,25 +22515,13 @@ export interface components { /** Format: uri */ url: string; }; - /** Format: uri */ repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: OneOf<[string, null]>; - /** Format: uri */ + /** @enum {string} */ + state: "open" | "locked" | "converting" | "transferring"; timeline_url?: string; - /** @description Title of the issue */ title: string; /** Format: date-time */ updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; /** User */ user: OneOf<[{ /** Format: uri */ @@ -27684,46 +22555,26 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; }; - /** Label */ - label?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; organization?: components["schemas"]["organization-simple"]; repository: components["schemas"]["repository"]; sender: components["schemas"]["simple-user"]; }; - /** issues labeled event */ - "webhook-issues-labeled": { + /** discussion created event */ + "webhook-discussion-created": { /** @enum {string} */ - action: "labeled"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/reference/issues) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + action: "created"; + discussion: ({ + active_lock_reason: OneOf<[string, null]>; + answer_chosen_at: OneOf<[string, null]>; /** User */ - assignee?: OneOf<[{ + answer_chosen_by: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -27755,306 +22606,41 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; - assignees: (OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>)[]; + answer_html_url: OneOf<[string, null]>; /** * AuthorAssociation * @description How the author is associated with the repository. * @enum {string} */ author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ body: OneOf<[string, null]>; - /** Format: date-time */ - closed_at: OneOf<[string, null]>; + category: { + /** Format: date-time */ + created_at: string; + description: string; + emoji: string; + id: number; + is_answerable: boolean; + name: string; + node_id?: string; + repository_id: number; + slug: string; + updated_at: string; + }; comments: number; - /** Format: uri */ - comments_url: string; /** Format: date-time */ created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ html_url: string; id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: OneOf<[{ - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>; - description: OneOf<[string, null]>; - /** Format: date-time */ - due_on: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }, null]>; + locked: boolean; node_id: string; number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: OneOf<[{ - /** Format: date-time */ - created_at: OneOf<[string, null]>; - description: OneOf<[string, null]>; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "reminder")[]; - /** Format: uri */ - external_url: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: OneOf<[number, null]>; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: OneOf<[string, null]>; - }, null]>; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: OneOf<[string, null]>; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; /** Reactions */ - reactions: { + reactions?: { "+1": number; "-1": number; confused: number; @@ -28067,25 +22653,13 @@ export interface components { /** Format: uri */ url: string; }; - /** Format: uri */ repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: OneOf<[string, null]>; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ + /** @enum {string} */ + state: "open" | "locked" | "converting" | "transferring"; + timeline_url?: string; title: string; /** Format: date-time */ updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; /** User */ user: OneOf<[{ /** Format: uri */ @@ -28119,42 +22693,92 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; - }; - /** Label */ - label?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }; + }) & ({ + active_lock_reason?: null; + answer_chosen_at: null; + answer_chosen_by: null; + answer_html_url: OneOf<[string, null]>; + author_association?: string; + body?: OneOf<[string, null]>; + category?: { + created_at?: string; + description?: string; + emoji?: string; + id?: number; + is_answerable?: boolean; + name?: string; + node_id?: string; + repository_id?: number; + slug?: string; + updated_at?: string; + }; + comments?: number; + created_at?: string; + html_url?: string; + id?: number; + /** @enum {boolean} */ + locked: false; + node_id?: string; + number?: number; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + /** @enum {string} */ + state: "open" | "converting" | "transferring"; + timeline_url?: string; + title?: string; + updated_at?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + }); + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; organization?: components["schemas"]["organization-simple"]; repository: components["schemas"]["repository"]; sender: components["schemas"]["simple-user"]; }; - /** issues locked event */ - "webhook-issues-locked": { + /** discussion deleted event */ + "webhook-discussion-deleted": { /** @enum {string} */ - action: "locked"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - issue: ({ - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + action: "deleted"; + /** Discussion */ + discussion: { + active_lock_reason: OneOf<[string, null]>; + answer_chosen_at: OneOf<[string, null]>; /** User */ - assignee?: OneOf<[{ + answer_chosen_by: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -28190,302 +22814,37 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - assignees: (OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>)[]; + answer_html_url: OneOf<[string, null]>; /** * AuthorAssociation * @description How the author is associated with the repository. * @enum {string} */ author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: OneOf<[string, null]>; - /** Format: date-time */ - closed_at: OneOf<[string, null]>; + body: string; + category: { + /** Format: date-time */ + created_at: string; + description: string; + emoji: string; + id: number; + is_answerable: boolean; + name: string; + node_id?: string; + repository_id: number; + slug: string; + updated_at: string; + }; comments: number; - /** Format: uri */ - comments_url: string; /** Format: date-time */ created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ html_url: string; id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: OneOf<[{ - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - description: OneOf<[string, null]>; - /** Format: date-time */ - due_on: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }, null]>; + locked: boolean; node_id: string; number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: OneOf<[{ - /** Format: date-time */ - created_at: OneOf<[string, null]>; - description: OneOf<[string, null]>; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "security_and_analysis")[]; - /** Format: uri */ - external_url: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: OneOf<[number, null]>; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: OneOf<[string, null]>; - }, null]>; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: OneOf<[string, null]>; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; /** Reactions */ - reactions: { + reactions?: { "+1": number; "-1": number; confused: number; @@ -28498,25 +22857,13 @@ export interface components { /** Format: uri */ url: string; }; - /** Format: uri */ repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: OneOf<[string, null]>; - /** Format: uri */ + /** @enum {string} */ + state: "open" | "locked" | "converting" | "transferring"; timeline_url?: string; - /** @description Title of the issue */ title: string; /** Format: date-time */ updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; /** User */ user: OneOf<[{ /** Format: uri */ @@ -28554,82 +22901,170 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - }) & ({ - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; - assignee?: OneOf<[Record, null]>; - assignees?: (OneOf<[Record, null]>)[]; - author_association?: string; - body?: OneOf<[string, null]>; - closed_at?: OneOf<[string, null]>; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels?: (OneOf<[Record, null]>)[]; - labels_url?: string; - /** @enum {boolean} */ - locked: true; - milestone?: OneOf<[Record, null]>; - node_id?: string; - number?: number; - performed_via_github_app?: OneOf<[Record, null]>; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion edited event */ + "webhook-discussion-edited": { + /** @enum {string} */ + action: "edited"; + changes?: { + body?: { + from: string; }; - repository_url?: string; - state?: string; - timeline_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { + title?: { + from: string; + }; + }; + /** Discussion */ + discussion: { + active_lock_reason: OneOf<[string, null]>; + answer_chosen_at: OneOf<[string, null]>; + /** User */ + answer_chosen_by: OneOf<[{ + /** Format: uri */ avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ events_url?: string; + /** Format: uri */ followers_url?: string; + /** Format: uri-template */ following_url?: string; + /** Format: uri-template */ gists_url?: string; gravatar_id?: string; + /** Format: uri */ html_url?: string; - id?: number; - login?: string; + id: number; + login: string; + name?: string; node_id?: string; + /** Format: uri */ organizations_url?: string; + /** Format: uri */ received_events_url?: string; + /** Format: uri */ repos_url?: string; site_admin?: boolean; + /** Format: uri-template */ starred_url?: string; + /** Format: uri */ subscriptions_url?: string; - type?: string; - url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + answer_html_url: OneOf<[string, null]>; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + body: string; + category: { + /** Format: date-time */ + created_at: string; + description: string; + emoji: string; + id: number; + is_answerable: boolean; + name: string; + node_id?: string; + repository_id: number; + slug: string; + updated_at: string; }; - }); + comments: number; + /** Format: date-time */ + created_at: string; + html_url: string; + id: number; + locked: boolean; + node_id: string; + number: number; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + repository_url: string; + /** @enum {string} */ + state: "open" | "locked" | "converting" | "transferring"; + timeline_url?: string; + title: string; + /** Format: date-time */ + updated_at: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; organization?: components["schemas"]["organization-simple"]; repository: components["schemas"]["repository"]; sender: components["schemas"]["simple-user"]; }; - /** issues milestoned event */ - "webhook-issues-milestoned": { + /** discussion labeled event */ + "webhook-discussion-labeled": { /** @enum {string} */ - action: "milestoned"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - issue: ({ - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + action: "labeled"; + /** Discussion */ + discussion: { + active_lock_reason: OneOf<[string, null]>; + answer_chosen_at: OneOf<[string, null]>; /** User */ - assignee?: OneOf<[{ + answer_chosen_by: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -28665,302 +23100,37 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - assignees: (OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>)[]; + answer_html_url: OneOf<[string, null]>; /** * AuthorAssociation * @description How the author is associated with the repository. * @enum {string} */ author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ body: OneOf<[string, null]>; - /** Format: date-time */ - closed_at: OneOf<[string, null]>; + category: { + /** Format: date-time */ + created_at: string; + description: string; + emoji: string; + id: number; + is_answerable: boolean; + name: string; + node_id?: string; + repository_id: number; + slug: string; + updated_at: string; + }; comments: number; - /** Format: uri */ - comments_url: string; /** Format: date-time */ created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ html_url: string; id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: OneOf<[{ - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>; - description: OneOf<[string, null]>; - /** Format: date-time */ - due_on: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }, null]>; + locked: boolean; node_id: string; number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: OneOf<[{ - /** Format: date-time */ - created_at: OneOf<[string, null]>; - description: OneOf<[string, null]>; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder")[]; - /** Format: uri */ - external_url: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: OneOf<[number, null]>; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: OneOf<[string, null]>; - }, null]>; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: OneOf<[string, null]>; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; /** Reactions */ - reactions: { + reactions?: { "+1": number; "-1": number; confused: number; @@ -28973,27 +23143,82 @@ export interface components { /** Format: uri */ url: string; }; - /** Format: uri */ repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: OneOf<[string, null]>; - /** Format: uri */ + /** @enum {string} */ + state: "open" | "locked" | "converting" | "transferring"; timeline_url?: string; - /** @description Title of the issue */ title: string; /** Format: date-time */ updated_at: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + /** Label */ + label: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; /** * Format: uri - * @description URL for the issue + * @description URL for the label */ url: string; + }; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion locked event */ + "webhook-discussion-locked": { + /** @enum {string} */ + action: "locked"; + discussion: ({ + active_lock_reason: OneOf<[string, null]>; + answer_chosen_at: OneOf<[string, null]>; /** User */ - user: OneOf<[{ + answer_chosen_by: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -29029,96 +23254,120 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - }) & ({ - active_lock_reason?: OneOf<[string, null]>; - assignee?: OneOf<[Record, null]>; - assignees?: (OneOf<[Record, null]>)[]; - author_association?: string; - body?: OneOf<[string, null]>; - closed_at?: OneOf<[string, null]>; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels?: (OneOf<[Record, null]>)[]; - labels_url?: string; - locked?: boolean; + answer_html_url: OneOf<[string, null]>; /** - * Milestone - * @description A collection of related issues and pull requests. + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} */ - milestone: { - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - closed_issues: number; + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + body: string; + category: { /** Format: date-time */ created_at: string; - /** User */ - creator: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>; - description: OneOf<[string, null]>; - /** Format: date-time */ - due_on: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; + description: string; + emoji: string; id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ + is_answerable: boolean; + name: string; + node_id?: string; + repository_id: number; + slug: string; updated_at: string; + }; + comments: number; + /** Format: date-time */ + created_at: string; + html_url: string; + id: number; + locked: boolean; + node_id: string; + number: number; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; /** Format: uri */ url: string; }; + repository_url: string; + /** @enum {string} */ + state: "open" | "locked" | "converting" | "transferring"; + timeline_url?: string; + title: string; + /** Format: date-time */ + updated_at: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }) & { + active_lock_reason?: string; + answer_chosen_at?: OneOf<[string, null]>; + answer_chosen_by?: OneOf<[Record, null]>; + answer_html_url?: OneOf<[string, null]>; + author_association?: string; + body?: string; + category?: { + created_at?: string; + description?: string; + emoji?: string; + id?: number; + is_answerable?: boolean; + name?: string; + node_id?: string; + repository_id?: number; + slug?: string; + updated_at?: string; + }; + comments?: number; + created_at?: string; + html_url?: string; + id?: number; + /** @enum {boolean} */ + locked: true; node_id?: string; number?: number; - performed_via_github_app?: OneOf<[Record, null]>; reactions?: { "+1"?: number; "-1"?: number; @@ -29132,11 +23381,11 @@ export interface components { url?: string; }; repository_url?: string; - state?: string; + /** @enum {string} */ + state: "locked"; timeline_url?: string; title?: string; updated_at?: string; - url?: string; user?: { avatar_url?: string; events_url?: string; @@ -29157,19 +23406,23 @@ export interface components { type?: string; url?: string; }; - }); - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - closed_issues: number; - /** Format: date-time */ - created_at: string; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion pinned event */ + "webhook-discussion-pinned": { + /** @enum {string} */ + action: "pinned"; + /** Discussion */ + discussion: { + active_lock_reason: OneOf<[string, null]>; + answer_chosen_at: OneOf<[string, null]>; /** User */ - creator: OneOf<[{ + answer_chosen_by: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -29201,52 +23454,115 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; - description: OneOf<[string, null]>; + answer_html_url: OneOf<[string, null]>; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + body: string; + category: { + /** Format: date-time */ + created_at: string; + description: string; + emoji: string; + id: number; + is_answerable: boolean; + name: string; + node_id?: string; + repository_id: number; + slug: string; + updated_at: string; + }; + comments: number; /** Format: date-time */ - due_on: OneOf<[string, null]>; - /** Format: uri */ + created_at: string; html_url: string; id: number; - /** Format: uri */ - labels_url: string; + locked: boolean; node_id: string; - /** @description The number of the milestone. */ number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + repository_url: string; + /** @enum {string} */ + state: "open" | "locked" | "converting" | "transferring"; + timeline_url?: string; title: string; /** Format: date-time */ updated_at: string; - /** Format: uri */ - url: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; organization?: components["schemas"]["organization-simple"]; repository: components["schemas"]["repository"]; sender: components["schemas"]["simple-user"]; }; - /** issues opened event */ - "webhook-issues-opened": { + /** discussion transferred event */ + "webhook-discussion-transferred": { /** @enum {string} */ - action: "opened"; - changes?: { - /** - * Issue - * @description The [issue](https://docs.github.com/rest/reference/issues) itself. - */ - old_issue: OneOf<[{ - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + action: "transferred"; + changes: { + /** Discussion */ + new_discussion: { + active_lock_reason: OneOf<[string, null]>; + answer_chosen_at: OneOf<[string, null]>; /** User */ - assignee?: OneOf<[{ + answer_chosen_by: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -29282,354 +23598,77 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - assignees: (OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>)[]; + answer_html_url: OneOf<[string, null]>; /** * AuthorAssociation * @description How the author is associated with the repository. * @enum {string} */ author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: OneOf<[string, null]>; - /** Format: date-time */ - closed_at: OneOf<[string, null]>; + body: string; + category: { + /** Format: date-time */ + created_at: string; + description: string; + emoji: string; + id: number; + is_answerable: boolean; + name: string; + node_id?: string; + repository_id: number; + slug: string; + updated_at: string; + }; comments: number; - /** Format: uri */ - comments_url: string; /** Format: date-time */ created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ html_url: string; id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: OneOf<[{ - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - description: OneOf<[string, null]>; - /** Format: date-time */ - due_on: OneOf<[string, null]>; + locked: boolean; + node_id: string; + number: number; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; /** Format: uri */ - html_url: string; - id: number; + url: string; + }; + repository_url: string; + /** @enum {string} */ + state: "open" | "locked" | "converting" | "transferring"; + timeline_url?: string; + title: string; + /** Format: date-time */ + updated_at: string; + /** User */ + user: OneOf<[{ /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; /** Format: uri */ - url: string; - }, null]>; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: OneOf<[{ - /** Format: date-time */ - created_at: OneOf<[string, null]>; - description: OneOf<[string, null]>; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; /** Format: uri */ - external_url: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: OneOf<[number, null]>; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: OneOf<[string, null]>; - }, null]>; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: OneOf<[string, null]>; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: OneOf<[string, null]>; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; /** Format: uri */ organizations_url?: string; /** Format: uri */ @@ -29646,12 +23685,12 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - }, null]>; + }; /** * Repository * @description A git repository */ - old_repository: { + new_repository: { /** * @description Whether to allow auto-merge for pull requests. * @default false @@ -29754,6 +23793,11 @@ export interface components { * @default true */ has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; homepage: OneOf<[string, null]>; /** Format: uri */ hooks_url: string; @@ -29881,15 +23925,16 @@ export interface components { visibility: "public" | "private" | "internal"; watchers: number; watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; }; }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - issue: ({ - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + /** Discussion */ + discussion: { + active_lock_reason: OneOf<[string, null]>; + answer_chosen_at: OneOf<[string, null]>; /** User */ - assignee?: OneOf<[{ + answer_chosen_by: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -29925,302 +23970,37 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - assignees: (OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>)[]; + answer_html_url: OneOf<[string, null]>; /** * AuthorAssociation * @description How the author is associated with the repository. * @enum {string} */ author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: OneOf<[string, null]>; - /** Format: date-time */ - closed_at: OneOf<[string, null]>; + body: string; + category: { + /** Format: date-time */ + created_at: string; + description: string; + emoji: string; + id: number; + is_answerable: boolean; + name: string; + node_id?: string; + repository_id: number; + slug: string; + updated_at: string; + }; comments: number; - /** Format: uri */ - comments_url: string; /** Format: date-time */ created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ html_url: string; id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: OneOf<[{ - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>; - description: OneOf<[string, null]>; - /** Format: date-time */ - due_on: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }, null]>; + locked: boolean; node_id: string; number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: OneOf<[{ - /** Format: date-time */ - created_at: OneOf<[string, null]>; - description: OneOf<[string, null]>; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "security_and_analysis" | "pull_request_review_thread" | "reminder")[]; - /** Format: uri */ - external_url: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: OneOf<[number, null]>; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: OneOf<[string, null]>; - }, null]>; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: OneOf<[string, null]>; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; /** Reactions */ - reactions: { + reactions?: { "+1": number; "-1": number; confused: number; @@ -30233,25 +24013,13 @@ export interface components { /** Format: uri */ url: string; }; - /** Format: uri */ repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: OneOf<[string, null]>; - /** Format: uri */ + /** @enum {string} */ + state: "open" | "locked" | "converting" | "transferring"; timeline_url?: string; - /** @description Title of the issue */ title: string; /** Format: date-time */ updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; /** User */ user: OneOf<[{ /** Format: uri */ @@ -30289,85 +24057,22 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - }) & ({ - active_lock_reason?: OneOf<[string, null]>; - assignee?: OneOf<[Record, null]>; - assignees?: (OneOf<[Record, null]>)[]; - author_association?: string; - body?: OneOf<[string, null]>; - closed_at: OneOf<[string, null]>; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels?: (OneOf<[Record, null]>)[]; - labels_url?: string; - locked?: boolean; - milestone?: OneOf<[Record, null]>; - node_id?: string; - number?: number; - performed_via_github_app?: OneOf<[Record, null]>; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - /** @enum {string} */ - state: "open" | "closed"; - timeline_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }); + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; organization?: components["schemas"]["organization-simple"]; repository: components["schemas"]["repository"]; sender: components["schemas"]["simple-user"]; }; - /** issues pinned event */ - "webhook-issues-pinned": { + /** discussion unanswered event */ + "webhook-discussion-unanswered": { /** @enum {string} */ - action: "pinned"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/reference/issues) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + action: "unanswered"; + discussion: ({ + active_lock_reason: OneOf<[string, null]>; + answer_chosen_at: OneOf<[string, null]>; /** User */ - assignee?: OneOf<[{ + answer_chosen_by: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -30403,302 +24108,37 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - assignees: (OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>)[]; + answer_html_url: OneOf<[string, null]>; /** * AuthorAssociation * @description How the author is associated with the repository. * @enum {string} */ author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: OneOf<[string, null]>; - /** Format: date-time */ - closed_at: OneOf<[string, null]>; + body: string; + category: { + /** Format: date-time */ + created_at: string; + description: string; + emoji: string; + id: number; + is_answerable: boolean; + name: string; + node_id?: string; + repository_id: number; + slug: string; + updated_at: string; + }; comments: number; - /** Format: uri */ - comments_url: string; /** Format: date-time */ created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ html_url: string; id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: OneOf<[{ - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - description: OneOf<[string, null]>; - /** Format: date-time */ - due_on: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }, null]>; + locked: boolean; node_id: string; number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: OneOf<[{ - /** Format: date-time */ - created_at: OneOf<[string, null]>; - description: OneOf<[string, null]>; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; - /** Format: uri */ - external_url: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: OneOf<[number, null]>; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: OneOf<[string, null]>; - }, null]>; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: OneOf<[string, null]>; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; /** Reactions */ - reactions: { + reactions?: { "+1": number; "-1": number; confused: number; @@ -30711,25 +24151,13 @@ export interface components { /** Format: uri */ url: string; }; - /** Format: uri */ repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: OneOf<[string, null]>; - /** Format: uri */ + /** @enum {string} */ + state: "open" | "locked" | "converting" | "transferring"; timeline_url?: string; - /** @description Title of the issue */ title: string; /** Format: date-time */ updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; /** User */ user: OneOf<[{ /** Format: uri */ @@ -30767,353 +24195,224 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** issues reopened event */ - "webhook-issues-reopened": { - /** @enum {string} */ - action: "reopened"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - issue: ({ - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; - /** User */ - assignee?: OneOf<[{ - /** Format: uri */ + }) & { + active_lock_reason?: OneOf<[string, null]>; + answer_chosen_at: null; + answer_chosen_by: null; + answer_html_url: OneOf<[string, null]>; + author_association?: string; + body?: string; + category: { + created_at?: string; + description?: string; + emoji?: string; + id?: number; + /** @enum {boolean} */ + is_answerable: true; + name?: string; + node_id?: string; + repository_id?: number; + slug?: string; + updated_at?: string; + }; + comments?: number; + created_at?: string; + html_url?: string; + id?: number; + locked?: boolean; + node_id?: string; + number?: number; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + state?: string; + timeline_url?: string; + title?: string; + updated_at?: string; + user?: { avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ events_url?: string; - /** Format: uri */ followers_url?: string; - /** Format: uri-template */ following_url?: string; - /** Format: uri-template */ gists_url?: string; gravatar_id?: string; - /** Format: uri */ html_url?: string; - id: number; - login: string; - name?: string; + id?: number; + login?: string; node_id?: string; - /** Format: uri */ organizations_url?: string; - /** Format: uri */ received_events_url?: string; - /** Format: uri */ repos_url?: string; site_admin?: boolean; - /** Format: uri-template */ starred_url?: string; - /** Format: uri */ subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ + type?: string; url?: string; - }, null]>; - assignees: (OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>)[]; + }; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + old_answer: { /** * AuthorAssociation * @description How the author is associated with the repository. * @enum {string} */ author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: OneOf<[string, null]>; - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - comments: number; - /** Format: uri */ - comments_url: string; + body: string; + child_comment_count: number; /** Format: date-time */ created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ + discussion_id: number; html_url: string; id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: OneOf<[{ - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>; - description: OneOf<[string, null]>; - /** Format: date-time */ - due_on: OneOf<[string, null]>; + node_id: string; + parent_id: null; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; /** Format: uri */ - html_url: string; + url: string; + }; + repository_url: string; + /** Format: date-time */ + updated_at: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; id: number; + login: string; + name?: string; + node_id?: string; /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; + organizations_url?: string; /** Format: uri */ - url: string; - }, null]>; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: OneOf<[{ - /** Format: date-time */ - created_at: OneOf<[string, null]>; - description: OneOf<[string, null]>; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "reminder")[]; + received_events_url?: string; /** Format: uri */ - external_url: OneOf<[string, null]>; + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: OneOf<[number, null]>; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: OneOf<[string, null]>; + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; }, null]>; - pull_request?: { + }; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender?: components["schemas"]["simple-user"]; + }; + /** discussion unlabeled event */ + "webhook-discussion-unlabeled": { + /** @enum {string} */ + action: "unlabeled"; + /** Discussion */ + discussion: { + active_lock_reason: OneOf<[string, null]>; + answer_chosen_at: OneOf<[string, null]>; + /** User */ + answer_chosen_by: OneOf<[{ /** Format: uri */ - diff_url?: string; + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; /** Format: uri */ html_url?: string; - /** Format: date-time */ - merged_at?: OneOf<[string, null]>; + id: number; + login: string; + name?: string; + node_id?: string; /** Format: uri */ - patch_url?: string; + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; + }, null]>; + answer_html_url: OneOf<[string, null]>; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + body: string; + category: { + /** Format: date-time */ + created_at: string; + description: string; + emoji: string; + id: number; + is_answerable: boolean; + name: string; + node_id?: string; + repository_id: number; + slug: string; + updated_at: string; }; + comments: number; + /** Format: date-time */ + created_at: string; + html_url: string; + id: number; + locked: boolean; + node_id: string; + number: number; /** Reactions */ - reactions: { + reactions?: { "+1": number; "-1": number; confused: number; @@ -31126,25 +24425,13 @@ export interface components { /** Format: uri */ url: string; }; - /** Format: uri */ repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: OneOf<[string, null]>; - /** Format: uri */ + /** @enum {string} */ + state: "open" | "locked" | "converting" | "transferring"; timeline_url?: string; - /** @description Title of the issue */ title: string; /** Format: date-time */ updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; /** User */ user: OneOf<[{ /** Format: uri */ @@ -31178,742 +24465,333 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; - }) & ({ - active_lock_reason?: OneOf<[string, null]>; - assignee?: OneOf<[Record, null]>; - assignees?: (OneOf<[Record, null]>)[]; - author_association?: string; - body?: OneOf<[string, null]>; - closed_at?: OneOf<[string, null]>; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels?: (OneOf<[Record, null]>)[]; - labels_url?: string; - locked?: boolean; - milestone?: OneOf<[Record, null]>; - node_id?: string; - number?: number; - performed_via_github_app?: OneOf<[Record, null]>; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - /** @enum {string} */ - state: "open" | "closed"; - timeline_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + /** Label */ + label: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion unlocked event */ + "webhook-discussion-unlocked": { + /** @enum {string} */ + action: "unlocked"; + discussion: ({ + active_lock_reason: OneOf<[string, null]>; + answer_chosen_at: OneOf<[string, null]>; + /** User */ + answer_chosen_by: OneOf<[{ + /** Format: uri */ avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ events_url?: string; + /** Format: uri */ followers_url?: string; + /** Format: uri-template */ following_url?: string; + /** Format: uri-template */ gists_url?: string; gravatar_id?: string; + /** Format: uri */ html_url?: string; - id?: number; - login?: string; + id: number; + login: string; + name?: string; node_id?: string; + /** Format: uri */ organizations_url?: string; + /** Format: uri */ received_events_url?: string; + /** Format: uri */ repos_url?: string; site_admin?: boolean; + /** Format: uri-template */ starred_url?: string; + /** Format: uri */ subscriptions_url?: string; - type?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ url?: string; - }; - }); - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** issues transferred event */ - "webhook-issues-transferred": { - /** @enum {string} */ - action: "transferred"; - changes: { + }, null]>; + answer_html_url: OneOf<[string, null]>; /** - * Issue - * @description The [issue](https://docs.github.com/rest/reference/issues) itself. + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} */ - new_issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; - /** User */ - assignee?: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - assignees: (OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: OneOf<[string, null]>; - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - comments: number; - /** Format: uri */ - comments_url: string; + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + body: string; + category: { /** Format: date-time */ created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; + description: string; + emoji: string; id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: OneOf<[{ - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - description: OneOf<[string, null]>; - /** Format: date-time */ - due_on: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }, null]>; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: OneOf<[{ - /** Format: date-time */ - created_at: OneOf<[string, null]>; - description: OneOf<[string, null]>; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; - /** Format: uri */ - external_url: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: OneOf<[number, null]>; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: OneOf<[string, null]>; - }, null]>; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: OneOf<[string, null]>; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: OneOf<[string, null]>; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ + is_answerable: boolean; + name: string; + node_id?: string; + repository_id: number; + slug: string; updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ + }; + comments: number; + /** Format: date-time */ + created_at: string; + html_url: string; + id: number; + locked: boolean; + node_id: string; + number: number; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ url: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; }; - /** - * Repository - * @description A git repository - */ - new_repository: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; + repository_url: string; + /** @enum {string} */ + state: "open" | "locked" | "converting" | "transferring"; + timeline_url?: string; + title: string; + /** Format: date-time */ + updated_at: string; + /** User */ + user: OneOf<[{ /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; /** Format: uri-template */ - commits_url: string; + events_url?: string; + /** Format: uri */ + followers_url?: string; /** Format: uri-template */ - compare_url: string; + following_url?: string; /** Format: uri-template */ - contents_url: string; + gists_url?: string; + gravatar_id?: string; /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; /** Format: uri */ - deployments_url: string; - description: OneOf<[string, null]>; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; + organizations_url?: string; /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; + received_events_url?: string; /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; + repos_url?: string; + site_admin?: boolean; /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: OneOf<[string, null]>; - /** Format: uri */ - hooks_url: string; + starred_url?: string; /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: OneOf<[string, null]>; + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; /** Format: uri */ - languages_url: string; - /** License */ - license: OneOf<[{ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: OneOf<[string, null]>; - }, null]>; - master_branch?: string; + url?: string; + }, null]>; + }) & { + active_lock_reason?: null; + answer_chosen_at?: null; + answer_chosen_by?: null; + answer_html_url?: null; + author_association?: string; + body?: string; + category?: { + created_at?: string; + description?: string; + emoji?: string; + id?: number; + is_answerable?: boolean; + name?: string; + node_id?: string; + repository_id?: number; + slug?: string; + updated_at?: string; + }; + comments?: number; + created_at?: string; + html_url?: string; + id?: number; + /** @enum {boolean} */ + locked: false; + node_id?: string; + number?: number; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + /** @enum {string} */ + state: "open"; + timeline_url?: string; + title?: string; + updated_at?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion unpinned event */ + "webhook-discussion-unpinned": { + /** @enum {string} */ + action: "unpinned"; + /** Discussion */ + discussion: { + active_lock_reason: OneOf<[string, null]>; + answer_chosen_at: OneOf<[string, null]>; + /** User */ + answer_chosen_by: OneOf<[{ /** Format: uri */ - merges_url: string; + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; /** Format: uri-template */ - milestones_url: string; + events_url?: string; /** Format: uri */ - mirror_url: OneOf<[string, null]>; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; + followers_url?: string; /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string; + following_url?: string; /** Format: uri-template */ - releases_url: string; - role_name?: OneOf<[string, null]>; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; + gists_url?: string; + gravatar_id?: string; /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; /** Format: uri */ - subscribers_url: string; + organizations_url?: string; /** Format: uri */ - subscription_url: string; + received_events_url?: string; /** Format: uri */ - svn_url: string; + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; /** Format: uri */ - tags_url: string; + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; /** Format: uri */ - teams_url: string; - topics: (string)[]; - /** Format: uri-template */ - trees_url: string; + url?: string; + }, null]>; + answer_html_url: OneOf<[string, null]>; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + body: string; + category: { /** Format: date-time */ + created_at: string; + description: string; + emoji: string; + id: number; + is_answerable: boolean; + name: string; + node_id?: string; + repository_id: number; + slug: string; updated_at: string; + }; + comments: number; + /** Format: date-time */ + created_at: string; + html_url: string; + id: number; + locked: boolean; + node_id: string; + number: number; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; /** Format: uri */ url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; }; - }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/reference/issues) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + repository_url: string; + /** @enum {string} */ + state: "open" | "locked" | "converting" | "transferring"; + timeline_url?: string; + title: string; + /** Format: date-time */ + updated_at: string; /** User */ - assignee?: OneOf<[{ + user: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -31949,335 +24827,170 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - assignees: (OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>)[]; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** + * fork event + * @description A user forks a repository. + */ + "webhook-fork": { + enterprise?: components["schemas"]["enterprise"]; + /** @description The created [`repository`](https://docs.github.com/rest/reference/repos#get-a-repository) resource. */ + forkee: ({ /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} + * @description Whether to allow auto-merge for pull requests. + * @default false */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: OneOf<[string, null]>; - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - comments: number; + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: OneOf<[string, null]>; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; /** Format: uri */ events_url: string; + fork: boolean; + forks: number; + forks_count: number; /** Format: uri */ - html_url: string; - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; + forks_url: string; + full_name: string; /** Format: uri-template */ - labels_url: string; - locked?: boolean; + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; /** - * Milestone - * @description A collection of related issues and pull requests. + * @description Whether downloads are enabled. + * @default true */ - milestone: OneOf<[{ - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - description: OneOf<[string, null]>; - /** Format: date-time */ - due_on: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }, null]>; - node_id: string; - number: number; + has_downloads: boolean; /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + * @description Whether issues are enabled. + * @default true */ - performed_via_github_app?: OneOf<[{ - /** Format: date-time */ - created_at: OneOf<[string, null]>; - description: OneOf<[string, null]>; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; - /** Format: uri */ - external_url: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: OneOf<[number, null]>; - /** @description The name of the GitHub app */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: OneOf<[string, null]>; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: OneOf<[string, null]>; + /** Format: uri */ + languages_url: string; + /** License */ + license: OneOf<[{ + key: string; name: string; node_id: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: OneOf<[string, null]>; - }, null]>; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: OneOf<[string, null]>; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; + spdx_id: string; /** Format: uri */ - url: string; - }; + url: OneOf<[string, null]>; + }, null]>; + master_branch?: string; /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: OneOf<[string, null]>; + merges_url: string; + /** Format: uri-template */ + milestones_url: string; /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; + mirror_url: OneOf<[string, null]>; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; /** User */ - user: OneOf<[{ + owner: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -32313,20 +25026,217 @@ export interface components { /** Format: uri */ url?: string; }, null]>; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: OneOf<[string, null]>; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: (string)[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }) & { + allow_forking?: boolean; + archive_url?: string; + archived?: boolean; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + clone_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + created_at?: string; + default_branch?: string; + deployments_url?: string; + description?: OneOf<[string, null]>; + disabled?: boolean; + downloads_url?: string; + events_url?: string; + /** @enum {boolean} */ + fork?: true; + forks?: number; + forks_count?: number; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + has_downloads?: boolean; + has_issues?: boolean; + has_pages?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + homepage?: OneOf<[string, null]>; + hooks_url?: string; + html_url?: string; + id?: number; + is_template?: boolean; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + language?: null; + languages_url?: string; + license?: OneOf<[Record, null]>; + merges_url?: string; + milestones_url?: string; + mirror_url?: null; + name?: string; + node_id?: string; + notifications_url?: string; + open_issues?: number; + open_issues_count?: number; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + public?: boolean; + pulls_url?: string; + pushed_at?: string; + releases_url?: string; + size?: number; + ssh_url?: string; + stargazers_count?: number; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + svn_url?: string; + tags_url?: string; + teams_url?: string; + topics?: (null)[]; + trees_url?: string; + updated_at?: string; + url?: string; + visibility?: string; + watchers?: number; + watchers_count?: number; }; + installation?: components["schemas"]["simple-installation"]; organization?: components["schemas"]["organization-simple"]; repository: components["schemas"]["repository"]; sender: components["schemas"]["simple-user"]; }; - /** issues unassigned event */ - "webhook-issues-unassigned": { - /** - * @description The action that was performed. - * @enum {string} - */ - action: "unassigned"; + /** github_app_authorization revoked event */ + "webhook-github-app-authorization-revoked": { + /** @enum {string} */ + action: "revoked"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository?: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** gollum event */ + "webhook-gollum": { + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + /** @description The pages that were updated. */ + pages: ({ + /** + * @description The action that was performed on the page. Can be `created` or `edited`. + * @enum {string} + */ + action: "created" | "edited"; + /** + * Format: uri + * @description Points to the HTML wiki page. + */ + html_url: string; + /** @description The name of the page. */ + page_name: string; + /** @description The latest commit SHA of the page. */ + sha: string; + summary: OneOf<[string, null]>; + /** @description The current page title. */ + title: string; + })[]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** installation created event */ + "webhook-installation-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple"]; + /** @description An array of repository objects that the installation can access. */ + repositories?: ({ + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + })[]; + repository?: components["schemas"]["repository"]; /** User */ - assignee?: OneOf<[{ + requester?: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -32358,30 +25268,405 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; + sender: components["schemas"]["simple-user"]; + }; + /** installation deleted event */ + "webhook-installation-deleted": { + /** @enum {string} */ + action: "deleted"; enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/reference/issues) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; - /** User */ - assignee?: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple"]; + /** @description An array of repository objects that the installation can access. */ + repositories?: ({ + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + })[]; + repository?: components["schemas"]["repository"]; + requester?: null; + sender: components["schemas"]["simple-user"]; + }; + /** installation new_permissions_accepted event */ + "webhook-installation-new-permissions-accepted": { + /** @enum {string} */ + action: "new_permissions_accepted"; + enterprise?: components["schemas"]["enterprise"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple"]; + /** @description An array of repository objects that the installation can access. */ + repositories?: ({ + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + })[]; + repository?: components["schemas"]["repository"]; + requester?: null; + sender: components["schemas"]["simple-user"]; + }; + /** installation_repositories added event */ + "webhook-installation-repositories-added": { + /** @enum {string} */ + action: "added"; + enterprise?: components["schemas"]["enterprise"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple"]; + /** @description An array of repository objects, which were added to the installation. */ + repositories_added: ({ + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + })[]; + /** @description An array of repository objects, which were removed from the installation. */ + repositories_removed: ({ + full_name?: string; + /** @description Unique identifier of the repository */ + id?: number; + /** @description The name of the repository. */ + name?: string; + node_id?: string; + /** @description Whether the repository is private or public. */ + private?: boolean; + })[]; + repository?: components["schemas"]["repository"]; + /** + * @description Describe whether all repositories have been selected or there's a selection involved + * @enum {string} + */ + repository_selection: "all" | "selected"; + /** User */ + requester: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + sender: components["schemas"]["simple-user"]; + }; + /** installation_repositories removed event */ + "webhook-installation-repositories-removed": { + /** @enum {string} */ + action: "removed"; + enterprise?: components["schemas"]["enterprise"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple"]; + /** @description An array of repository objects, which were added to the installation. */ + repositories_added: ({ + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + })[]; + /** @description An array of repository objects, which were removed from the installation. */ + repositories_removed: ({ + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + })[]; + repository?: components["schemas"]["repository"]; + /** + * @description Describe whether all repositories have been selected or there's a selection involved + * @enum {string} + */ + repository_selection: "all" | "selected"; + /** User */ + requester: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + sender: components["schemas"]["simple-user"]; + }; + /** installation suspend event */ + "webhook-installation-suspend": { + /** @enum {string} */ + action: "suspend"; + enterprise?: components["schemas"]["enterprise"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple"]; + /** @description An array of repository objects that the installation can access. */ + repositories?: ({ + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + })[]; + repository?: components["schemas"]["repository"]; + requester?: null; + sender: components["schemas"]["simple-user"]; + }; + "webhook-installation-target-renamed": { + account: { + avatar_url: string; + created_at?: string; + description?: null; + events_url?: string; + followers?: number; + followers_url?: string; + following?: number; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + has_organization_projects?: boolean; + has_repository_projects?: boolean; + hooks_url?: string; + html_url: string; + id: number; + is_verified?: boolean; + issues_url?: string; + login?: string; + members_url?: string; + name?: string; + node_id: string; + organizations_url?: string; + public_gists?: number; + public_members_url?: string; + public_repos?: number; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + slug?: string; + starred_url?: string; + subscriptions_url?: string; + type?: string; + updated_at?: string; + url?: string; + website_url?: null; + }; + action: string; + changes: { + login?: { + from: string; + }; + slug?: { + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise"]; + installation: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository?: components["schemas"]["repository"]; + sender?: components["schemas"]["simple-user"]; + target_type: string; + }; + /** installation unsuspend event */ + "webhook-installation-unsuspend": { + /** @enum {string} */ + action: "unsuspend"; + enterprise?: components["schemas"]["enterprise"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple"]; + /** @description An array of repository objects that the installation can access. */ + repositories?: ({ + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + })[]; + repository?: components["schemas"]["repository"]; + requester?: null; + sender: components["schemas"]["simple-user"]; + }; + /** issue_comment created event */ + "webhook-issue-comment-created": { + /** @enum {string} */ + action: "created"; + /** + * issue comment + * @description The [comment](https://docs.github.com/rest/reference/issues#comments) itself. + */ + comment: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue comment */ + body: string; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the issue comment */ + id: number; + /** Format: uri */ + issue_url: string; + node_id: string; + performed_via_github_app: null | components["schemas"]["integration"]; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue comment + */ + url: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The [issue](https://docs.github.com/rest/reference/issues) the comment belongs to. */ + issue: ({ + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + /** User */ + assignee?: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ following_url?: string; /** Format: uri-template */ gists_url?: string; @@ -32665,7 +25950,7 @@ export interface components { /** @enum {string} */ repository_hooks?: "read" | "write"; /** @enum {string} */ - repository_projects?: "read" | "write"; + repository_projects?: "read" | "write" | "admin"; /** @enum {string} */ secret_scanning_alerts?: "read" | "write"; /** @enum {string} */ @@ -32772,26 +26057,10 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** issues unlabeled event */ - "webhook-issues-unlabeled": { - /** @enum {string} */ - action: "unlabeled"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/reference/issues) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + }) & ({ + active_lock_reason?: OneOf<[string, null]>; /** User */ - assignee?: OneOf<[{ + assignee: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -32827,64 +26096,17 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - assignees: (OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: OneOf<[string, null]>; - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - id: number; - labels?: ({ + assignees?: (OneOf<[Record, null]>)[]; + author_association?: string; + body?: OneOf<[string, null]>; + closed_at?: OneOf<[string, null]>; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels: ({ /** @description 6-character hex code, without the leading #, identifying the color */ color: string; default: boolean; @@ -32899,228 +26121,86 @@ export interface components { */ url: string; })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; + labels_url?: string; + locked: boolean; + milestone?: OneOf<[Record, null]>; + node_id?: string; + number?: number; + performed_via_github_app?: OneOf<[Record, null]>; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; /** - * Milestone - * @description A collection of related issues and pull requests. + * @description State of the issue; either 'open' or 'closed' + * @enum {string} */ - milestone: OneOf<[{ - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>; - description: OneOf<[string, null]>; - /** Format: date-time */ - due_on: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }, null]>; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: OneOf<[{ - /** Format: date-time */ - created_at: OneOf<[string, null]>; - description: OneOf<[string, null]>; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "pull_request_review_thread")[]; - /** Format: uri */ - external_url: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: OneOf<[number, null]>; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: OneOf<[string, null]>; - }, null]>; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ + state: "open" | "closed"; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; html_url?: string; - /** Format: date-time */ - merged_at?: OneOf<[string, null]>; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; url?: string; }; + }); + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** issue_comment deleted event */ + "webhook-issue-comment-deleted": { + /** @enum {string} */ + action: "deleted"; + /** + * issue comment + * @description The [comment](https://docs.github.com/rest/reference/issues#comments) itself. + */ + comment: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue comment */ + body: string; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the issue comment */ + id: number; + /** Format: uri */ + issue_url: string; + node_id: string; + performed_via_github_app: null | components["schemas"]["integration"]; /** Reactions */ reactions: { "+1": number; @@ -33135,23 +26215,11 @@ export interface components { /** Format: uri */ url: string; }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: OneOf<[string, null]>; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; /** Format: date-time */ updated_at: string; /** * Format: uri - * @description URL for the issue + * @description URL for the issue comment */ url: string; /** User */ @@ -33192,32 +26260,9 @@ export interface components { url?: string; }, null]>; }; - /** Label */ - label?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** issues unlocked event */ - "webhook-issues-unlocked": { - /** @enum {string} */ - action: "unlocked"; enterprise?: components["schemas"]["enterprise"]; installation?: components["schemas"]["simple-installation"]; + /** @description The [issue](https://docs.github.com/rest/reference/issues) the comment belongs to. */ issue: ({ /** @enum {string|null} */ active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; @@ -33254,7 +26299,7 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>; @@ -33290,7 +26335,7 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>)[]; @@ -33376,7 +26421,7 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>; @@ -33618,13 +26663,49 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + }) & ({ + active_lock_reason?: OneOf<[string, null]>; + /** User */ + assignee: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>; - }) & { - active_lock_reason: null; - assignee?: OneOf<[Record, null]>; assignees?: (OneOf<[Record, null]>)[]; author_association?: string; body?: OneOf<[string, null]>; @@ -33635,14 +26716,27 @@ export interface components { events_url?: string; html_url?: string; id?: number; - labels?: (OneOf<[Record, null]>)[]; + labels: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + })[]; labels_url?: string; - /** @enum {boolean} */ - locked: false; + locked: boolean; milestone?: OneOf<[Record, null]>; node_id?: string; number?: number; - performed_via_github_app?: null; + performed_via_github_app?: OneOf<[Record, null]>; reactions?: { "+1"?: number; "-1"?: number; @@ -33656,7 +26750,11 @@ export interface components { url?: string; }; repository_url?: string; - state?: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; timeline_url?: string; title?: string; updated_at?: string; @@ -33681,22 +26779,108 @@ export interface components { type?: string; url?: string; }; - }; + }); organization?: components["schemas"]["organization-simple"]; repository: components["schemas"]["repository"]; sender: components["schemas"]["simple-user"]; }; - /** issues unpinned event */ - "webhook-issues-unpinned": { + /** issue_comment edited event */ + "webhook-issue-comment-edited": { /** @enum {string} */ - action: "unpinned"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; + action: "edited"; + /** @description The changes to the comment. */ + changes: { + body?: { + /** @description The previous version of the body. */ + from: string; + }; + }; /** - * Issue - * @description The [issue](https://docs.github.com/rest/reference/issues) itself. + * issue comment + * @description The [comment](https://docs.github.com/rest/reference/issues#comments) itself. */ - issue: { + comment: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue comment */ + body: string; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the issue comment */ + id: number; + /** Format: uri */ + issue_url: string; + node_id: string; + performed_via_github_app: null | components["schemas"]["integration"]; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue comment + */ + url: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The [issue](https://docs.github.com/rest/reference/issues) the comment belongs to. */ + issue: ({ /** @enum {string|null} */ active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; /** User */ @@ -33732,7 +26916,7 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>; @@ -33768,7 +26952,7 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>)[]; @@ -33854,7 +27038,7 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>; @@ -33893,7 +27077,7 @@ export interface components { created_at: OneOf<[string, null]>; description: OneOf<[string, null]>; /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "pull_request_review_thread")[]; /** Format: uri */ external_url: OneOf<[string, null]>; /** Format: uri */ @@ -33977,7 +27161,7 @@ export interface components { /** @enum {string} */ organization_plan?: "read" | "write"; /** @enum {string} */ - organization_projects?: "read" | "write"; + organization_projects?: "read" | "write" | "admin"; /** @enum {string} */ organization_secrets?: "read" | "write"; /** @enum {string} */ @@ -34096,1059 +27280,965 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>; - }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** label created event */ - "webhook-label-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - /** Label */ - label: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; - }; - /** label deleted event */ - "webhook-label-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - /** Label */ - label: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** label edited event */ - "webhook-label-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the label if the action was `edited`. */ - changes?: { - color?: { - /** @description The previous version of the color if the action was `edited`. */ - from: string; - }; - description?: { - /** @description The previous version of the description if the action was `edited`. */ - from: string; - }; - name?: { - /** @description The previous version of the name if the action was `edited`. */ - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - /** Label */ - label: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** marketplace_purchase cancelled event */ - "webhook-marketplace-purchase-cancelled": { - /** @enum {string} */ - action: "cancelled"; - effective_date: string; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - marketplace_purchase: { - account: { + }) & ({ + active_lock_reason?: OneOf<[string, null]>; + /** User */ + assignee: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; id: number; login: string; - node_id: string; - organization_billing_email: OneOf<[string, null]>; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: OneOf<[string, null]>; - next_billing_date?: OneOf<[string, null]>; - on_free_trial: boolean; - plan: { - bullets: (string)[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - price_model: string; - unit_name: OneOf<[string, null]>; - yearly_price_in_cents: number; - }; - unit_count: number; - } & { - account?: { - id?: number; - login?: string; - node_id?: string; - organization_billing_email?: OneOf<[string, null]>; - type?: string; - }; - billing_cycle?: string; - free_trial_ends_on?: OneOf<[string, null]>; - next_billing_date: OneOf<[string, null]>; - on_free_trial?: boolean; - plan?: { - bullets?: (OneOf<[string, null]>)[]; - description?: string; - has_free_trial?: boolean; - id?: number; - monthly_price_in_cents?: number; name?: string; - price_model?: string; - unit_name?: OneOf<[string, null]>; - yearly_price_in_cents?: number; - }; - unit_count?: number; - }; - organization?: components["schemas"]["organization-simple"]; - /** Marketplace Purchase */ - previous_marketplace_purchase?: { - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: OneOf<[string, null]>; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: null; - next_billing_date?: OneOf<[string, null]>; - on_free_trial: boolean; - plan: { - bullets: (string)[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - price_model: string; - unit_name: OneOf<[string, null]>; - yearly_price_in_cents: number; - }; - unit_count: number; - }; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** marketplace_purchase changed event */ - "webhook-marketplace-purchase-changed": { - /** @enum {string} */ - action: "changed"; - effective_date: string; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - marketplace_purchase: { - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: OneOf<[string, null]>; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: OneOf<[string, null]>; - next_billing_date?: OneOf<[string, null]>; - on_free_trial: boolean; - plan: { - bullets: (string)[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - price_model: string; - unit_name: OneOf<[string, null]>; - yearly_price_in_cents: number; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + assignees?: (OneOf<[Record, null]>)[]; + author_association?: string; + body?: OneOf<[string, null]>; + closed_at?: OneOf<[string, null]>; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + })[]; + labels_url?: string; + locked: boolean; + milestone?: OneOf<[Record, null]>; + node_id?: string; + number?: number; + performed_via_github_app?: OneOf<[Record, null]>; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; }; - unit_count: number; - } & { - account?: { + repository_url?: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; id?: number; login?: string; node_id?: string; - organization_billing_email?: OneOf<[string, null]>; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; type?: string; + url?: string; }; - billing_cycle?: string; - free_trial_ends_on?: OneOf<[string, null]>; - next_billing_date: OneOf<[string, null]>; - on_free_trial?: boolean; - plan?: { - bullets?: (OneOf<[string, null]>)[]; - description?: string; - has_free_trial?: boolean; - id?: number; - monthly_price_in_cents?: number; - name?: string; - price_model?: string; - unit_name?: OneOf<[string, null]>; - yearly_price_in_cents?: number; - }; - unit_count?: number; - }; + }); organization?: components["schemas"]["organization-simple"]; - /** Marketplace Purchase */ - previous_marketplace_purchase?: { - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: OneOf<[string, null]>; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: OneOf<[string, null]>; - next_billing_date?: OneOf<[string, null]>; - on_free_trial: OneOf<[boolean, null]>; - plan: { - bullets: (string)[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - price_model: string; - unit_name: OneOf<[string, null]>; - yearly_price_in_cents: number; - }; - unit_count: number; - }; - repository?: components["schemas"]["repository"]; + repository: components["schemas"]["repository"]; sender: components["schemas"]["simple-user"]; }; - /** marketplace_purchase pending_change event */ - "webhook-marketplace-purchase-pending-change": { - /** @enum {string} */ - action: "pending_change"; - effective_date: string; + /** issues assigned event */ + "webhook-issues-assigned": { + /** + * @description The action that was performed. + * @enum {string} + */ + action: "assigned"; + /** User */ + assignee?: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; enterprise?: components["schemas"]["enterprise"]; installation?: components["schemas"]["simple-installation"]; - marketplace_purchase: { - account: { + /** + * Issue + * @description The [issue](https://docs.github.com/rest/reference/issues) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + /** User */ + assignee?: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; id: number; login: string; - node_id: string; - organization_billing_email: OneOf<[string, null]>; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: OneOf<[string, null]>; - next_billing_date?: OneOf<[string, null]>; - on_free_trial: boolean; - plan: { - bullets: (string)[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - price_model: string; - unit_name: OneOf<[string, null]>; - yearly_price_in_cents: number; - }; - unit_count: number; - } & { - account?: { - id?: number; - login?: string; - node_id?: string; - organization_billing_email?: OneOf<[string, null]>; - type?: string; - }; - billing_cycle?: string; - free_trial_ends_on?: OneOf<[string, null]>; - next_billing_date: OneOf<[string, null]>; - on_free_trial?: boolean; - plan?: { - bullets?: (OneOf<[string, null]>)[]; - description?: string; - has_free_trial?: boolean; - id?: number; - monthly_price_in_cents?: number; name?: string; - price_model?: string; - unit_name?: OneOf<[string, null]>; - yearly_price_in_cents?: number; - }; - unit_count?: number; - }; - organization?: components["schemas"]["organization-simple"]; - /** Marketplace Purchase */ - previous_marketplace_purchase?: { - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: OneOf<[string, null]>; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: OneOf<[string, null]>; - next_billing_date?: OneOf<[string, null]>; - on_free_trial: boolean; - plan: { - bullets: (string)[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - price_model: string; - unit_name: OneOf<[string, null]>; - yearly_price_in_cents: number; - }; - unit_count: number; - }; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** marketplace_purchase pending_change_cancelled event */ - "webhook-marketplace-purchase-pending-change-cancelled": { - /** @enum {string} */ - action: "pending_change_cancelled"; - effective_date: string; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - marketplace_purchase: { - account: { + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + assignees: (OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: OneOf<[string, null]>; + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + id: number; + labels?: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + })[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: OneOf<[{ + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + description: OneOf<[string, null]>; + /** Format: date-time */ + due_on: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; id: number; - login: string; + /** Format: uri */ + labels_url: string; node_id: string; - organization_billing_email: OneOf<[string, null]>; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: null; - next_billing_date?: OneOf<[string, null]>; - on_free_trial: boolean; - plan: { - bullets: (string)[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }, null]>; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: OneOf<[{ + /** Format: date-time */ + created_at: OneOf<[string, null]>; + description: OneOf<[string, null]>; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "pull_request_review_thread")[]; + /** Format: uri */ + external_url: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: OneOf<[number, null]>; + /** @description The name of the GitHub app */ name: string; - price_model: string; - unit_name: OneOf<[string, null]>; - yearly_price_in_cents: number; - }; - unit_count: number; - } & { - next_billing_date: string; - }; - organization?: components["schemas"]["organization-simple"]; - /** Marketplace Purchase */ - previous_marketplace_purchase?: { - account: { - id: number; - login: string; node_id: string; - organization_billing_email: OneOf<[string, null]>; - type: string; + /** User */ + owner: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: OneOf<[string, null]>; + }, null]>; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: OneOf<[string, null]>; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; }; - billing_cycle: string; - free_trial_ends_on: null; - next_billing_date?: OneOf<[string, null]>; - on_free_trial: boolean; - plan: { - bullets: (string)[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - price_model: string; - unit_name: OneOf<[string, null]>; - yearly_price_in_cents: number; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; }; - unit_count: number; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: OneOf<[string, null]>; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; }; - repository?: components["schemas"]["repository"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; sender: components["schemas"]["simple-user"]; }; - /** marketplace_purchase purchased event */ - "webhook-marketplace-purchase-purchased": { - /** @enum {string} */ - action: "purchased"; - effective_date: string; + /** issues closed event */ + "webhook-issues-closed": { + /** + * @description The action that was performed. + * @enum {string} + */ + action: "closed"; enterprise?: components["schemas"]["enterprise"]; installation?: components["schemas"]["simple-installation"]; - marketplace_purchase: { - account: { + /** @description The [issue](https://docs.github.com/rest/reference/issues) itself. */ + issue: ({ + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + /** User */ + assignee?: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; id: number; login: string; - node_id: string; - organization_billing_email: OneOf<[string, null]>; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: OneOf<[string, null]>; - next_billing_date?: OneOf<[string, null]>; - on_free_trial: boolean; - plan: { - bullets: (string)[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - price_model: string; - unit_name: OneOf<[string, null]>; - yearly_price_in_cents: number; - }; - unit_count: number; - } & { - account?: { - id?: number; - login?: string; - node_id?: string; - organization_billing_email?: OneOf<[string, null]>; - type?: string; - }; - billing_cycle?: string; - free_trial_ends_on?: OneOf<[string, null]>; - next_billing_date: OneOf<[string, null]>; - on_free_trial?: boolean; - plan?: { - bullets?: (OneOf<[string, null]>)[]; - description?: string; - has_free_trial?: boolean; - id?: number; - monthly_price_in_cents?: number; name?: string; - price_model?: string; - unit_name?: OneOf<[string, null]>; - yearly_price_in_cents?: number; - }; - unit_count?: number; - }; - organization?: components["schemas"]["organization-simple"]; - /** Marketplace Purchase */ - previous_marketplace_purchase?: { - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: OneOf<[string, null]>; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: null; - next_billing_date?: OneOf<[string, null]>; - on_free_trial: boolean; - plan: { - bullets: (string)[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - price_model: string; - unit_name: OneOf<[string, null]>; - yearly_price_in_cents: number; - }; - unit_count: number; - }; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** member added event */ - "webhook-member-added": { - /** @enum {string} */ - action: "added"; - changes?: { - permission?: { + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; /** @enum {string} */ - to: "write" | "admin" | "read"; - }; - }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - /** User */ - member: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** member edited event */ - "webhook-member-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the collaborator permissions */ - changes: { - old_permission?: { - /** @description The previous permissions of the collaborator if the action was edited. */ - from: string; - }; - permission?: { - from?: OneOf<[string, null]>; - to?: OneOf<[string, null]>; - }; - }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - /** User */ - member: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** member removed event */ - "webhook-member-removed": { - /** @enum {string} */ - action: "removed"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - /** User */ - member: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** membership added event */ - "webhook-membership-added": { - /** @enum {string} */ - action: "added"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - /** User */ - member: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - organization: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - /** - * @description The scope of the membership. Currently, can only be `team`. - * @enum {string} - */ - scope: "team"; - /** User */ - sender: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + assignees: (OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: OneOf<[string, null]>; + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + comments: number; /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; /** Format: uri */ - url?: string; - }, null]>; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - team: { - deleted?: boolean; - /** @description Description of the team */ - description?: OneOf<[string, null]>; + events_url: string; /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ + html_url: string; id: number; + labels?: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + })[]; /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: OneOf<[{ - /** @description Description of the team */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: OneOf<[{ + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; description: OneOf<[string, null]>; + /** Format: date-time */ + due_on: OneOf<[string, null]>; /** Format: uri */ html_url: string; - /** @description Unique identifier of the team */ id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; /** Format: uri */ - repositories_url: string; - slug: string; + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; /** - * Format: uri - * @description URL for the team + * @description The state of the milestone. + * @enum {string} */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ url: string; }, null]>; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; + node_id: string; + number: number; /** - * Format: uri - * @description URL for the team + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. */ - url?: string; - }; - }; - /** membership removed event */ - "webhook-membership-removed": { - /** @enum {string} */ - action: "removed"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - /** User */ - member: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - organization: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - /** - * @description The scope of the membership. Currently, can only be `team`. - * @enum {string} - */ - scope: "team" | "organization"; - /** User */ - sender: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - team: { - deleted?: boolean; - /** @description Description of the team */ - description?: OneOf<[string, null]>; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: OneOf<[{ - /** @description Description of the team */ + performed_via_github_app?: OneOf<[{ + /** Format: date-time */ + created_at: OneOf<[string, null]>; description: OneOf<[string, null]>; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "security_and_analysis" | "reminder" | "pull_request_review_thread")[]; + /** Format: uri */ + external_url: OneOf<[string, null]>; /** Format: uri */ html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ + /** @description Unique identifier of the GitHub app */ + id: OneOf<[number, null]>; + /** @description The name of the GitHub app */ name: string; node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, null]>; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }; - }; - "webhook-merge-group-checks-requested": { - action: string; - installation?: components["schemas"]["simple-installation"]; - /** MergeGroup */ - merge_group: { - /** @description The SHA of the merge group. */ - head_sha: string; - /** @description The full ref of the merge group. */ - head_ref: string; - /** @description The SHA of the merge group's parent commit. */ - base_sha: string; - /** @description The full ref of the branch the merge group will be merged into. */ - base_ref: string; - /** SimpleCommit */ - head_commit: { - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: OneOf<[string, null]>; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: OneOf<[string, null]>; - /** @description The git author's name. */ - name: string; - username?: string; + /** User */ + owner: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; }; - id: string; - message: string; - timestamp: string; - tree_id: string; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: OneOf<[string, null]>; + }, null]>; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: OneOf<[string, null]>; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; }; - }; - organization?: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; - }; - /** meta deleted event */ - "webhook-meta-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise"]; - /** @description The modified webhook. This will contain different keys based on the type of webhook it is: repository, organization, business, app, or GitHub Marketplace. */ - hook: { - active: boolean; - config: { - /** @enum {string} */ - content_type: "json" | "form"; - insecure_ssl: string; - secret?: string; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; /** Format: uri */ url: string; }; - created_at: string; - events: ("*" | "branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "create" | "delete" | "deployment" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "meta" | "milestone" | "organization" | "org_block" | "package" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "pull_request_review_thread" | "push" | "registry_package" | "release" | "repository" | "repository_import" | "repository_vulnerability_alert" | "secret_scanning_alert" | "secret_scanning_alert_location" | "security_and_analysis" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_job" | "workflow_run" | "repository_dispatch" | "projects_v2_item")[]; - id: number; - name: string; - type: string; - updated_at: string; - }; - /** @description The id of the modified webhook. */ - hook_id: number; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository?: null | components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; - }; - /** milestone closed event */ - "webhook-milestone-closed": { - /** @enum {string} */ - action: "closed"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - closed_issues: number; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: OneOf<[string, null]>; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; /** Format: date-time */ - created_at: string; + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; /** User */ - creator: OneOf<[{ + user: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -35184,133 +28274,85 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - description: OneOf<[string, null]>; - /** Format: date-time */ - due_on: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** milestone created event */ - "webhook-milestone-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ + }) & ({ + active_lock_reason?: OneOf<[string, null]>; + assignee?: OneOf<[Record, null]>; + assignees?: (OneOf<[Record, null]>)[]; + author_association?: string; + body?: OneOf<[string, null]>; closed_at: OneOf<[string, null]>; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: OneOf<[{ - /** Format: uri */ + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels?: (OneOf<[Record, null]>)[]; + labels_url?: string; + locked?: boolean; + milestone?: OneOf<[Record, null]>; + node_id?: string; + number?: number; + performed_via_github_app?: OneOf<[Record, null]>; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + /** @enum {string} */ + state: "closed" | "open"; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ events_url?: string; - /** Format: uri */ followers_url?: string; - /** Format: uri-template */ following_url?: string; - /** Format: uri-template */ gists_url?: string; gravatar_id?: string; - /** Format: uri */ html_url?: string; - id: number; - login: string; - name?: string; + id?: number; + login?: string; node_id?: string; - /** Format: uri */ organizations_url?: string; - /** Format: uri */ received_events_url?: string; - /** Format: uri */ repos_url?: string; site_admin?: boolean; - /** Format: uri-template */ starred_url?: string; - /** Format: uri */ subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ + type?: string; url?: string; - }, null]>; - description: OneOf<[string, null]>; - /** Format: date-time */ - due_on: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; + }; + }); organization?: components["schemas"]["organization-simple"]; repository: components["schemas"]["repository"]; sender: components["schemas"]["simple-user"]; }; - /** milestone deleted event */ - "webhook-milestone-deleted": { + /** issues deleted event */ + "webhook-issues-deleted": { /** @enum {string} */ action: "deleted"; enterprise?: components["schemas"]["enterprise"]; installation?: components["schemas"]["simple-installation"]; /** - * Milestone - * @description A collection of related issues and pull requests. + * Issue + * @description The [issue](https://docs.github.com/rest/reference/issues) itself. */ - milestone: { - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - closed_issues: number; - /** Format: date-time */ - created_at: string; + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; /** User */ - creator: OneOf<[{ + assignee?: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -35342,71 +28384,339 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; - description: OneOf<[string, null]>; - /** Format: date-time */ - due_on: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - id: number; + assignees: (OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: OneOf<[string, null]>; + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + id: number; + labels?: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + })[]; + /** Format: uri-template */ labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: OneOf<[{ + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + description: OneOf<[string, null]>; + /** Format: date-time */ + due_on: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }, null]>; node_id: string; - /** @description The number of the milestone. */ number: number; - open_issues: number; /** - * @description The state of the milestone. + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: OneOf<[{ + /** Format: date-time */ + created_at: OneOf<[string, null]>; + description: OneOf<[string, null]>; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder")[]; + /** Format: uri */ + external_url: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: OneOf<[number, null]>; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: OneOf<[string, null]>; + }, null]>; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: OneOf<[string, null]>; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' * @enum {string} */ - state: "open" | "closed"; - /** @description The title of the milestone. */ + state?: "open" | "closed"; + state_reason?: OneOf<[string, null]>; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ title: string; /** Format: date-time */ updated_at: string; - /** Format: uri */ + /** + * Format: uri + * @description URL for the issue + */ url: string; - }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** milestone edited event */ - "webhook-milestone-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the milestone if the action was `edited`. */ - changes: { - description?: { - /** @description The previous version of the description if the action was `edited`. */ - from: string; - }; - due_on?: { - /** @description The previous version of the due date if the action was `edited`. */ - from: string; - }; - title?: { - /** @description The previous version of the title if the action was `edited`. */ - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - closed_issues: number; - /** Format: date-time */ - created_at: string; /** User */ - creator: OneOf<[{ + user: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -35438,56 +28748,26 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; - description: OneOf<[string, null]>; - /** Format: date-time */ - due_on: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; }; organization?: components["schemas"]["organization-simple"]; repository: components["schemas"]["repository"]; sender: components["schemas"]["simple-user"]; }; - /** milestone opened event */ - "webhook-milestone-opened": { + /** issues demilestoned event */ + "webhook-issues-demilestoned": { /** @enum {string} */ - action: "opened"; + action: "demilestoned"; enterprise?: components["schemas"]["enterprise"]; installation?: components["schemas"]["simple-installation"]; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - closed_issues: number; - /** Format: date-time */ - created_at: string; + issue: ({ + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; /** User */ - creator: OneOf<[{ + assignee?: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -35519,148 +28799,336 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>; - description: OneOf<[string, null]>; - /** Format: date-time */ - due_on: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; + assignees: (OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>)[]; /** - * @description The state of the milestone. + * AuthorAssociation + * @description How the author is associated with the repository. * @enum {string} */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: OneOf<[string, null]>; /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** org_block blocked event */ - "webhook-org-block-blocked": { - /** @enum {string} */ - action: "blocked"; - /** User */ - blocked_user: OneOf<[{ + closed_at: OneOf<[string, null]>; + comments: number; /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + events_url: string; /** Format: uri */ - html_url?: string; + html_url: string; id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** org_block unblocked event */ - "webhook-org-block-unblocked": { - /** @enum {string} */ - action: "unblocked"; - /** User */ - blocked_user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; + labels?: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + })[]; /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** organization deleted event */ - "webhook-organization-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Membership - * @description The membership between the user and the organization. Not present when the action is `member_invited`. - */ - membership?: { + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: OneOf<[{ + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + description: OneOf<[string, null]>; + /** Format: date-time */ + due_on: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }, null]>; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: OneOf<[{ + /** Format: date-time */ + created_at: OneOf<[string, null]>; + description: OneOf<[string, null]>; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; + /** Format: uri */ + external_url: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: OneOf<[number, null]>; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: OneOf<[string, null]>; + }, null]>; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: OneOf<[string, null]>; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; /** Format: uri */ - organization_url: string; - role: string; - state: string; + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: OneOf<[string, null]>; /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ url: string; /** User */ user: OneOf<[{ @@ -35695,34 +29163,151 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>; - }; - organization: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** organization member_added event */ - "webhook-organization-member-added": { - /** @enum {string} */ - action: "member_added"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; + }) & ({ + active_lock_reason?: OneOf<[string, null]>; + assignee?: OneOf<[Record, null]>; + assignees?: (OneOf<[Record, null]>)[]; + author_association?: string; + body?: OneOf<[string, null]>; + closed_at?: OneOf<[string, null]>; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels?: (OneOf<[Record, null]>)[]; + labels_url?: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: OneOf<[{ + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + description: OneOf<[string, null]>; + /** Format: date-time */ + due_on: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }, null]>; + node_id?: string; + number?: number; + performed_via_github_app?: OneOf<[Record, null]>; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + state?: string; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + }); /** - * Membership - * @description The membership between the user and the organization. Not present when the action is `member_invited`. + * Milestone + * @description A collection of related issues and pull requests. */ - membership: { - /** Format: uri */ - organization_url: string; - role: string; - state: string; - /** Format: uri */ - url: string; + milestone?: { + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + closed_issues: number; + /** Format: date-time */ + created_at: string; /** User */ - user: OneOf<[{ + creator: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -35754,34 +29339,64 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>; - }; - organization: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** organization member_invited event */ - "webhook-organization-member-invited": { - /** @enum {string} */ - action: "member_invited"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The invitation for the user or email if the action is `member_invited`. */ - invitation: { - /** Format: date-time */ - created_at: string; - email: OneOf<[string, null]>; + description: OneOf<[string, null]>; /** Format: date-time */ - failed_at: OneOf<[string, null]>; - failed_reason: OneOf<[string, null]>; + due_on: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; id: number; /** Format: uri */ - invitation_teams_url: string; + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues edited event */ + "webhook-issues-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the issue. */ + changes: { + body?: { + /** @description The previous version of the body. */ + from: string; + }; + title?: { + /** @description The previous version of the title. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/reference/issues) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; /** User */ - inviter: OneOf<[{ + assignee?: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -35813,72 +29428,336 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>; - login: OneOf<[string, null]>; - node_id: string; - role: string; - team_count: number; - }; - organization: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - /** User */ - user?: OneOf<[{ + assignees: (OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: OneOf<[string, null]>; + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + comments: number; /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + events_url: string; /** Format: uri */ - html_url?: string; + html_url: string; id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; + labels?: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + })[]; /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - }; - /** organization member_removed event */ - "webhook-organization-member-removed": { - /** @enum {string} */ - action: "member_removed"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Membership - * @description The membership between the user and the organization. Not present when the action is `member_invited`. - */ - membership: { + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: OneOf<[{ + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + description: OneOf<[string, null]>; + /** Format: date-time */ + due_on: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }, null]>; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: OneOf<[{ + /** Format: date-time */ + created_at: OneOf<[string, null]>; + description: OneOf<[string, null]>; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "security_and_analysis" | "pull_request_review_thread" | "reminder")[]; + /** Format: uri */ + external_url: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: OneOf<[number, null]>; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: OneOf<[string, null]>; + }, null]>; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: OneOf<[string, null]>; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; /** Format: uri */ - organization_url: string; - role: string; - state: string; + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: OneOf<[string, null]>; /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ url: string; /** User */ user: OneOf<[{ @@ -35913,39 +29792,46 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>; }; - organization: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; + /** Label */ + label?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; sender: components["schemas"]["simple-user"]; }; - /** organization renamed event */ - "webhook-organization-renamed": { + /** issues labeled event */ + "webhook-issues-labeled": { /** @enum {string} */ - action: "renamed"; - changes?: { - login?: { - from?: string; - }; - }; + action: "labeled"; enterprise?: components["schemas"]["enterprise"]; installation?: components["schemas"]["simple-installation"]; /** - * Membership - * @description The membership between the user and the organization. Not present when the action is `member_invited`. + * Issue + * @description The [issue](https://docs.github.com/rest/reference/issues) itself. */ - membership?: { - /** Format: uri */ - organization_url: string; - role: string; - state: string; - /** Format: uri */ - url: string; + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; /** User */ - user: OneOf<[{ + assignee?: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -35977,73 +29863,97 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>; - }; - organization: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** package published event */ - "webhook-package-published": { - /** @enum {string} */ - action: "published"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - /** @description Information about the package. */ - package: { - created_at: OneOf<[string, null]>; - description: OneOf<[string, null]>; - ecosystem: string; - /** Format: uri */ - html_url: string; - id: number; - name: string; - namespace: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - package_type: string; - package_version: OneOf<[{ + assignees: (OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: OneOf<[string, null]>; + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + id: number; + labels?: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + })[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: OneOf<[{ + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + closed_issues: number; + /** Format: date-time */ + created_at: string; /** User */ - author?: OneOf<[{ + creator: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -36075,191 +29985,217 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>; - body?: string | Record; - body_html?: string; - container_metadata?: OneOf<[{ - labels?: OneOf<[Record, null]>; - manifest?: OneOf<[Record, null]>; - tag?: { - digest?: string; - name?: string; - }; - }, null]>; - created_at?: string; - description: string; - docker_metadata?: (Record)[]; - draft?: boolean; + description: OneOf<[string, null]>; + /** Format: date-time */ + due_on: OneOf<[string, null]>; /** Format: uri */ html_url: string; id: number; - installation_command: string; - manifest?: string; - metadata: ({ - [key: string]: unknown | undefined; - })[]; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }, null]>; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: OneOf<[{ + /** Format: date-time */ + created_at: OneOf<[string, null]>; + description: OneOf<[string, null]>; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "reminder")[]; + /** Format: uri */ + external_url: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: OneOf<[number, null]>; + /** @description The name of the GitHub app */ name: string; - npm_metadata?: OneOf<[{ - name?: string; - version?: string; - npm_user?: string; - author?: OneOf<[Record, null]>; - bugs?: OneOf<[Record, null]>; - dependencies?: Record; - dev_dependencies?: Record; - peer_dependencies?: Record; - optional_dependencies?: Record; - description?: string; - dist?: OneOf<[Record, null]>; - git_head?: string; - homepage?: string; - license?: string; - main?: string; - repository?: OneOf<[Record, null]>; - scripts?: Record; - id?: string; - node_version?: string; - npm_version?: string; - has_shrinkwrap?: boolean; - maintainers?: (Record)[]; - contributors?: (Record)[]; - engines?: Record; - keywords?: (string)[]; - files?: (string)[]; - bin?: Record; - man?: Record; - directories?: OneOf<[Record, null]>; - os?: (string)[]; - cpu?: (string)[]; - readme?: string; - installation_command?: string; - release_id?: number; - commit_oid?: string; - published_via_actions?: boolean; - deleted_by_id?: number; - }, null]>; - nuget_metadata?: OneOf<[({ - id?: number | string; - name?: string; - value?: OneOf<[boolean, string, number, { - url?: string; - branch?: string; - commit?: string; - type?: string; - }]>; - })[], null]>; - package_files: ({ - content_type: string; - created_at: string; - /** Format: uri */ - download_url: string; - id: number; - md5: OneOf<[string, null]>; - name: string; - sha1: OneOf<[string, null]>; - sha256: OneOf<[string, null]>; - size: number; - state: OneOf<[string, null]>; - updated_at: string; - })[]; - package_url?: string; - prerelease?: boolean; - release?: { - /** User */ - author: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - created_at: string; - draft: boolean; + node_id: string; + /** User */ + owner: OneOf<[{ /** Format: uri */ - html_url: string; + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; id: number; - name: OneOf<[string, null]>; - prerelease: boolean; - published_at: string; - tag_name: string; - target_commitish: string; + login: string; + name?: string; + node_id?: string; /** Format: uri */ - url: string; + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; }; - rubygems_metadata?: (Record)[]; - source_url?: string; - summary: string; - tag_name?: string; - target_commitish?: string; - target_oid?: string; - updated_at?: string; - version: string; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: OneOf<[string, null]>; }, null]>; - registry: OneOf<[{ + pull_request?: { /** Format: uri */ - about_url: string; - name: string; - type: string; + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: OneOf<[string, null]>; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; /** Format: uri */ url: string; - vendor: string; - }, null]>; - updated_at: OneOf<[string, null]>; - }; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** package updated event */ - "webhook-package-updated": { - /** @enum {string} */ - action: "updated"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - /** @description Information about the package. */ - package: { - created_at: string; - description: OneOf<[string, null]>; - ecosystem: string; + }; /** Format: uri */ - html_url: string; - id: number; - name: string; - namespace: string; + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: OneOf<[string, null]>; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; /** User */ - owner: OneOf<[{ + user: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -36291,233 +30227,42 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>; - package_type: string; - package_version: { - /** User */ - author: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - body: string; - body_html: string; - created_at: string; - description: string; - docker_metadata?: (Record)[]; - draft?: boolean; - /** Format: uri */ - html_url: string; - id: number; - installation_command: string; - manifest?: string; - metadata: (Record)[]; - name: string; - package_files: ({ - content_type: string; - created_at: string; - /** Format: uri */ - download_url: string; - id: number; - md5: OneOf<[string, null]>; - name: string; - sha1: OneOf<[string, null]>; - sha256: string; - size: number; - state: string; - updated_at: string; - })[]; - package_url?: string; - prerelease?: boolean; - release?: { - /** User */ - author: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - created_at: string; - draft: boolean; - /** Format: uri */ - html_url: string; - id: number; - name: string; - prerelease: boolean; - published_at: string; - tag_name: string; - target_commitish: string; - /** Format: uri */ - url: string; - }; - rubygems_metadata?: (Record)[]; - /** Format: uri */ - source_url?: string; - summary: string; - tag_name?: string; - target_commitish: string; - target_oid: string; - updated_at: string; - version: string; - }; - registry: OneOf<[{ - /** Format: uri */ - about_url: string; - name: string; - type: string; - /** Format: uri */ - url: string; - vendor: string; - }, null]>; - updated_at: string; }; + /** Label */ + label?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }; + organization?: components["schemas"]["organization-simple"]; repository: components["schemas"]["repository"]; sender: components["schemas"]["simple-user"]; }; - "webhook-package-v2-create": { + /** issues locked event */ + "webhook-issues-locked": { /** @enum {string} */ - action: "create"; + action: "locked"; enterprise?: components["schemas"]["enterprise"]; installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple"]; - package: { - created_at: string; - description: string; - ecosystem: string; - html_url: string; - id: number; - name: string; - namespace: string; - package_version: { - blob_store: string; - container_metadata?: { - labels: { - all_labels: { - "com.github.base_image.id"?: string; - "com.github.base_image.repo_digest"?: string; - "com.github.repo.branch"?: string; - "ghes.licenses.path"?: string; - "org.opencontainers.image.created"?: string; - "org.opencontainers.image.description"?: string; - "org.opencontainers.image.documentation"?: string; - "org.opencontainers.image.revision"?: string; - "org.opencontainers.image.source"?: string; - }; - description: string; - image_url: string; - licenses: string; - revision: string; - source: string; - }; - manifest: { - config: { - digest: string; - media_type: string; - size: number; - }; - digest: string; - layers: ({ - digest: string; - media_type: string; - size: number; - })[]; - media_type: string; - size: number; - uri: string; - }; - tag: { - digest: string; - name: string; - }; - }; - created_at: string; - description: string; - html_url: string; - id: number; - name: string; - updated_at: string; - }; - updated_at: string; - }; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** page_build event */ - "webhook-page-build": { - /** @description The [List GitHub Pages builds](https://docs.github.com/rest/reference/repos#list-github-pages-builds) itself. */ - build: { - commit: OneOf<[string, null]>; - created_at: string; - duration: number; - error: { - message: OneOf<[string, null]>; - }; + issue: ({ + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; /** User */ - pusher: OneOf<[{ + assignee?: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -36553,386 +30298,335 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - status: string; - updated_at: string; - /** Format: uri */ - url: string; - }; - enterprise?: components["schemas"]["enterprise"]; - id: number; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - "webhook-ping": { - /** - * Webhook - * @description The webhook that is being pinged - */ - hook?: { - /** @description Determines whether the hook is actually triggered for the events it subscribes to. */ - active: boolean; - /** @description Only included for GitHub Apps. When you register a new GitHub App, GitHub sends a ping event to the webhook URL you specified during registration. The GitHub App ID sent in this field is required for authenticating an app. */ - app_id?: number; - config: { - content_type?: components["schemas"]["webhook-config-content-type"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - secret?: components["schemas"]["webhook-config-secret"]; - url?: components["schemas"]["webhook-config-url"]; - }; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - deliveries_url?: string; - /** @description Determines what events the hook is triggered for. Default: ['push']. */ - events: (string)[]; - /** @description Unique identifier of the webhook. */ - id: number; - last_response?: components["schemas"]["hook-response"]; + assignees: (OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>)[]; /** - * @description The type of webhook. The only valid value is 'web'. + * AuthorAssociation + * @description How the author is associated with the repository. * @enum {string} */ - name: "web"; - /** Format: uri */ - ping_url?: string; - /** Format: uri */ - test_url?: string; - type: string; + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: OneOf<[string, null]>; /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url?: string; - }; - /** @description The ID of the webhook that triggered the ping. */ - hook_id?: number; - organization?: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; - /** @description Random string of GitHub zen. */ - zen?: string; - }; - /** @description The webhooks ping payload encoded with URL encoding. */ - "webhook-ping-form-encoded": { - /** @description A URL-encoded string of the ping JSON payload. The decoded payload is a JSON object. */ - payload: string; - }; - /** project_card converted event */ - "webhook-project-card-converted": { - /** @enum {string} */ - action: "converted"; - changes: { - note: { - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - /** Project Card */ - project_card: { - after_id?: OneOf<[number, null]>; - /** @description Whether or not the card is archived */ - archived: boolean; - column_id: number; - /** Format: uri */ - column_url: string; + closed_at: OneOf<[string, null]>; + comments: number; /** Format: uri */ - content_url?: string; + comments_url: string; /** Format: date-time */ created_at: string; - /** User */ - creator: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + id: number; + labels?: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + })[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: OneOf<[{ + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + description: OneOf<[string, null]>; + /** Format: date-time */ + due_on: OneOf<[string, null]>; /** Format: uri */ - html_url?: string; + html_url: string; id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; /** Format: uri */ - url?: string; + url: string; }, null]>; - /** @description The project card's ID */ - id: number; node_id: string; - note: OneOf<[string, null]>; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** project_card created event */ - "webhook-project-card-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - /** Project Card */ - project_card: { - after_id?: OneOf<[number, null]>; - /** @description Whether or not the card is archived */ - archived: boolean; - column_id: number; - /** Format: uri */ - column_url: string; - /** Format: uri */ - content_url?: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: OneOf<[{ + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: OneOf<[{ + /** Format: date-time */ + created_at: OneOf<[string, null]>; + description: OneOf<[string, null]>; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "security_and_analysis")[]; /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; + external_url: OneOf<[string, null]>; /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: OneOf<[number, null]>; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: OneOf<[string, null]>; }, null]>; - /** @description The project card's ID */ - id: number; - node_id: string; - note: OneOf<[string, null]>; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** project_card deleted event */ - "webhook-project-card-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - /** Project Card */ - project_card: { - after_id?: OneOf<[number, null]>; - /** @description Whether or not the card is archived */ - archived: boolean; - column_id: OneOf<[number, null]>; - /** Format: uri */ - column_url: string; - /** Format: uri */ - content_url?: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; + pull_request?: { /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + diff_url?: string; /** Format: uri */ html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + /** Format: date-time */ + merged_at?: OneOf<[string, null]>; /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + patch_url?: string; /** Format: uri */ url?: string; - }, null]>; - /** @description The project card's ID */ - id: number; - node_id: string; - note: OneOf<[string, null]>; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: null | components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** project_card edited event */ - "webhook-project-card-edited": { - /** @enum {string} */ - action: "edited"; - changes: { - note: { - from: OneOf<[string, null]>; }; - }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - /** Project Card */ - project_card: { - after_id?: OneOf<[number, null]>; - /** @description Whether or not the card is archived */ - archived: boolean; - column_id: number; - /** Format: uri */ - column_url: string; - /** Format: uri */ - content_url?: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; /** Format: uri */ - url?: string; - }, null]>; - /** @description The project card's ID */ - id: number; - node_id: string; - note: OneOf<[string, null]>; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** project_card moved event */ - "webhook-project-card-moved": { - /** @enum {string} */ - action: "moved"; - changes?: { - column_id: { - from: number; + url: string; }; - }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - project_card: ({ - after_id?: OneOf<[number, null]>; - /** @description Whether or not the card is archived */ - archived: boolean; - column_id: number; /** Format: uri */ - column_url: string; + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: OneOf<[string, null]>; /** Format: uri */ - content_url?: string; + timeline_url?: string; + /** @description Title of the issue */ + title: string; /** Format: date-time */ - created_at: string; + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; /** User */ - creator: OneOf<[{ + user: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -36964,27 +30658,51 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; - /** @description The project card's ID */ - id: number; - node_id: string; - note: OneOf<[string, null]>; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) & { - after_id: OneOf<[number, null]>; - archived?: boolean; - column_id?: number; - column_url?: string; + }) & ({ + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + assignee?: OneOf<[Record, null]>; + assignees?: (OneOf<[Record, null]>)[]; + author_association?: string; + body?: OneOf<[string, null]>; + closed_at?: OneOf<[string, null]>; + comments?: number; + comments_url?: string; created_at?: string; - creator?: OneOf<[{ + events_url?: string; + html_url?: string; + id?: number; + labels?: (OneOf<[Record, null]>)[]; + labels_url?: string; + /** @enum {boolean} */ + locked: true; + milestone?: OneOf<[Record, null]>; + node_id?: string; + number?: number; + performed_via_github_app?: OneOf<[Record, null]>; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + state?: string; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { avatar_url?: string; events_url?: string; followers_url?: string; @@ -37003,34 +30721,23 @@ export interface components { subscriptions_url?: string; type?: string; url?: string; - }, null]>; - id?: number; - node_id?: string; - note?: OneOf<[string, null]>; - project_url?: string; - updated_at?: string; - url?: string; - }; - repository?: components["schemas"]["repository"]; + }; + }); + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; sender: components["schemas"]["simple-user"]; }; - /** project closed event */ - "webhook-project-closed": { + /** issues milestoned event */ + "webhook-issues-milestoned": { /** @enum {string} */ - action: "closed"; + action: "milestoned"; enterprise?: components["schemas"]["enterprise"]; installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - /** Project */ - project: { - /** @description Body of the project */ - body: OneOf<[string, null]>; - /** Format: uri */ - columns_url: string; - /** Format: date-time */ - created_at: string; + issue: ({ + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; /** User */ - creator: OneOf<[{ + assignee?: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -37066,325 +30773,335 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - /** Format: uri */ - html_url: string; - id: number; - /** @description Name of the project */ - name: string; - node_id: string; - number: number; - /** Format: uri */ - owner_url: string; + assignees: (OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>)[]; /** - * @description State of the project; either 'open' or 'closed' + * AuthorAssociation + * @description How the author is associated with the repository. * @enum {string} */ - state: "open" | "closed"; + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: OneOf<[string, null]>; /** Format: date-time */ - updated_at: string; + closed_at: OneOf<[string, null]>; + comments: number; /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** project_column created event */ - "webhook-project-column-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - /** Project Column */ - project_column: { - after_id?: OneOf<[number, null]>; - /** Format: uri */ - cards_url: string; - /** Format: date-time */ - created_at: string; - /** @description The unique identifier of the project column */ - id: number; - /** @description Name of the project column */ - name: string; - node_id: string; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; - }; - /** project_column deleted event */ - "webhook-project-column-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - /** Project Column */ - project_column: { - after_id?: OneOf<[number, null]>; - /** Format: uri */ - cards_url: string; - /** Format: date-time */ - created_at: string; - /** @description The unique identifier of the project column */ - id: number; - /** @description Name of the project column */ - name: string; - node_id: string; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: null | components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; - }; - /** project_column edited event */ - "webhook-project-column-edited": { - /** @enum {string} */ - action: "edited"; - changes: { - name?: { - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - /** Project Column */ - project_column: { - after_id?: OneOf<[number, null]>; - /** Format: uri */ - cards_url: string; + comments_url: string; /** Format: date-time */ created_at: string; - /** @description The unique identifier of the project column */ - id: number; - /** @description Name of the project column */ - name: string; - node_id: string; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; + draft?: boolean; /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; - }; - /** project_column moved event */ - "webhook-project-column-moved": { - /** @enum {string} */ - action: "moved"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - /** Project Column */ - project_column: { - after_id?: OneOf<[number, null]>; + events_url: string; /** Format: uri */ - cards_url: string; - /** Format: date-time */ - created_at: string; - /** @description The unique identifier of the project column */ + html_url: string; id: number; - /** @description Name of the project column */ - name: string; - node_id: string; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** project created event */ - "webhook-project-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - /** Project */ - project: { - /** @description Body of the project */ - body: OneOf<[string, null]>; - /** Format: uri */ - columns_url: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + labels?: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + })[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: OneOf<[{ + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + description: OneOf<[string, null]>; + /** Format: date-time */ + due_on: OneOf<[string, null]>; /** Format: uri */ - html_url?: string; + html_url: string; id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; /** Format: uri */ - url?: string; + url: string; }, null]>; - /** Format: uri */ - html_url: string; - id: number; - /** @description Name of the project */ - name: string; node_id: string; number: number; - /** Format: uri */ - owner_url: string; /** - * @description State of the project; either 'open' or 'closed' - * @enum {string} + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. */ - state: "open" | "closed"; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** project deleted event */ - "webhook-project-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - /** Project */ - project: { - /** @description Body of the project */ - body: OneOf<[string, null]>; - /** Format: uri */ - columns_url: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + performed_via_github_app?: OneOf<[{ + /** Format: date-time */ + created_at: OneOf<[string, null]>; + description: OneOf<[string, null]>; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder")[]; /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; + external_url: OneOf<[string, null]>; /** Format: uri */ - organizations_url?: string; + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: OneOf<[number, null]>; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: OneOf<[string, null]>; + }, null]>; + pull_request?: { /** Format: uri */ - received_events_url?: string; + diff_url?: string; /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + html_url?: string; + /** Format: date-time */ + merged_at?: OneOf<[string, null]>; /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + patch_url?: string; /** Format: uri */ url?: string; - }, null]>; - /** Format: uri */ - html_url: string; - id: number; - /** @description Name of the project */ - name: string; - node_id: string; - number: number; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; /** Format: uri */ - owner_url: string; + repository_url: string; /** - * @description State of the project; either 'open' or 'closed' + * @description State of the issue; either 'open' or 'closed' * @enum {string} */ - state: "open" | "closed"; + state?: "open" | "closed"; + state_reason?: OneOf<[string, null]>; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; /** Format: date-time */ updated_at: string; - /** Format: uri */ + /** + * Format: uri + * @description URL for the issue + */ url: string; - }; - repository?: null | components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; - }; - /** project edited event */ - "webhook-project-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the project if the action was `edited`. */ - changes?: { - body?: { - /** @description The previous version of the body if the action was `edited`. */ - from: string; - }; - name?: { - /** @description The changes to the project if the action was `edited`. */ - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - /** Project */ - project: { - /** @description Body of the project */ - body: OneOf<[string, null]>; - /** Format: uri */ - columns_url: string; - /** Format: date-time */ - created_at: string; /** User */ - creator: OneOf<[{ + user: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -37420,41 +31137,143 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - /** Format: uri */ - html_url: string; - id: number; - /** @description Name of the project */ - name: string; - node_id: string; - number: number; - /** Format: uri */ - owner_url: string; + }) & ({ + active_lock_reason?: OneOf<[string, null]>; + assignee?: OneOf<[Record, null]>; + assignees?: (OneOf<[Record, null]>)[]; + author_association?: string; + body?: OneOf<[string, null]>; + closed_at?: OneOf<[string, null]>; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels?: (OneOf<[Record, null]>)[]; + labels_url?: string; + locked?: boolean; /** - * @description State of the project; either 'open' or 'closed' - * @enum {string} + * Milestone + * @description A collection of related issues and pull requests. */ - state: "open" | "closed"; + milestone: { + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + description: OneOf<[string, null]>; + /** Format: date-time */ + due_on: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + node_id?: string; + number?: number; + performed_via_github_app?: OneOf<[Record, null]>; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + state?: string; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + }); + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; - }; - /** project reopened event */ - "webhook-project-reopened": { - /** @enum {string} */ - action: "reopened"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - /** Project */ - project: { - /** @description Body of the project */ - body: OneOf<[string, null]>; - /** Format: uri */ - columns_url: string; + closed_at: OneOf<[string, null]>; + closed_issues: number; /** Format: date-time */ created_at: string; /** User */ @@ -37490,325 +31309,52 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>; + description: OneOf<[string, null]>; + /** Format: date-time */ + due_on: OneOf<[string, null]>; /** Format: uri */ html_url: string; id: number; - /** @description Name of the project */ - name: string; + /** Format: uri */ + labels_url: string; node_id: string; + /** @description The number of the milestone. */ number: number; - /** Format: uri */ - owner_url: string; + open_issues: number; /** - * @description State of the project; either 'open' or 'closed' + * @description The state of the milestone. * @enum {string} */ state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; /** Format: date-time */ updated_at: string; /** Format: uri */ url: string; }; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** Projects v2 Item Archived Event */ - "webhook-projects-v2-item-archived": { - /** @enum {string} */ - action: "archived"; - changes: { - archived_at?: { - /** Format: date-time */ - from?: OneOf<[string, null]>; - /** Format: date-time */ - to?: OneOf<[string, null]>; - }; - }; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple"]; - projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user"]; - }; - /** Projects v2 Item Converted Event */ - "webhook-projects-v2-item-converted": { - /** @enum {string} */ - action: "converted"; - changes: { - content_type?: { - from?: OneOf<[string, null]>; - to?: string; - }; - }; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple"]; - projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user"]; - }; - /** Projects v2 Item Created Event */ - "webhook-projects-v2-item-created": { - /** @enum {string} */ - action: "created"; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple"]; - projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user"]; - }; - /** Projects v2 Item Deleted Event */ - "webhook-projects-v2-item-deleted": { - /** @enum {string} */ - action: "deleted"; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple"]; - projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user"]; - }; - /** Projects v2 Item Edited Event */ - "webhook-projects-v2-item-edited": { - /** @enum {string} */ - action: "edited"; - changes?: OneOf<[{ - field_value: { - field_node_id?: string; - field_type?: string; - }; - }, { - body: { - from?: OneOf<[string, null]>; - to?: OneOf<[string, null]>; - }; - }]>; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple"]; - projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user"]; - }; - /** Projects v2 Item Reordered Event */ - "webhook-projects-v2-item-reordered": { - /** @enum {string} */ - action: "reordered"; - changes: { - previous_projects_v2_item_node_id?: { - from?: OneOf<[string, null]>; - to?: OneOf<[string, null]>; - }; - }; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple"]; - projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user"]; - }; - /** Projects v2 Item Restored Event */ - "webhook-projects-v2-item-restored": { - /** @enum {string} */ - action: "restored"; - changes: { - archived_at?: { - /** Format: date-time */ - from?: OneOf<[string, null]>; - /** Format: date-time */ - to?: OneOf<[string, null]>; - }; - }; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple"]; - projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user"]; - }; - /** public event */ - "webhook-public": { - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; organization?: components["schemas"]["organization-simple"]; repository: components["schemas"]["repository"]; sender: components["schemas"]["simple-user"]; }; - /** pull_request assigned event */ - "webhook-pull-request-assigned": { + /** issues opened event */ + "webhook-issues-opened": { /** @enum {string} */ - action: "assigned"; - /** User */ - assignee: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; - additions?: number; - /** User */ - assignee: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>; - assignees: (OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + action: "opened"; + changes?: { /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. + * Issue + * @description The [issue](https://docs.github.com/rest/reference/issues) itself. */ - auto_merge: OneOf<[{ - /** @description Commit message for the merge commit. */ - commit_message: OneOf<[string, null]>; - /** @description Title for the merge commit message. */ - commit_title: OneOf<[string, null]>; + old_issue: OneOf<[{ + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; /** User */ - enabled_by: OneOf<[{ + assignee?: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -37844,189 +31390,173 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }, null]>; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; + assignees: (OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: OneOf<[string, null]>; + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + id: number; + labels?: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + })[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: OneOf<[{ + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; description: OneOf<[string, null]>; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: OneOf<[string, null]>; - /** Format: uri */ - hooks_url: string; + /** Format: date-time */ + due_on: OneOf<[string, null]>; /** Format: uri */ html_url: string; - /** @description Unique identifier of the repository */ id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: OneOf<[string, null]>; /** Format: uri */ - languages_url: string; - /** License */ - license: OneOf<[{ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: OneOf<[string, null]>; - }, null]>; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @description The state of the milestone. * @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; + url: string; + }, null]>; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: OneOf<[{ + /** Format: date-time */ + created_at: OneOf<[string, null]>; + description: OneOf<[string, null]>; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; /** Format: uri */ - mirror_url: OneOf<[string, null]>; - /** @description The name of the repository. */ + external_url: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: OneOf<[number, null]>; + /** @description The name of the GitHub app */ name: string; node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; /** User */ owner: OneOf<[{ /** Format: uri */ @@ -38064,77 +31594,129 @@ export interface components { /** Format: uri */ url?: string; }, null]>; + /** @description The set of permissions for the GitHub app */ permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string; - /** Format: uri-template */ - releases_url: string; - role_name?: OneOf<[string, null]>; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: OneOf<[string, null]>; + }, null]>; + pull_request?: { /** Format: uri */ - subscription_url: string; + diff_url?: string; /** Format: uri */ - svn_url: string; + html_url?: string; + /** Format: date-time */ + merged_at?: OneOf<[string, null]>; /** Format: uri */ - tags_url: string; + patch_url?: string; /** Format: uri */ - teams_url: string; - topics: (string)[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; /** Format: uri */ url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; }; - sha: string; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: OneOf<[string, null]>; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; /** User */ user: OneOf<[{ /** Format: uri */ @@ -38172,311 +31754,161 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - }; - body: OneOf<[string, null]>; - changed_files?: number; - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: OneOf<[string, null]>; - ref: string; + }, null]>; + /** + * Repository + * @description A git repository + */ + old_repository: { /** - * Repository - * @description A git repository + * @description Whether to allow auto-merge for pull requests. + * @default false */ - repo: OneOf<[{ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: OneOf<[string, null]>; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: OneOf<[string, null]>; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: OneOf<[string, null]>; - /** Format: uri */ - languages_url: string; - /** License */ - license: OneOf<[{ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: OneOf<[string, null]>; - }, null]>; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: OneOf<[string, null]>; - /** @description The name of the repository. */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: OneOf<[string, null]>; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: OneOf<[string, null]>; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: OneOf<[string, null]>; + /** Format: uri */ + languages_url: string; + /** License */ + license: OneOf<[{ + key: string; name: string; node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string; - /** Format: uri-template */ - releases_url: string; - role_name?: OneOf<[string, null]>; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: (string)[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; + spdx_id: string; /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; + url: OneOf<[string, null]>; }, null]>; - sha: string; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: OneOf<[string, null]>; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; /** User */ - user: OneOf<[{ + owner: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -38512,38 +31944,60 @@ export interface components { /** Format: uri */ url?: string; }, null]>; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: OneOf<[string, null]>; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: (string)[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: OneOf<[string, null]>; - mergeable?: OneOf<[boolean, null]>; - mergeable_state?: string; - merged?: OneOf<[boolean, null]>; - /** Format: date-time */ - merged_at: OneOf<[string, null]>; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + issue: ({ + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; /** User */ - merged_by?: OneOf<[{ + assignee?: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -38579,18 +32033,7 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: OneOf<[{ - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: OneOf<[{ + assignees: (OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -38622,20 +32065,106 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; - }, null]>; - description: OneOf<[string, null]>; - /** Format: date-time */ - due_on: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ + }, null]>)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: OneOf<[string, null]>; + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + id: number; + labels?: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + })[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: OneOf<[{ + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + description: OneOf<[string, null]>; + /** Format: date-time */ + due_on: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ number: number; open_issues: number; /** @@ -38651,12 +32180,28 @@ export interface components { url: string; }, null]>; node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: OneOf<[boolean, null]>; - requested_reviewers: (OneOf<[OneOf<[{ + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: OneOf<[{ + /** Format: date-time */ + created_at: OneOf<[string, null]>; + description: OneOf<[string, null]>; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "security_and_analysis" | "pull_request_review_thread" | "reminder")[]; + /** Format: uri */ + external_url: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: OneOf<[number, null]>; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -38688,128 +32233,132 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; - }, null]>, { - deleted?: boolean; - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: OneOf<[{ - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, null]>; - /** @description Permission that the team will have for its repositories */ - permission: string; + }, null]>; + /** @description The set of permissions for the GitHub app */ + permissions?: { /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: OneOf<[string, null]>; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: OneOf<[{ - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, null]>; - /** @description Permission that the team will have for its repositories */ - permission?: string; + actions?: "read" | "write"; /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: OneOf<[string, null]>; + }, null]>; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: OneOf<[string, null]>; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; /** Format: uri */ - review_comments_url: string; + repository_url: string; /** - * @description State of this Pull Request. Either `open` or `closed`. + * @description State of the issue; either 'open' or 'closed' * @enum {string} */ - state: "open" | "closed"; + state?: "open" | "closed"; + state_reason?: OneOf<[string, null]>; /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ + timeline_url?: string; + /** @description Title of the issue */ title: string; /** Format: date-time */ updated_at: string; - /** Format: uri */ + /** + * Format: uri + * @description URL for the issue + */ url: string; /** User */ user: OneOf<[{ @@ -38844,71 +32393,89 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; - }; + }) & ({ + active_lock_reason?: OneOf<[string, null]>; + assignee?: OneOf<[Record, null]>; + assignees?: (OneOf<[Record, null]>)[]; + author_association?: string; + body?: OneOf<[string, null]>; + closed_at: OneOf<[string, null]>; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels?: (OneOf<[Record, null]>)[]; + labels_url?: string; + locked?: boolean; + milestone?: OneOf<[Record, null]>; + node_id?: string; + number?: number; + performed_via_github_app?: OneOf<[Record, null]>; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + /** @enum {string} */ + state: "open" | "closed"; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + }); + organization?: components["schemas"]["organization-simple"]; repository: components["schemas"]["repository"]; sender: components["schemas"]["simple-user"]; }; - /** pull_request auto_merge_disabled event */ - "webhook-pull-request-auto-merge-disabled": { + /** issues pinned event */ + "webhook-issues-pinned": { /** @enum {string} */ - action: "auto_merge_disabled"; + action: "pinned"; enterprise?: components["schemas"]["enterprise"]; installation?: components["schemas"]["simple-installation"]; - number: number; - organization?: components["schemas"]["organization-simple"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/reference/issues) itself. + */ + issue: { /** @enum {string|null} */ active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; - additions?: number; /** User */ - assignee: OneOf<[{ + assignee?: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -38986,17 +32553,51 @@ export interface components { * @enum {string} */ author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: OneOf<[string, null]>; + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + id: number; + labels?: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + })[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. + * Milestone + * @description A collection of related issues and pull requests. */ - auto_merge: OneOf<[{ - /** @description Commit message for the merge commit. */ - commit_message: OneOf<[string, null]>; - /** @description Title for the merge commit message. */ - commit_title: OneOf<[string, null]>; + milestone: OneOf<[{ + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + closed_issues: number; + /** Format: date-time */ + created_at: string; /** User */ - enabled_by: OneOf<[{ + creator: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -39032,299 +32633,53 @@ export interface components { /** Format: uri */ url?: string; }, null]>; + description: OneOf<[string, null]>; + /** Format: date-time */ + due_on: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; /** - * @description The merge method to use. + * @description The state of the milestone. * @enum {string} */ - merge_method: "merge" | "squash" | "rebase"; + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; }, null]>; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: OneOf<[string, null]>; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: OneOf<[string, null]>; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: OneOf<[string, null]>; - /** Format: uri */ - languages_url: string; - /** License */ - license: OneOf<[{ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: OneOf<[string, null]>; - }, null]>; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: OneOf<[string, null]>; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string; - /** Format: uri-template */ - releases_url: string; - role_name?: OneOf<[string, null]>; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: (string)[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: OneOf<[{ + /** Format: date-time */ + created_at: OneOf<[string, null]>; + description: OneOf<[string, null]>; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; + /** Format: uri */ + external_url: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: OneOf<[number, null]>; + /** @description The name of the GitHub app */ + name: string; + node_id: string; /** User */ - user: OneOf<[{ + owner: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -39360,311 +32715,218 @@ export interface components { /** Format: uri */ url?: string; }, null]>; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: OneOf<[string, null]>; + }, null]>; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: OneOf<[string, null]>; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; }; - body: OneOf<[string, null]>; - changed_files?: number; - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - comments?: number; /** Format: uri */ - comments_url: string; - commits?: number; + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: OneOf<[string, null]>; /** Format: uri */ - commits_url: string; + timeline_url?: string; + /** @description Title of the issue */ + title: string; /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: OneOf<[string, null]>; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: OneOf<[string, null]>; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: OneOf<[string, null]>; - /** Format: uri */ - languages_url: string; - /** License */ - license: OneOf<[{ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: OneOf<[string, null]>; - }, null]>; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: OneOf<[string, null]>; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string; - /** Format: uri-template */ - releases_url: string; - role_name?: OneOf<[string, null]>; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: (string)[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: OneOf<[{ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues reopened event */ + "webhook-issues-reopened": { + /** @enum {string} */ + action: "reopened"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + issue: ({ + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + /** User */ + assignee?: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + assignees: (OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -39696,17 +32958,32 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; - }, null]>; - }; + }, null]>)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: OneOf<[string, null]>; + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; /** Format: uri */ html_url: string; id: number; - /** Format: uri */ - issue_url: string; - labels: ({ + labels?: ({ /** @description 6-character hex code, without the leading #, identifying the color */ color: string; default: boolean; @@ -39721,52 +32998,9 @@ export interface components { */ url: string; })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: OneOf<[string, null]>; - mergeable?: OneOf<[boolean, null]>; - mergeable_state?: string; - merged?: OneOf<[boolean, null]>; - /** Format: date-time */ - merged_at: OneOf<[string, null]>; - /** User */ - merged_by?: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; /** * Milestone * @description A collection of related issues and pull requests. @@ -39810,7 +33044,7 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>; @@ -39839,12 +33073,28 @@ export interface components { url: string; }, null]>; node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: OneOf<[boolean, null]>; - requested_reviewers: (OneOf<[OneOf<[{ + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: OneOf<[{ + /** Format: date-time */ + created_at: OneOf<[string, null]>; + description: OneOf<[string, null]>; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "reminder")[]; + /** Format: uri */ + external_url: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: OneOf<[number, null]>; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -39876,128 +33126,132 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; - }, null]>, { - deleted?: boolean; - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: OneOf<[{ - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, null]>; - /** @description Permission that the team will have for its repositories */ - permission: string; + }, null]>; + /** @description The set of permissions for the GitHub app */ + permissions?: { /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: OneOf<[string, null]>; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: OneOf<[{ - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, null]>; - /** @description Permission that the team will have for its repositories */ - permission?: string; + actions?: "read" | "write"; /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: OneOf<[string, null]>; + }, null]>; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: OneOf<[string, null]>; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; /** Format: uri */ - review_comments_url: string; + repository_url: string; /** - * @description State of this Pull Request. Either `open` or `closed`. + * @description State of the issue; either 'open' or 'closed' * @enum {string} */ - state: "open" | "closed"; + state?: "open" | "closed"; + state_reason?: OneOf<[string, null]>; /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ + timeline_url?: string; + /** @description Title of the issue */ title: string; /** Format: date-time */ updated_at: string; - /** Format: uri */ + /** + * Format: uri + * @description URL for the issue + */ url: string; /** User */ user: OneOf<[{ @@ -40036,156 +33290,84 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - }; - reason: string; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** pull_request auto_merge_enabled event */ - "webhook-pull-request-auto-merge-enabled": { - /** @enum {string} */ - action: "auto_merge_enabled"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - number: number; - organization?: components["schemas"]["organization-simple"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; + }) & ({ + active_lock_reason?: OneOf<[string, null]>; + assignee?: OneOf<[Record, null]>; + assignees?: (OneOf<[Record, null]>)[]; + author_association?: string; + body?: OneOf<[string, null]>; + closed_at?: OneOf<[string, null]>; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels?: (OneOf<[Record, null]>)[]; + labels_url?: string; + locked?: boolean; + milestone?: OneOf<[Record, null]>; + node_id?: string; + number?: number; + performed_via_github_app?: OneOf<[Record, null]>; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; - additions?: number; - /** User */ - assignee: OneOf<[{ - /** Format: uri */ + repository_url?: string; + /** @enum {string} */ + state: "open" | "closed"; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ events_url?: string; - /** Format: uri */ followers_url?: string; - /** Format: uri-template */ following_url?: string; - /** Format: uri-template */ gists_url?: string; gravatar_id?: string; - /** Format: uri */ html_url?: string; - id: number; - login: string; - name?: string; + id?: number; + login?: string; node_id?: string; - /** Format: uri */ organizations_url?: string; - /** Format: uri */ received_events_url?: string; - /** Format: uri */ repos_url?: string; site_admin?: boolean; - /** Format: uri-template */ starred_url?: string; - /** Format: uri */ subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ + type?: string; url?: string; - }, null]>; - assignees: (OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + }; + }); + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues transferred event */ + "webhook-issues-transferred": { + /** @enum {string} */ + action: "transferred"; + changes: { /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. + * Issue + * @description The [issue](https://docs.github.com/rest/reference/issues) itself. */ - auto_merge: OneOf<[{ - /** @description Commit message for the merge commit. */ - commit_message: OneOf<[string, null]>; - /** @description Title for the merge commit message. */ - commit_title: OneOf<[string, null]>; + new_issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; /** User */ - enabled_by: OneOf<[{ + assignee?: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -40221,189 +33403,173 @@ export interface components { /** Format: uri */ url?: string; }, null]>; + assignees: (OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>)[]; /** - * @description The merge method to use. + * AuthorAssociation + * @description How the author is associated with the repository. * @enum {string} */ - merge_method: "merge" | "squash" | "rebase"; - }, null]>; - base: { - label: string; - ref: string; + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: OneOf<[string, null]>; + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + id: number; + labels?: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + })[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; /** - * Repository - * @description A git repository + * Milestone + * @description A collection of related issues and pull requests. */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + milestone: OneOf<[{ + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + description: OneOf<[string, null]>; + /** Format: date-time */ + due_on: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; /** - * @description Whether the repository is archived. - * @default false + * @description The state of the milestone. + * @enum {string} */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; /** Format: uri */ - deployments_url: string; + url: string; + }, null]>; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: OneOf<[{ + /** Format: date-time */ + created_at: OneOf<[string, null]>; description: OneOf<[string, null]>; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: OneOf<[string, null]>; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; /** Format: uri */ - hooks_url: string; + external_url: OneOf<[string, null]>; /** Format: uri */ html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: OneOf<[string, null]>; - /** Format: uri */ - languages_url: string; - /** License */ - license: OneOf<[{ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: OneOf<[string, null]>; - }, null]>; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: OneOf<[string, null]>; - /** @description The name of the repository. */ + /** @description Unique identifier of the GitHub app */ + id: OneOf<[number, null]>; + /** @description The name of the GitHub app */ name: string; node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; /** User */ owner: OneOf<[{ /** Format: uri */ @@ -40441,77 +33607,129 @@ export interface components { /** Format: uri */ url?: string; }, null]>; + /** @description The set of permissions for the GitHub app */ permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string; - /** Format: uri-template */ - releases_url: string; - role_name?: OneOf<[string, null]>; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: OneOf<[string, null]>; + }, null]>; + pull_request?: { /** Format: uri */ - subscription_url: string; + diff_url?: string; /** Format: uri */ - svn_url: string; + html_url?: string; + /** Format: date-time */ + merged_at?: OneOf<[string, null]>; /** Format: uri */ - tags_url: string; + patch_url?: string; /** Format: uri */ - teams_url: string; - topics: (string)[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; /** Format: uri */ url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; }; - sha: string; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: OneOf<[string, null]>; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; /** User */ user: OneOf<[{ /** Format: uri */ @@ -40550,310 +33768,165 @@ export interface components { url?: string; }, null]>; }; - body: OneOf<[string, null]>; - changed_files?: number; - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; + /** + * Repository + * @description A git repository + */ + new_repository: { /** - * Repository - * @description A git repository + * @description Whether to allow auto-merge for pull requests. + * @default false */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: OneOf<[string, null]>; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: OneOf<[string, null]>; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: OneOf<[string, null]>; - /** Format: uri */ - languages_url: string; - /** License */ - license: OneOf<[{ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: OneOf<[string, null]>; - }, null]>; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: OneOf<[string, null]>; - /** @description The name of the repository. */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: OneOf<[string, null]>; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: OneOf<[string, null]>; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: OneOf<[string, null]>; + /** Format: uri */ + languages_url: string; + /** License */ + license: OneOf<[{ + key: string; name: string; node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string; - /** Format: uri-template */ - releases_url: string; - role_name?: OneOf<[string, null]>; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: (string)[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; + spdx_id: string; /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; + url: OneOf<[string, null]>; + }, null]>; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: OneOf<[string, null]>; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; /** User */ - user: OneOf<[{ + owner: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -40889,38 +33962,66 @@ export interface components { /** Format: uri */ url?: string; }, null]>; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: OneOf<[string, null]>; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: (string)[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: OneOf<[string, null]>; - mergeable?: OneOf<[boolean, null]>; - mergeable_state?: string; - merged?: OneOf<[boolean, null]>; - /** Format: date-time */ - merged_at: OneOf<[string, null]>; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/reference/issues) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; /** User */ - merged_by?: OneOf<[{ + assignee?: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -40956,6 +34057,81 @@ export interface components { /** Format: uri */ url?: string; }, null]>; + assignees: (OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: OneOf<[string, null]>; + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + id: number; + labels?: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + })[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; /** * Milestone * @description A collection of related issues and pull requests. @@ -40999,7 +34175,7 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; @@ -41028,12 +34204,28 @@ export interface components { url: string; }, null]>; node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: OneOf<[boolean, null]>; - requested_reviewers: (OneOf<[OneOf<[{ + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: OneOf<[{ + /** Format: date-time */ + created_at: OneOf<[string, null]>; + description: OneOf<[string, null]>; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; + /** Format: uri */ + external_url: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: OneOf<[number, null]>; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -41065,128 +34257,132 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; - }, null]>, { - deleted?: boolean; - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: OneOf<[{ - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, null]>; - /** @description Permission that the team will have for its repositories */ - permission: string; + }, null]>; + /** @description The set of permissions for the GitHub app */ + permissions?: { /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: OneOf<[string, null]>; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: OneOf<[{ - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, null]>; - /** @description Permission that the team will have for its repositories */ - permission?: string; + actions?: "read" | "write"; /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: OneOf<[string, null]>; + }, null]>; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: OneOf<[string, null]>; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; /** Format: uri */ - review_comments_url: string; + repository_url: string; /** - * @description State of this Pull Request. Either `open` or `closed`. + * @description State of the issue; either 'open' or 'closed' * @enum {string} */ - state: "open" | "closed"; + state?: "open" | "closed"; + state_reason?: OneOf<[string, null]>; /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ + timeline_url?: string; + /** @description Title of the issue */ title: string; /** Format: date-time */ updated_at: string; - /** Format: uri */ + /** + * Format: uri + * @description URL for the issue + */ url: string; /** User */ user: OneOf<[{ @@ -41221,72 +34417,70 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; }; - reason?: string; + organization?: components["schemas"]["organization-simple"]; repository: components["schemas"]["repository"]; sender: components["schemas"]["simple-user"]; }; - /** pull_request closed event */ - "webhook-pull-request-closed": { - /** @enum {string} */ - action: "closed"; + /** issues unassigned event */ + "webhook-issues-unassigned": { + /** + * @description The action that was performed. + * @enum {string} + */ + action: "unassigned"; + /** User */ + assignee?: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; enterprise?: components["schemas"]["enterprise"]; installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple"]; - pull_request: ({ - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/reference/issues) itself. + */ + issue: { /** @enum {string|null} */ active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; - additions?: number; /** User */ - assignee: OneOf<[{ + assignee?: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -41364,17 +34558,51 @@ export interface components { * @enum {string} */ author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: OneOf<[string, null]>; + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + id: number; + labels?: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + })[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. + * Milestone + * @description A collection of related issues and pull requests. */ - auto_merge: OneOf<[{ - /** @description Commit message for the merge commit. */ - commit_message: OneOf<[string, null]>; - /** @description Title for the merge commit message. */ - commit_title: OneOf<[string, null]>; + milestone: OneOf<[{ + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + closed_issues: number; + /** Format: date-time */ + created_at: string; /** User */ - enabled_by: OneOf<[{ + creator: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -41406,298 +34634,308 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>; + description: OneOf<[string, null]>; + /** Format: date-time */ + due_on: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; /** - * @description The merge method to use. + * @description The state of the milestone. * @enum {string} */ - merge_method: "merge" | "squash" | "rebase"; + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; }, null]>; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: OneOf<[{ + /** Format: date-time */ + created_at: OneOf<[string, null]>; + description: OneOf<[string, null]>; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "pull_request_review_thread")[]; + /** Format: uri */ + external_url: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: OneOf<[number, null]>; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: OneOf<[{ /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; /** Format: uri-template */ - commits_url: string; + events_url?: string; + /** Format: uri */ + followers_url?: string; /** Format: uri-template */ - compare_url: string; + following_url?: string; /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; + gists_url?: string; + gravatar_id?: string; /** Format: uri */ - deployments_url: string; - description: OneOf<[string, null]>; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; /** Format: uri */ - downloads_url: string; + organizations_url?: string; /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; + received_events_url?: string; /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; + repos_url?: string; + site_admin?: boolean; /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: OneOf<[string, null]>; + starred_url?: string; /** Format: uri */ - hooks_url: string; + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: OneOf<[string, null]>; - /** Format: uri */ - languages_url: string; - /** License */ - license: OneOf<[{ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: OneOf<[string, null]>; - }, null]>; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: OneOf<[string, null]>; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string; - /** Format: uri-template */ - releases_url: string; - role_name?: OneOf<[string, null]>; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: (string)[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; + url?: string; + }, null]>; + /** @description The set of permissions for the GitHub app */ + permissions?: { /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; }; - sha: string; - /** User */ - user: OneOf<[{ + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: OneOf<[string, null]>; + }, null]>; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: OneOf<[string, null]>; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: OneOf<[string, null]>; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + }; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues unlabeled event */ + "webhook-issues-unlabeled": { + /** @enum {string} */ + action: "unlabeled"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/reference/issues) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + /** User */ + assignee?: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + assignees: (OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -41729,296 +34967,143 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; - }, null]>; - }; + }, null]>)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ body: OneOf<[string, null]>; - changed_files?: number; /** Format: date-time */ closed_at: OneOf<[string, null]>; - comments?: number; + comments: number; /** Format: uri */ comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; /** Format: date-time */ created_at: string; - deletions?: number; + draft?: boolean; /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: OneOf<[string, null]>; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: OneOf<[{ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + events_url: string; + /** Format: uri */ + html_url: string; + id: number; + labels?: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; /** - * @description Whether the repository is archived. - * @default false + * Format: uri + * @description URL for the label */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; + url: string; + })[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: OneOf<[{ + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: OneOf<[{ /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; /** Format: uri-template */ - commits_url: string; + events_url?: string; + /** Format: uri */ + followers_url?: string; /** Format: uri-template */ - compare_url: string; + following_url?: string; /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; + gists_url?: string; + gravatar_id?: string; /** Format: uri */ - deployments_url: string; - description: OneOf<[string, null]>; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; /** Format: uri */ - downloads_url: string; + organizations_url?: string; /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; + received_events_url?: string; /** Format: uri */ - forks_url: string; - full_name: string; + repos_url?: string; + site_admin?: boolean; /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: OneOf<[string, null]>; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: OneOf<[string, null]>; - /** Format: uri */ - languages_url: string; - /** License */ - license: OneOf<[{ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: OneOf<[string, null]>; - }, null]>; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit message title. - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: OneOf<[string, null]>; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string; - /** Format: uri-template */ - releases_url: string; - role_name?: OneOf<[string, null]>; - size: number; - /** - * @description The default value for a squash merge commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title. - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: (string)[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; + starred_url?: string; /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; + subscriptions_url?: string; /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; }, null]>; - sha: string; + description: OneOf<[string, null]>; + /** Format: date-time */ + due_on: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }, null]>; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: OneOf<[{ + /** Format: date-time */ + created_at: OneOf<[string, null]>; + description: OneOf<[string, null]>; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "pull_request_review_thread")[]; + /** Format: uri */ + external_url: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: OneOf<[number, null]>; + /** @description The name of the GitHub app */ + name: string; + node_id: string; /** User */ - user: OneOf<[{ + owner: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -42054,38 +35139,131 @@ export interface components { /** Format: uri */ url?: string; }, null]>; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: OneOf<[string, null]>; + }, null]>; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: OneOf<[string, null]>; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; }; /** Format: uri */ - html_url: string; - id: number; + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: OneOf<[string, null]>; /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: OneOf<[string, null]>; - mergeable?: OneOf<[boolean, null]>; - mergeable_state?: string; - merged?: OneOf<[boolean, null]>; + timeline_url?: string; + /** @description Title of the issue */ + title: string; /** Format: date-time */ - merged_at: OneOf<[string, null]>; + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; /** User */ - merged_by?: OneOf<[{ + user: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -42117,22 +35295,78 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>; + }; + /** Label */ + label?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; /** - * Milestone - * @description A collection of related issues and pull requests. + * Format: uri + * @description URL for the label */ - milestone: OneOf<[{ - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: OneOf<[{ + url: string; + }; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues unlocked event */ + "webhook-issues-unlocked": { + /** @enum {string} */ + action: "unlocked"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + issue: ({ + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + /** User */ + assignee?: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + assignees: (OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -42164,50 +35398,70 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; - }, null]>; - description: OneOf<[string, null]>; - /** Format: date-time */ - due_on: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }, null]>; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; + }, null]>)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: OneOf<[string, null]>; + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + comments: number; /** Format: uri */ - patch_url: string; - rebaseable?: OneOf<[boolean, null]>; - requested_reviewers: (OneOf<[OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + id: number; + labels?: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + })[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: OneOf<[{ + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ following_url?: string; /** Format: uri-template */ gists_url?: string; @@ -42230,128 +35484,214 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; - }, null]>, { - deleted?: boolean; - /** @description Description of the team */ - description: OneOf<[string, null]>; + }, null]>; + description: OneOf<[string, null]>; + /** Format: date-time */ + due_on: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }, null]>; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: OneOf<[{ + /** Format: date-time */ + created_at: OneOf<[string, null]>; + description: OneOf<[string, null]>; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; + /** Format: uri */ + external_url: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: OneOf<[number, null]>; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: OneOf<[{ /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: OneOf<[{ - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, null]>; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; + events_url?: string; /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: OneOf<[string, null]>; + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; /** Format: uri */ html_url?: string; - /** @description Unique identifier of the team */ id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; + login: string; + name?: string; node_id?: string; - parent?: OneOf<[{ - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, null]>; - /** @description Permission that the team will have for its repositories */ - permission?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; + }, null]>; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: OneOf<[string, null]>; + }, null]>; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: OneOf<[string, null]>; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; /** Format: uri */ - review_comments_url: string; + repository_url: string; /** - * @description State of this Pull Request. Either `open` or `closed`. + * @description State of the issue; either 'open' or 'closed' * @enum {string} */ - state: "open" | "closed"; + state?: "open" | "closed"; + state_reason?: OneOf<[string, null]>; /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ + timeline_url?: string; + /** @description Title of the issue */ title: string; /** Format: date-time */ updated_at: string; - /** Format: uri */ + /** + * Format: uri + * @description URL for the issue + */ url: string; /** User */ user: OneOf<[{ @@ -42386,361 +35726,46 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; - }) & ({ - _links?: { - comments?: { - href?: string; - }; - commits?: { - href?: string; - }; - html?: { - href?: string; - }; - issue?: { - href?: string; - }; - review_comment?: { - href?: string; - }; - review_comments?: { - href?: string; - }; - self?: { - href?: string; - }; - statuses?: { - href?: string; - }; - }; - active_lock_reason?: OneOf<[string, null]>; - additions?: number; + }) & { + active_lock_reason: null; assignee?: OneOf<[Record, null]>; assignees?: (OneOf<[Record, null]>)[]; author_association?: string; - auto_merge?: OneOf<[Record, null]>; - base?: { - label?: string; - ref?: string; - repo?: { - allow_auto_merge?: boolean; - allow_forking?: boolean; - allow_merge_commit?: boolean; - allow_rebase_merge?: boolean; - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - archive_url?: string; - archived?: boolean; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - clone_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - created_at?: string; - default_branch?: string; - delete_branch_on_merge?: boolean; - deployments_url?: string; - description?: OneOf<[string, null]>; - disabled?: boolean; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks?: number; - forks_count?: number; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - has_downloads?: boolean; - has_issues?: boolean; - has_pages?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - homepage?: OneOf<[string, null]>; - hooks_url?: string; - html_url?: string; - id?: number; - is_template?: boolean; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - language?: OneOf<[string, null]>; - languages_url?: string; - license?: OneOf<[Record, null]>; - /** @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - merges_url?: string; - milestones_url?: string; - mirror_url?: OneOf<[string, null]>; - name?: string; - node_id?: string; - notifications_url?: string; - open_issues?: number; - open_issues_count?: number; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - pushed_at?: string; - releases_url?: string; - size?: number; - /** @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url?: string; - stargazers_count?: number; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - svn_url?: string; - tags_url?: string; - teams_url?: string; - topics?: (OneOf<[string, null]>)[]; - trees_url?: string; - updated_at?: string; - url?: string; - use_squash_pr_title_as_default?: boolean; - visibility?: string; - watchers?: number; - watchers_count?: number; - web_commit_signoff_required?: boolean; - }; - sha?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }; body?: OneOf<[string, null]>; - changed_files?: number; - /** Format: date-time */ - closed_at: OneOf<[string, null]>; + closed_at?: OneOf<[string, null]>; comments?: number; comments_url?: string; - commits?: number; - commits_url?: string; created_at?: string; - deletions?: number; - diff_url?: string; - draft?: boolean; - head?: { - label?: OneOf<[string, null]>; - ref?: string; - repo?: OneOf<[{ - allow_auto_merge?: boolean; - allow_forking?: boolean; - allow_merge_commit?: boolean; - allow_rebase_merge?: boolean; - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - archive_url?: string; - archived?: boolean; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - clone_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - created_at?: string; - default_branch?: string; - delete_branch_on_merge?: boolean; - deployments_url?: string; - description?: OneOf<[string, null]>; - disabled?: boolean; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks?: number; - forks_count?: number; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - has_downloads?: boolean; - has_issues?: boolean; - has_pages?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - homepage?: OneOf<[string, null]>; - hooks_url?: string; - html_url?: string; - id?: number; - is_template?: boolean; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - language?: OneOf<[string, null]>; - languages_url?: string; - license?: OneOf<[Record, null]>; - /** @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - merges_url?: string; - milestones_url?: string; - mirror_url?: OneOf<[string, null]>; - name?: string; - node_id?: string; - notifications_url?: string; - open_issues?: number; - open_issues_count?: number; - owner?: OneOf<[{ - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }, null]>; - private?: boolean; - pulls_url?: string; - pushed_at?: string; - releases_url?: string; - size?: number; - /** @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url?: string; - stargazers_count?: number; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - svn_url?: string; - tags_url?: string; - teams_url?: string; - topics?: (OneOf<[string, null]>)[]; - trees_url?: string; - updated_at?: string; - url?: string; - use_squash_pr_title_as_default?: boolean; - visibility?: string; - watchers?: number; - watchers_count?: number; - web_commit_signoff_required?: boolean; - }, null]>; - sha?: string; - user?: OneOf<[{ - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }, null]>; - }; + events_url?: string; html_url?: string; id?: number; - issue_url?: string; labels?: (OneOf<[Record, null]>)[]; - locked?: boolean; - maintainer_can_modify?: boolean; - merge_commit_sha?: OneOf<[string, null]>; - mergeable?: OneOf<[boolean, null]>; - mergeable_state?: string; - merged: boolean; - merged_at?: OneOf<[string, null]>; - merged_by?: OneOf<[Record, null]>; + labels_url?: string; + /** @enum {boolean} */ + locked: false; milestone?: OneOf<[Record, null]>; node_id?: string; number?: number; - patch_url?: string; - rebaseable?: OneOf<[boolean, null]>; - requested_reviewers?: (OneOf<[Record, null]>)[]; - requested_teams?: (OneOf<[Record, null]>)[]; - review_comment_url?: string; - review_comments?: number; - review_comments_url?: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "closed" | "open"; - statuses_url?: string; + performed_via_github_app?: null; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + state?: string; + timeline_url?: string; title?: string; updated_at?: string; url?: string; @@ -42764,67 +35789,26 @@ export interface components { type?: string; url?: string; }; - }); + }; + organization?: components["schemas"]["organization-simple"]; repository: components["schemas"]["repository"]; sender: components["schemas"]["simple-user"]; }; - /** pull_request converted_to_draft event */ - "webhook-pull-request-converted-to-draft": { + /** issues unpinned event */ + "webhook-issues-unpinned": { /** @enum {string} */ - action: "converted_to_draft"; + action: "unpinned"; enterprise?: components["schemas"]["enterprise"]; installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple"]; - pull_request: ({ - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/reference/issues) itself. + */ + issue: { /** @enum {string|null} */ active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; - additions?: number; /** User */ - assignee: OneOf<[{ + assignee?: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -42902,17 +35886,51 @@ export interface components { * @enum {string} */ author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: OneOf<[string, null]>; + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + id: number; + labels?: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + })[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. + * Milestone + * @description A collection of related issues and pull requests. */ - auto_merge: OneOf<[{ - /** @description Commit message for the merge commit. */ - commit_message: OneOf<[string, null]>; - /** @description Title for the merge commit message. */ - commit_title: OneOf<[string, null]>; + milestone: OneOf<[{ + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + closed_issues: number; + /** Format: date-time */ + created_at: string; /** User */ - enabled_by: OneOf<[{ + creator: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -42948,696 +35966,213 @@ export interface components { /** Format: uri */ url?: string; }, null]>; + description: OneOf<[string, null]>; + /** Format: date-time */ + due_on: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; /** - * @description The merge method to use. + * @description The state of the milestone. * @enum {string} */ - merge_method: "merge" | "squash" | "rebase"; + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; }, null]>; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: OneOf<[{ + /** Format: date-time */ + created_at: OneOf<[string, null]>; + description: OneOf<[string, null]>; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; + /** Format: uri */ + external_url: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: OneOf<[number, null]>; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: OneOf<[{ /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; /** Format: uri-template */ - commits_url: string; + events_url?: string; + /** Format: uri */ + followers_url?: string; /** Format: uri-template */ - compare_url: string; + following_url?: string; /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; + gists_url?: string; + gravatar_id?: string; /** Format: uri */ - deployments_url: string; - description: OneOf<[string, null]>; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; /** Format: uri */ - downloads_url: string; + organizations_url?: string; /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; + received_events_url?: string; /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; + repos_url?: string; + site_admin?: boolean; /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: OneOf<[string, null]>; - /** Format: uri */ - hooks_url: string; + starred_url?: string; /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: OneOf<[string, null]>; - /** Format: uri */ - languages_url: string; - /** License */ - license: OneOf<[{ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: OneOf<[string, null]>; - }, null]>; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: OneOf<[string, null]>; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string; - /** Format: uri-template */ - releases_url: string; - role_name?: OneOf<[string, null]>; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: (string)[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: OneOf<[string, null]>; + }, null]>; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: OneOf<[string, null]>; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; }; - body: OneOf<[string, null]>; - changed_files?: number; - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - comments?: number; /** Format: uri */ - comments_url: string; - commits?: number; + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: OneOf<[string, null]>; /** Format: uri */ - commits_url: string; + timeline_url?: string; + /** @description Title of the issue */ + title: string; /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: OneOf<[{ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: OneOf<[string, null]>; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: OneOf<[string, null]>; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: OneOf<[string, null]>; - /** Format: uri */ - languages_url: string; - /** License */ - license: OneOf<[{ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: OneOf<[string, null]>; - }, null]>; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: OneOf<[string, null]>; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string; - /** Format: uri-template */ - releases_url: string; - role_name?: OneOf<[string, null]>; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: (string)[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }, null]>; - sha: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: OneOf<[string, null]>; - mergeable?: OneOf<[boolean, null]>; - mergeable_state?: string; - merged?: OneOf<[boolean, null]>; - /** Format: date-time */ - merged_at: OneOf<[string, null]>; + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; /** User */ - merged_by?: OneOf<[{ + user: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -43673,1800 +36208,1136 @@ export interface components { /** Format: uri */ url?: string; }, null]>; + }; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** label created event */ + "webhook-label-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + /** Label */ + label: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; /** - * Milestone - * @description A collection of related issues and pull requests. + * Format: uri + * @description URL for the label */ - milestone: OneOf<[{ - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - description: OneOf<[string, null]>; - /** Format: date-time */ - due_on: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }, null]>; + url: string; + }; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender?: components["schemas"]["simple-user"]; + }; + /** label deleted event */ + "webhook-label-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + /** Label */ + label: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: OneOf<[boolean, null]>; - requested_reviewers: (OneOf<[OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>, { - deleted?: boolean; - /** @description Description of the team */ - description?: OneOf<[string, null]>; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: OneOf<[{ - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, null]>; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: OneOf<[string, null]>; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: OneOf<[{ - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, null]>; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} + * Format: uri + * @description URL for the label */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ url: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; + }; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** label edited event */ + "webhook-label-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the label if the action was `edited`. */ + changes?: { + color?: { + /** @description The previous version of the color if the action was `edited`. */ + from: string; + }; + description?: { + /** @description The previous version of the description if the action was `edited`. */ + from: string; + }; + name?: { + /** @description The previous version of the name if the action was `edited`. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + /** Label */ + label: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** marketplace_purchase cancelled event */ + "webhook-marketplace-purchase-cancelled": { + /** @enum {string} */ + action: "cancelled"; + effective_date: string; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + marketplace_purchase: { + account: { id: number; login: string; - name?: string; + node_id: string; + organization_billing_email: OneOf<[string, null]>; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: OneOf<[string, null]>; + next_billing_date?: OneOf<[string, null]>; + on_free_trial: boolean; + plan: { + bullets: (string)[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + price_model: string; + unit_name: OneOf<[string, null]>; + yearly_price_in_cents: number; + }; + unit_count: number; + } & { + account?: { + id?: number; + login?: string; node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>; - }) & ({ - _links?: { - comments?: { - href?: string; - }; - commits?: { - href?: string; - }; - html?: { - href?: string; - }; - issue?: { - href?: string; - }; - review_comment?: { - href?: string; - }; - review_comments?: { - href?: string; - }; - self?: { - href?: string; - }; - statuses?: { - href?: string; - }; + organization_billing_email?: OneOf<[string, null]>; + type?: string; }; - active_lock_reason?: OneOf<[string, null]>; - additions?: number; - assignee?: OneOf<[Record, null]>; - assignees?: (OneOf<[Record, null]>)[]; - author_association?: string; - auto_merge?: OneOf<[Record, null]>; - base?: { - label?: string; - ref?: string; - repo?: { - allow_auto_merge?: boolean; - allow_forking?: boolean; - allow_merge_commit?: boolean; - allow_rebase_merge?: boolean; - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - archive_url?: string; - archived?: boolean; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - clone_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - created_at?: string; - default_branch?: string; - delete_branch_on_merge?: boolean; - deployments_url?: string; - description?: OneOf<[string, null]>; - disabled?: boolean; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks?: number; - forks_count?: number; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - has_downloads?: boolean; - has_issues?: boolean; - has_pages?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - homepage?: OneOf<[string, null]>; - hooks_url?: string; - html_url?: string; - id?: number; - is_template?: boolean; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - language?: OneOf<[string, null]>; - languages_url?: string; - license?: OneOf<[Record, null]>; - /** @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - merges_url?: string; - milestones_url?: string; - mirror_url?: null; - name?: string; - node_id?: string; - notifications_url?: string; - open_issues?: number; - open_issues_count?: number; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - pushed_at?: string; - releases_url?: string; - size?: number; - /** @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url?: string; - stargazers_count?: number; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - svn_url?: string; - tags_url?: string; - teams_url?: string; - topics?: (OneOf<[string, null]>)[]; - trees_url?: string; - updated_at?: string; - url?: string; - use_squash_pr_title_as_default?: boolean; - visibility?: string; - watchers?: number; - watchers_count?: number; - web_commit_signoff_required?: boolean; - }; - sha?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; + billing_cycle?: string; + free_trial_ends_on?: OneOf<[string, null]>; + next_billing_date: OneOf<[string, null]>; + on_free_trial?: boolean; + plan?: { + bullets?: (OneOf<[string, null]>)[]; + description?: string; + has_free_trial?: boolean; + id?: number; + monthly_price_in_cents?: number; + name?: string; + price_model?: string; + unit_name?: OneOf<[string, null]>; + yearly_price_in_cents?: number; }; - body?: OneOf<[string, null]>; - changed_files?: number; - closed_at: OneOf<[string, null]>; - comments?: number; - comments_url?: string; - commits?: number; - commits_url?: string; - created_at?: string; - deletions?: number; - diff_url?: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head?: { - label?: string; - ref?: string; - repo?: OneOf<[{ - allow_auto_merge?: boolean; - allow_forking?: boolean; - allow_merge_commit?: boolean; - allow_rebase_merge?: boolean; - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - archive_url?: string; - archived?: boolean; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - clone_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - created_at?: string; - default_branch?: string; - delete_branch_on_merge?: boolean; - deployments_url?: string; - description?: OneOf<[string, null]>; - disabled?: boolean; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks?: number; - forks_count?: number; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - has_downloads?: boolean; - has_issues?: boolean; - has_pages?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - homepage?: OneOf<[string, null]>; - hooks_url?: string; - html_url?: string; - id?: number; - is_template?: boolean; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - language?: OneOf<[string, null]>; - languages_url?: string; - license?: OneOf<[Record, null]>; - /** @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - merges_url?: string; - milestones_url?: string; - mirror_url?: null; - name?: string; - node_id?: string; - notifications_url?: string; - open_issues?: number; - open_issues_count?: number; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - pushed_at?: string; - releases_url?: string; - size?: number; - /** @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url?: string; - stargazers_count?: number; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - svn_url?: string; - tags_url?: string; - teams_url?: string; - topics?: (OneOf<[string, null]>)[]; - trees_url?: string; - updated_at?: string; - url?: string; - use_squash_pr_title_as_default?: boolean; - visibility?: string; - watchers?: number; - watchers_count?: number; - web_commit_signoff_required?: boolean; - }, null]>; - sha?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; + unit_count?: number; + }; + organization?: components["schemas"]["organization-simple"]; + /** Marketplace Purchase */ + previous_marketplace_purchase?: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: OneOf<[string, null]>; + type: string; }; - html_url?: string; - id?: number; - issue_url?: string; - labels?: (OneOf<[Record, null]>)[]; - locked?: boolean; - maintainer_can_modify?: boolean; - merge_commit_sha?: OneOf<[string, null]>; - mergeable?: OneOf<[boolean, null]>; - mergeable_state?: string; - /** @enum {boolean} */ - merged: false; - merged_at: null; - merged_by: null; - milestone?: OneOf<[Record, null]>; - node_id?: string; - number?: number; - patch_url?: string; - rebaseable?: OneOf<[boolean, null]>; - requested_reviewers?: (OneOf<[Record, null]>)[]; - requested_teams?: (OneOf<[Record, null]>)[]; - review_comment_url?: string; - review_comments?: number; - review_comments_url?: string; - state?: string; - statuses_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; + billing_cycle: string; + free_trial_ends_on: null; + next_billing_date?: OneOf<[string, null]>; + on_free_trial: boolean; + plan: { + bullets: (string)[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + price_model: string; + unit_name: OneOf<[string, null]>; + yearly_price_in_cents: number; + }; + unit_count: number; + }; + repository?: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** marketplace_purchase changed event */ + "webhook-marketplace-purchase-changed": { + /** @enum {string} */ + action: "changed"; + effective_date: string; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + marketplace_purchase: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: OneOf<[string, null]>; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: OneOf<[string, null]>; + next_billing_date?: OneOf<[string, null]>; + on_free_trial: boolean; + plan: { + bullets: (string)[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + price_model: string; + unit_name: OneOf<[string, null]>; + yearly_price_in_cents: number; + }; + unit_count: number; + } & { + account?: { id?: number; login?: string; node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; + organization_billing_email?: OneOf<[string, null]>; type?: string; - url?: string; }; - }); - repository: components["schemas"]["repository"]; + billing_cycle?: string; + free_trial_ends_on?: OneOf<[string, null]>; + next_billing_date: OneOf<[string, null]>; + on_free_trial?: boolean; + plan?: { + bullets?: (OneOf<[string, null]>)[]; + description?: string; + has_free_trial?: boolean; + id?: number; + monthly_price_in_cents?: number; + name?: string; + price_model?: string; + unit_name?: OneOf<[string, null]>; + yearly_price_in_cents?: number; + }; + unit_count?: number; + }; + organization?: components["schemas"]["organization-simple"]; + /** Marketplace Purchase */ + previous_marketplace_purchase?: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: OneOf<[string, null]>; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: OneOf<[string, null]>; + next_billing_date?: OneOf<[string, null]>; + on_free_trial: OneOf<[boolean, null]>; + plan: { + bullets: (string)[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + price_model: string; + unit_name: OneOf<[string, null]>; + yearly_price_in_cents: number; + }; + unit_count: number; + }; + repository?: components["schemas"]["repository"]; sender: components["schemas"]["simple-user"]; }; - /** pull_request demilestoned event */ - "webhook-pull-request-demilestoned": { + /** marketplace_purchase pending_change event */ + "webhook-marketplace-purchase-pending-change": { /** @enum {string} */ - action: "demilestoned"; + action: "pending_change"; + effective_date: string; enterprise?: components["schemas"]["enterprise"]; - milestone?: components["schemas"]["milestone"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; - additions?: number; - /** User */ - assignee: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; + installation?: components["schemas"]["simple-installation"]; + marketplace_purchase: { + account: { id: number; login: string; + node_id: string; + organization_billing_email: OneOf<[string, null]>; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: OneOf<[string, null]>; + next_billing_date?: OneOf<[string, null]>; + on_free_trial: boolean; + plan: { + bullets: (string)[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + price_model: string; + unit_name: OneOf<[string, null]>; + yearly_price_in_cents: number; + }; + unit_count: number; + } & { + account?: { + id?: number; + login?: string; + node_id?: string; + organization_billing_email?: OneOf<[string, null]>; + type?: string; + }; + billing_cycle?: string; + free_trial_ends_on?: OneOf<[string, null]>; + next_billing_date: OneOf<[string, null]>; + on_free_trial?: boolean; + plan?: { + bullets?: (OneOf<[string, null]>)[]; + description?: string; + has_free_trial?: boolean; + id?: number; + monthly_price_in_cents?: number; name?: string; + price_model?: string; + unit_name?: OneOf<[string, null]>; + yearly_price_in_cents?: number; + }; + unit_count?: number; + }; + organization?: components["schemas"]["organization-simple"]; + /** Marketplace Purchase */ + previous_marketplace_purchase?: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: OneOf<[string, null]>; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: OneOf<[string, null]>; + next_billing_date?: OneOf<[string, null]>; + on_free_trial: boolean; + plan: { + bullets: (string)[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + price_model: string; + unit_name: OneOf<[string, null]>; + yearly_price_in_cents: number; + }; + unit_count: number; + }; + repository?: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** marketplace_purchase pending_change_cancelled event */ + "webhook-marketplace-purchase-pending-change-cancelled": { + /** @enum {string} */ + action: "pending_change_cancelled"; + effective_date: string; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + marketplace_purchase: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: OneOf<[string, null]>; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: null; + next_billing_date?: OneOf<[string, null]>; + on_free_trial: boolean; + plan: { + bullets: (string)[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + price_model: string; + unit_name: OneOf<[string, null]>; + yearly_price_in_cents: number; + }; + unit_count: number; + } & { + next_billing_date: string; + }; + organization?: components["schemas"]["organization-simple"]; + /** Marketplace Purchase */ + previous_marketplace_purchase?: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: OneOf<[string, null]>; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: null; + next_billing_date?: OneOf<[string, null]>; + on_free_trial: boolean; + plan: { + bullets: (string)[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + price_model: string; + unit_name: OneOf<[string, null]>; + yearly_price_in_cents: number; + }; + unit_count: number; + }; + repository?: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** marketplace_purchase purchased event */ + "webhook-marketplace-purchase-purchased": { + /** @enum {string} */ + action: "purchased"; + effective_date: string; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + marketplace_purchase: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: OneOf<[string, null]>; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: OneOf<[string, null]>; + next_billing_date?: OneOf<[string, null]>; + on_free_trial: boolean; + plan: { + bullets: (string)[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + price_model: string; + unit_name: OneOf<[string, null]>; + yearly_price_in_cents: number; + }; + unit_count: number; + } & { + account?: { + id?: number; + login?: string; node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; + organization_billing_email?: OneOf<[string, null]>; + type?: string; + }; + billing_cycle?: string; + free_trial_ends_on?: OneOf<[string, null]>; + next_billing_date: OneOf<[string, null]>; + on_free_trial?: boolean; + plan?: { + bullets?: (OneOf<[string, null]>)[]; + description?: string; + has_free_trial?: boolean; + id?: number; + monthly_price_in_cents?: number; + name?: string; + price_model?: string; + unit_name?: OneOf<[string, null]>; + yearly_price_in_cents?: number; + }; + unit_count?: number; + }; + organization?: components["schemas"]["organization-simple"]; + /** Marketplace Purchase */ + previous_marketplace_purchase?: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: OneOf<[string, null]>; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: null; + next_billing_date?: OneOf<[string, null]>; + on_free_trial: boolean; + plan: { + bullets: (string)[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + price_model: string; + unit_name: OneOf<[string, null]>; + yearly_price_in_cents: number; + }; + unit_count: number; + }; + repository?: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** member added event */ + "webhook-member-added": { + /** @enum {string} */ + action: "added"; + changes?: { + permission?: { /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>; - assignees: (OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: OneOf<[{ - /** @description Commit message for the merge commit. */ - commit_message: OneOf<[string, null]>; - /** @description Title for the merge commit message. */ - commit_title: OneOf<[string, null]>; - /** User */ - enabled_by: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }, null]>; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: OneOf<[string, null]>; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: OneOf<[string, null]>; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: OneOf<[string, null]>; - /** Format: uri */ - languages_url: string; - /** License */ - license: OneOf<[{ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: OneOf<[string, null]>; - }, null]>; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: OneOf<[string, null]>; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string; - /** Format: uri-template */ - releases_url: string; - role_name?: OneOf<[string, null]>; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: (string)[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; + to: "write" | "admin" | "read"; }; - body: OneOf<[string, null]>; - changed_files?: number; - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - comments?: number; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + /** User */ + member: OneOf<[{ /** Format: uri */ - comments_url: string; - commits?: number; + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** member edited event */ + "webhook-member-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the collaborator permissions */ + changes: { + old_permission?: { + /** @description The previous permissions of the collaborator if the action was edited. */ + from: string; + }; + permission?: { + from?: OneOf<[string, null]>; + to?: OneOf<[string, null]>; + }; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + /** User */ + member: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** member removed event */ + "webhook-member-removed": { + /** @enum {string} */ + action: "removed"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + /** User */ + member: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** membership added event */ + "webhook-membership-added": { + /** @enum {string} */ + action: "added"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + /** User */ + member: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + organization: components["schemas"]["organization-simple"]; + repository?: components["schemas"]["repository"]; + /** + * @description The scope of the membership. Currently, can only be `team`. + * @enum {string} + */ + scope: "team"; + /** User */ + sender: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + team: { + deleted?: boolean; + /** @description Description of the team */ + description?: OneOf<[string, null]>; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: OneOf<[{ + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; /** - * Repository - * @description A git repository + * Format: uri + * @description URL for the team */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: OneOf<[string, null]>; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: OneOf<[string, null]>; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: OneOf<[string, null]>; - /** Format: uri */ - languages_url: string; - /** License */ - license: OneOf<[{ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: OneOf<[string, null]>; - }, null]>; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: OneOf<[string, null]>; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string; - /** Format: uri-template */ - releases_url: string; - role_name?: OneOf<[string, null]>; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: (string)[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - }; + url: string; + }, null]>; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; /** Format: uri */ - html_url: string; + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }; + }; + /** membership removed event */ + "webhook-membership-removed": { + /** @enum {string} */ + action: "removed"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + /** User */ + member: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; id: number; + login: string; + name?: string; + node_id?: string; /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: OneOf<[string, null]>; - mergeable?: OneOf<[boolean, null]>; - mergeable_state?: string; - merged?: OneOf<[boolean, null]>; - /** Format: date-time */ - merged_at: OneOf<[string, null]>; - /** User */ - merged_by?: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + organization: components["schemas"]["organization-simple"]; + repository?: components["schemas"]["repository"]; + /** + * @description The scope of the membership. Currently, can only be `team`. + * @enum {string} + */ + scope: "team" | "organization"; + /** User */ + sender: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + team: { + deleted?: boolean; + /** @description Description of the team */ + description?: OneOf<[string, null]>; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: OneOf<[{ + /** @description Description of the team */ + description: OneOf<[string, null]>; /** Format: uri */ - html_url?: string; + html_url: string; + /** @description Unique identifier of the team */ id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + privacy: "open" | "closed" | "secret"; /** Format: uri */ - url?: string; + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; }, null]>; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; /** - * Milestone - * @description A collection of related issues and pull requests. + * Format: uri + * @description URL for the team */ - milestone: OneOf<[{ - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>; - description: OneOf<[string, null]>; - /** Format: date-time */ - due_on: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; + url?: string; + }; + }; + "webhook-merge-group-checks-requested": { + action: string; + installation?: components["schemas"]["simple-installation"]; + /** MergeGroup */ + merge_group: { + /** @description The SHA of the merge group. */ + head_sha: string; + /** @description The full ref of the merge group. */ + head_ref: string; + /** @description The SHA of the merge group's parent commit. */ + base_sha: string; + /** @description The full ref of the branch the merge group will be merged into. */ + base_ref: string; + /** SimpleCommit */ + head_commit: { /** - * @description The state of the milestone. - * @enum {string} + * Committer + * @description Metaproperties for Git author/committer information. */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: OneOf<[string, null]>; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: OneOf<[string, null]>; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + }; + organization?: components["schemas"]["organization-simple"]; + repository?: components["schemas"]["repository"]; + sender?: components["schemas"]["simple-user"]; + }; + /** meta deleted event */ + "webhook-meta-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise"]; + /** @description The modified webhook. This will contain different keys based on the type of webhook it is: repository, organization, business, app, or GitHub Marketplace. */ + hook: { + active: boolean; + config: { + /** @enum {string} */ + content_type: "json" | "form"; + insecure_ssl: string; + secret?: string; /** Format: uri */ url: string; + }; + created_at: string; + events: ("*" | "branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "create" | "delete" | "deployment" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "meta" | "milestone" | "organization" | "org_block" | "package" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "pull_request_review_thread" | "push" | "registry_package" | "release" | "repository" | "repository_import" | "repository_vulnerability_alert" | "secret_scanning_alert" | "secret_scanning_alert_location" | "security_and_analysis" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_job" | "workflow_run" | "repository_dispatch" | "projects_v2_item")[]; + id: number; + name: string; + type: string; + updated_at: string; + }; + /** @description The id of the modified webhook. */ + hook_id: number; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository?: null | components["schemas"]["repository"]; + sender?: components["schemas"]["simple-user"]; + }; + /** milestone closed event */ + "webhook-milestone-closed": { + /** @enum {string} */ + action: "closed"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; }, null]>; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; + description: OneOf<[string, null]>; + /** Format: date-time */ + due_on: OneOf<[string, null]>; /** Format: uri */ - patch_url: string; - rebaseable?: OneOf<[boolean, null]>; - requested_reviewers: (OneOf<[OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>, { - deleted?: boolean; - /** @description Description of the team */ - description?: OneOf<[string, null]>; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: OneOf<[{ - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, null]>; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: OneOf<[string, null]>; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: OneOf<[{ - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, null]>; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; + html_url: string; + id: number; /** Format: uri */ - review_comments_url: string; + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; /** - * @description State of this Pull Request. Either `open` or `closed`. + * @description The state of the milestone. * @enum {string} */ state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ + /** @description The title of the milestone. */ title: string; /** Format: date-time */ updated_at: string; /** Format: uri */ url: string; + }; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** milestone created event */ + "webhook-milestone-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + closed_issues: number; + /** Format: date-time */ + created_at: string; /** User */ - user: OneOf<[{ + creator: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -45498,91 +37369,56 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; + description: OneOf<[string, null]>; + /** Format: date-time */ + due_on: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; }; + organization?: components["schemas"]["organization-simple"]; repository: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; + sender: components["schemas"]["simple-user"]; }; - /** pull_request edited event */ - "webhook-pull-request-edited": { + /** milestone deleted event */ + "webhook-milestone-deleted": { /** @enum {string} */ - action: "edited"; - /** @description The changes to the comment if the action was `edited`. */ - changes: { - base?: { - ref: { - from: string; - }; - sha: { - from: string; - }; - }; - body?: { - /** @description The previous version of the body if the action was `edited`. */ - from: string; - }; - title?: { - /** @description The previous version of the title if the action was `edited`. */ - from: string; - }; - }; + action: "deleted"; enterprise?: components["schemas"]["enterprise"]; installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; - additions?: number; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + closed_issues: number; + /** Format: date-time */ + created_at: string; /** User */ - assignee: OneOf<[{ + creator: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -45618,794 +37454,148 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - assignees: (OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>)[]; + description: OneOf<[string, null]>; + /** Format: date-time */ + due_on: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; /** - * AuthorAssociation - * @description How the author is associated with the repository. + * @description The state of the milestone. * @enum {string} */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: OneOf<[{ - /** @description Commit message for the merge commit. */ - commit_message: OneOf<[string, null]>; - /** @description Title for the merge commit message. */ - commit_title: OneOf<[string, null]>; - /** User */ - enabled_by: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }, null]>; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: OneOf<[string, null]>; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: OneOf<[string, null]>; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: OneOf<[string, null]>; - /** Format: uri */ - languages_url: string; - /** License */ - license: OneOf<[{ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: OneOf<[string, null]>; - }, null]>; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: OneOf<[string, null]>; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string; - /** Format: uri-template */ - releases_url: string; - role_name?: OneOf<[string, null]>; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: (string)[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** milestone edited event */ + "webhook-milestone-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the milestone if the action was `edited`. */ + changes: { + description?: { + /** @description The previous version of the description if the action was `edited`. */ + from: string; }; - body: OneOf<[string, null]>; - changed_files?: number; + due_on?: { + /** @description The previous version of the due date if the action was `edited`. */ + from: string; + }; + title?: { + /** @description The previous version of the title if the action was `edited`. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { /** Format: date-time */ closed_at: OneOf<[string, null]>; - comments?: number; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + description: OneOf<[string, null]>; + /** Format: date-time */ + due_on: OneOf<[string, null]>; /** Format: uri */ - comments_url: string; - commits?: number; + html_url: string; + id: number; /** Format: uri */ - commits_url: string; + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; /** Format: date-time */ - created_at: string; - deletions?: number; + updated_at: string; /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: OneOf<[string, null]>; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: OneOf<[{ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: OneOf<[string, null]>; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: OneOf<[string, null]>; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: OneOf<[string, null]>; - /** Format: uri */ - languages_url: string; - /** License */ - license: OneOf<[{ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: OneOf<[string, null]>; - }, null]>; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: OneOf<[string, null]>; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string; - /** Format: uri-template */ - releases_url: string; - role_name?: OneOf<[string, null]>; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: (string)[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }, null]>; - sha: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: OneOf<[string, null]>; - mergeable?: OneOf<[boolean, null]>; - mergeable_state?: string; - merged?: OneOf<[boolean, null]>; + url: string; + }; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** milestone opened event */ + "webhook-milestone-opened": { + /** @enum {string} */ + action: "opened"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { /** Format: date-time */ - merged_at: OneOf<[string, null]>; + closed_at: OneOf<[string, null]>; + closed_issues: number; + /** Format: date-time */ + created_at: string; /** User */ - merged_by?: OneOf<[{ + creator: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -46437,240 +37627,147 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: OneOf<[{ - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>; - description: OneOf<[string, null]>; - /** Format: date-time */ - due_on: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }, null]>; + description: OneOf<[string, null]>; + /** Format: date-time */ + due_on: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ + /** @description The number of the milestone. */ number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; /** Format: uri */ - patch_url: string; - rebaseable?: OneOf<[boolean, null]>; - requested_reviewers: (OneOf<[OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>, { - deleted?: boolean; - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: OneOf<[{ - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, null]>; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: OneOf<[string, null]>; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: OneOf<[{ - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, null]>; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; + url: string; + }; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** org_block blocked event */ + "webhook-org-block-blocked": { + /** @enum {string} */ + action: "blocked"; + /** User */ + blocked_user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; + events_url?: string; /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple"]; + repository?: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** org_block unblocked event */ + "webhook-org-block-unblocked": { + /** @enum {string} */ + action: "unblocked"; + /** User */ + blocked_user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple"]; + repository?: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** organization deleted event */ + "webhook-organization-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Membership + * @description The membership between the user and the organization. Not present when the action is `member_invited`. + */ + membership?: { + /** Format: uri */ + organization_url: string; + role: string; + state: string; /** Format: uri */ url: string; /** User */ @@ -46706,88 +37803,193 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; }; - repository: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; + organization: components["schemas"]["organization-simple"]; + repository?: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; }; - /** pull_request labeled event */ - "webhook-pull-request-labeled": { + /** organization member_added event */ + "webhook-organization-member-added": { /** @enum {string} */ - action: "labeled"; + action: "member_added"; enterprise?: components["schemas"]["enterprise"]; installation?: components["schemas"]["simple-installation"]; - /** Label */ - label?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; + /** + * Membership + * @description The membership between the user and the organization. Not present when the action is `member_invited`. + */ + membership: { + /** Format: uri */ + organization_url: string; + role: string; + state: string; + /** Format: uri */ + url: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }; + organization: components["schemas"]["organization-simple"]; + repository?: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** organization member_invited event */ + "webhook-organization-member-invited": { + /** @enum {string} */ + action: "member_invited"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The invitation for the user or email if the action is `member_invited`. */ + invitation: { + /** Format: date-time */ + created_at: string; + email: OneOf<[string, null]>; + /** Format: date-time */ + failed_at: OneOf<[string, null]>; + failed_reason: OneOf<[string, null]>; id: number; - /** @description The name of the label. */ - name: string; + /** Format: uri */ + invitation_teams_url: string; + /** User */ + inviter: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + login: OneOf<[string, null]>; node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; + role: string; + team_count: number; }; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; - additions?: number; + organization: components["schemas"]["organization-simple"]; + repository?: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + /** User */ + user?: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }; + /** organization member_removed event */ + "webhook-organization-member-removed": { + /** @enum {string} */ + action: "member_removed"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Membership + * @description The membership between the user and the organization. Not present when the action is `member_invited`. + */ + membership: { + /** Format: uri */ + organization_url: string; + role: string; + state: string; + /** Format: uri */ + url: string; /** User */ - assignee: OneOf<[{ + user: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -46819,63 +38021,137 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; - assignees: (OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: OneOf<[{ - /** @description Commit message for the merge commit. */ - commit_message: OneOf<[string, null]>; - /** @description Title for the merge commit message. */ - commit_title: OneOf<[string, null]>; + }; + organization: components["schemas"]["organization-simple"]; + repository?: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** organization renamed event */ + "webhook-organization-renamed": { + /** @enum {string} */ + action: "renamed"; + changes?: { + login?: { + from?: string; + }; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Membership + * @description The membership between the user and the organization. Not present when the action is `member_invited`. + */ + membership?: { + /** Format: uri */ + organization_url: string; + role: string; + state: string; + /** Format: uri */ + url: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }; + organization: components["schemas"]["organization-simple"]; + repository?: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** package published event */ + "webhook-package-published": { + /** @enum {string} */ + action: "published"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + /** @description Information about the package. */ + package: { + created_at: OneOf<[string, null]>; + description: OneOf<[string, null]>; + ecosystem: string; + /** Format: uri */ + html_url: string; + id: number; + name: string; + namespace: string; + /** User */ + owner: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + package_type: string; + package_version: OneOf<[{ /** User */ - enabled_by: OneOf<[{ + author?: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -46911,191 +38187,97 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }, null]>; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: OneOf<[string, null]>; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: OneOf<[string, null]>; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: OneOf<[string, null]>; - /** Format: uri */ - languages_url: string; - /** License */ - license: OneOf<[{ - key: string; - name: string; - node_id: string; - spdx_id: string; + body?: string | Record; + body_html?: string; + container_metadata?: OneOf<[{ + labels?: OneOf<[Record, null]>; + manifest?: OneOf<[Record, null]>; + tag?: { + digest?: string; + name?: string; + }; + }, null]>; + created_at?: string; + description: string; + docker_metadata?: (Record)[]; + draft?: boolean; + /** Format: uri */ + html_url: string; + id: number; + installation_command: string; + manifest?: string; + metadata: ({ + [key: string]: unknown | undefined; + })[]; + name: string; + npm_metadata?: OneOf<[{ + name?: string; + version?: string; + npm_user?: string; + author?: OneOf<[Record, null]>; + bugs?: OneOf<[Record, null]>; + dependencies?: Record; + dev_dependencies?: Record; + peer_dependencies?: Record; + optional_dependencies?: Record; + description?: string; + dist?: OneOf<[Record, null]>; + git_head?: string; + homepage?: string; + license?: string; + main?: string; + repository?: OneOf<[Record, null]>; + scripts?: Record; + id?: string; + node_version?: string; + npm_version?: string; + has_shrinkwrap?: boolean; + maintainers?: (Record)[]; + contributors?: (Record)[]; + engines?: Record; + keywords?: (string)[]; + files?: (string)[]; + bin?: Record; + man?: Record; + directories?: OneOf<[Record, null]>; + os?: (string)[]; + cpu?: (string)[]; + readme?: string; + installation_command?: string; + release_id?: number; + commit_oid?: string; + published_via_actions?: boolean; + deleted_by_id?: number; + }, null]>; + nuget_metadata?: OneOf<[({ + id?: number | string; + name?: string; + value?: OneOf<[boolean, string, number, { + url?: string; + branch?: string; + commit?: string; + type?: string; + }]>; + })[], null]>; + package_files: ({ + content_type: string; + created_at: string; /** Format: uri */ - url: OneOf<[string, null]>; - }, null]>; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: OneOf<[string, null]>; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; + download_url: string; + id: number; + md5: OneOf<[string, null]>; + name: string; + sha1: OneOf<[string, null]>; + sha256: OneOf<[string, null]>; + size: number; + state: OneOf<[string, null]>; + updated_at: string; + })[]; + package_url?: string; + prerelease?: boolean; + release?: { /** User */ - owner: OneOf<[{ + author: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -47131,486 +38313,61 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string; - /** Format: uri-template */ - releases_url: string; - role_name?: OneOf<[string, null]>; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; + created_at: string; + draft: boolean; /** Format: uri */ - teams_url: string; - topics: (string)[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; + html_url: string; + id: number; + name: OneOf<[string, null]>; + prerelease: boolean; + published_at: string; + tag_name: string; + target_commitish: string; /** Format: uri */ url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; }; - sha: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - }; - body: OneOf<[string, null]>; - changed_files?: number; - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ + rubygems_metadata?: (Record)[]; + source_url?: string; + summary: string; + tag_name?: string; + target_commitish?: string; + target_oid?: string; + updated_at?: string; + version: string; + }, null]>; + registry: OneOf<[{ + /** Format: uri */ + about_url: string; + name: string; + type: string; + /** Format: uri */ + url: string; + vendor: string; + }, null]>; + updated_at: OneOf<[string, null]>; + }; + repository?: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** package updated event */ + "webhook-package-updated": { + /** @enum {string} */ + action: "updated"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + /** @description Information about the package. */ + package: { created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: OneOf<[string, null]>; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: OneOf<[{ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: OneOf<[string, null]>; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: OneOf<[string, null]>; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: OneOf<[string, null]>; - /** Format: uri */ - languages_url: string; - /** License */ - license: OneOf<[{ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: OneOf<[string, null]>; - }, null]>; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: OneOf<[string, null]>; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string; - /** Format: uri-template */ - releases_url: string; - role_name?: OneOf<[string, null]>; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: (string)[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }, null]>; - sha: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - }; + description: OneOf<[string, null]>; + ecosystem: string; /** Format: uri */ html_url: string; id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: OneOf<[string, null]>; - mergeable?: OneOf<[boolean, null]>; - mergeable_state?: string; - merged?: OneOf<[boolean, null]>; - /** Format: date-time */ - merged_at: OneOf<[string, null]>; + name: string; + namespace: string; /** User */ - merged_by?: OneOf<[{ + owner: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -47642,22 +38399,14 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: OneOf<[{ - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - closed_issues: number; - /** Format: date-time */ - created_at: string; + package_type: string; + package_version: { /** User */ - creator: OneOf<[{ + author: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -47689,197 +38438,320 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; - description: OneOf<[string, null]>; - /** Format: date-time */ - due_on: OneOf<[string, null]>; + body: string; + body_html: string; + created_at: string; + description: string; + docker_metadata?: (Record)[]; + draft?: boolean; /** Format: uri */ html_url: string; id: number; + installation_command: string; + manifest?: string; + metadata: (Record)[]; + name: string; + package_files: ({ + content_type: string; + created_at: string; + /** Format: uri */ + download_url: string; + id: number; + md5: OneOf<[string, null]>; + name: string; + sha1: OneOf<[string, null]>; + sha256: string; + size: number; + state: string; + updated_at: string; + })[]; + package_url?: string; + prerelease?: boolean; + release?: { + /** User */ + author: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + created_at: string; + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + name: string; + prerelease: boolean; + published_at: string; + tag_name: string; + target_commitish: string; + /** Format: uri */ + url: string; + }; + rubygems_metadata?: (Record)[]; /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ + source_url?: string; + summary: string; + tag_name?: string; + target_commitish: string; + target_oid: string; updated_at: string; + version: string; + }; + registry: OneOf<[{ + /** Format: uri */ + about_url: string; + name: string; + type: string; /** Format: uri */ url: string; + vendor: string; }, null]>; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: OneOf<[boolean, null]>; - requested_reviewers: (OneOf<[OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>, { - deleted?: boolean; - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: OneOf<[{ - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, null]>; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: OneOf<[string, null]>; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: OneOf<[{ - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ + updated_at: string; + }; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + "webhook-package-v2-create": { + /** @enum {string} */ + action: "create"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple"]; + package: { + created_at: string; + description: string; + ecosystem: string; + html_url: string; + id: number; + name: string; + namespace: string; + package_version: { + blob_store: string; + container_metadata?: { + labels: { + all_labels: { + "com.github.base_image.id"?: string; + "com.github.base_image.repo_digest"?: string; + "com.github.repo.branch"?: string; + "ghes.licenses.path"?: string; + "org.opencontainers.image.created"?: string; + "org.opencontainers.image.description"?: string; + "org.opencontainers.image.documentation"?: string; + "org.opencontainers.image.revision"?: string; + "org.opencontainers.image.source"?: string; + }; + description: string; + image_url: string; + licenses: string; + revision: string; + source: string; + }; + manifest: { + config: { + digest: string; + media_type: string; + size: number; + }; + digest: string; + layers: ({ + digest: string; + media_type: string; + size: number; + })[]; + media_type: string; + size: number; + uri: string; + }; + tag: { + digest: string; name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, null]>; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; + }; + }; + created_at: string; + description: string; + html_url: string; + id: number; + name: string; + updated_at: string; + }; + updated_at: string; + }; + repository?: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** page_build event */ + "webhook-page-build": { + /** @description The [List GitHub Pages builds](https://docs.github.com/rest/reference/repos#list-github-pages-builds) itself. */ + build: { + commit: OneOf<[string, null]>; + created_at: string; + duration: number; + error: { + message: OneOf<[string, null]>; + }; + /** User */ + pusher: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + status: string; + updated_at: string; /** Format: uri */ - review_comments_url: string; + url: string; + }; + enterprise?: components["schemas"]["enterprise"]; + id: number; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + "webhook-ping": { + /** + * Webhook + * @description The webhook that is being pinged + */ + hook?: { + /** @description Determines whether the hook is actually triggered for the events it subscribes to. */ + active: boolean; + /** @description Only included for GitHub Apps. When you register a new GitHub App, GitHub sends a ping event to the webhook URL you specified during registration. The GitHub App ID sent in this field is required for authenticating an app. */ + app_id?: number; + config: { + content_type?: components["schemas"]["webhook-config-content-type"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + secret?: components["schemas"]["webhook-config-secret"]; + url?: components["schemas"]["webhook-config-url"]; + }; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + deliveries_url?: string; + /** @description Determines what events the hook is triggered for. Default: ['push']. */ + events: (string)[]; + /** @description Unique identifier of the webhook. */ + id: number; + last_response?: components["schemas"]["hook-response"]; /** - * @description State of this Pull Request. Either `open` or `closed`. + * @description The type of webhook. The only valid value is 'web'. * @enum {string} */ - state: "open" | "closed"; + name: "web"; /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; + ping_url?: string; + /** Format: uri */ + test_url?: string; + type: string; /** Format: date-time */ updated_at: string; /** Format: uri */ - url: string; + url?: string; + }; + /** @description The ID of the webhook that triggered the ping. */ + hook_id?: number; + organization?: components["schemas"]["organization-simple"]; + repository?: components["schemas"]["repository"]; + sender?: components["schemas"]["simple-user"]; + /** @description Random string of GitHub zen. */ + zen?: string; + }; + /** @description The webhooks ping payload encoded with URL encoding. */ + "webhook-ping-form-encoded": { + /** @description A URL-encoded string of the ping JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** project_card converted event */ + "webhook-project-card-converted": { + /** @enum {string} */ + action: "converted"; + changes: { + note: { + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + /** Project Card */ + project_card: { + after_id?: OneOf<[number, null]>; + /** @description Whether or not the card is archived */ + archived: boolean; + column_id: number; + /** Format: uri */ + column_url: string; + /** Format: uri */ + content_url?: string; + /** Format: date-time */ + created_at: string; /** User */ - user: OneOf<[{ + creator: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -47911,72 +38783,45 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; + /** @description The project card's ID */ + id: number; + node_id: string; + note: OneOf<[string, null]>; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; }; - repository: components["schemas"]["repository"]; + repository?: components["schemas"]["repository"]; sender: components["schemas"]["simple-user"]; }; - /** pull_request locked event */ - "webhook-pull-request-locked": { + /** project_card created event */ + "webhook-project-card-created": { /** @enum {string} */ - action: "locked"; + action: "created"; enterprise?: components["schemas"]["enterprise"]; installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; organization?: components["schemas"]["organization-simple"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; - additions?: number; + /** Project Card */ + project_card: { + after_id?: OneOf<[number, null]>; + /** @description Whether or not the card is archived */ + archived: boolean; + column_id: number; + /** Format: uri */ + column_url: string; + /** Format: uri */ + content_url?: string; + /** Format: date-time */ + created_at: string; /** User */ - assignee: OneOf<[{ + creator: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -48012,794 +38857,190 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - assignees: (OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: OneOf<[{ - /** @description Commit message for the merge commit. */ - commit_message: OneOf<[string, null]>; - /** @description Title for the merge commit message. */ - commit_title: OneOf<[string, null]>; - /** User */ - enabled_by: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; + /** @description The project card's ID */ + id: number; + node_id: string; + note: OneOf<[string, null]>; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + repository?: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** project_card deleted event */ + "webhook-project-card-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + /** Project Card */ + project_card: { + after_id?: OneOf<[number, null]>; + /** @description Whether or not the card is archived */ + archived: boolean; + column_id: OneOf<[number, null]>; + /** Format: uri */ + column_url: string; + /** Format: uri */ + content_url?: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; }, null]>; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: OneOf<[string, null]>; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: OneOf<[string, null]>; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: OneOf<[string, null]>; - /** Format: uri */ - languages_url: string; - /** License */ - license: OneOf<[{ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: OneOf<[string, null]>; - }, null]>; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: OneOf<[string, null]>; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string; - /** Format: uri-template */ - releases_url: string; - role_name?: OneOf<[string, null]>; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: (string)[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - }; - body: OneOf<[string, null]>; - changed_files?: number; + /** @description The project card's ID */ + id: number; + node_id: string; + note: OneOf<[string, null]>; + /** Format: uri */ + project_url: string; /** Format: date-time */ - closed_at: OneOf<[string, null]>; - comments?: number; + updated_at: string; /** Format: uri */ - comments_url: string; - commits?: number; + url: string; + }; + repository?: null | components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** project_card edited event */ + "webhook-project-card-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + note: { + from: OneOf<[string, null]>; + }; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + /** Project Card */ + project_card: { + after_id?: OneOf<[number, null]>; + /** @description Whether or not the card is archived */ + archived: boolean; + column_id: number; /** Format: uri */ - commits_url: string; + column_url: string; + /** Format: uri */ + content_url?: string; /** Format: date-time */ created_at: string; - deletions?: number; + /** User */ + creator: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** @description The project card's ID */ + id: number; + node_id: string; + note: OneOf<[string, null]>; /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: OneOf<[string, null]>; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: OneOf<[{ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: OneOf<[string, null]>; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: OneOf<[string, null]>; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: OneOf<[string, null]>; - /** Format: uri */ - languages_url: string; - /** License */ - license: OneOf<[{ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: OneOf<[string, null]>; - }, null]>; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: OneOf<[string, null]>; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string; - /** Format: uri-template */ - releases_url: string; - role_name?: OneOf<[string, null]>; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: (string)[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }, null]>; - sha: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + repository?: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** project_card moved event */ + "webhook-project-card-moved": { + /** @enum {string} */ + action: "moved"; + changes?: { + column_id: { + from: number; }; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + project_card: ({ + after_id?: OneOf<[number, null]>; + /** @description Whether or not the card is archived */ + archived: boolean; + column_id: number; /** Format: uri */ - html_url: string; - id: number; + column_url: string; /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: OneOf<[string, null]>; - mergeable?: OneOf<[boolean, null]>; - mergeable_state?: string; - merged?: OneOf<[boolean, null]>; + content_url?: string; /** Format: date-time */ - merged_at: OneOf<[string, null]>; + created_at: string; /** User */ - merged_by?: OneOf<[{ + creator: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -48835,240 +39076,264 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: OneOf<[{ - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - description: OneOf<[string, null]>; - /** Format: date-time */ - due_on: OneOf<[string, null]>; + /** @description The project card's ID */ + id: number; + node_id: string; + note: OneOf<[string, null]>; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }) & { + after_id: OneOf<[number, null]>; + archived?: boolean; + column_id?: number; + column_url?: string; + created_at?: string; + creator?: OneOf<[{ + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }, null]>; + id?: number; + node_id?: string; + note?: OneOf<[string, null]>; + project_url?: string; + updated_at?: string; + url?: string; + }; + repository?: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** project closed event */ + "webhook-project-closed": { + /** @enum {string} */ + action: "closed"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + /** Project */ + project: { + /** @description Body of the project */ + body: OneOf<[string, null]>; + /** Format: uri */ + columns_url: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: OneOf<[{ /** Format: uri */ - html_url: string; + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; id: number; + login: string; + name?: string; + node_id?: string; /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; + organizations_url?: string; /** Format: uri */ - url: string; + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; }, null]>; + /** Format: uri */ + html_url: string; + id: number; + /** @description Name of the project */ + name: string; node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ number: number; /** Format: uri */ - patch_url: string; - rebaseable?: OneOf<[boolean, null]>; - requested_reviewers: (OneOf<[OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>, { - deleted?: boolean; - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: OneOf<[{ - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, null]>; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: OneOf<[string, null]>; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: OneOf<[{ - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, null]>; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; + owner_url: string; /** - * @description State of this Pull Request. Either `open` or `closed`. + * @description State of the project; either 'open' or 'closed' * @enum {string} */ state: "open" | "closed"; + /** Format: date-time */ + updated_at: string; /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; + url: string; + }; + repository?: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** project_column created event */ + "webhook-project-column-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + /** Project Column */ + project_column: { + after_id?: OneOf<[number, null]>; + /** Format: uri */ + cards_url: string; + /** Format: date-time */ + created_at: string; + /** @description The unique identifier of the project column */ + id: number; + /** @description Name of the project column */ + name: string; + node_id: string; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + repository?: components["schemas"]["repository"]; + sender?: components["schemas"]["simple-user"]; + }; + /** project_column deleted event */ + "webhook-project-column-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + /** Project Column */ + project_column: { + after_id?: OneOf<[number, null]>; + /** Format: uri */ + cards_url: string; + /** Format: date-time */ + created_at: string; + /** @description The unique identifier of the project column */ + id: number; + /** @description Name of the project column */ + name: string; + node_id: string; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + repository?: null | components["schemas"]["repository"]; + sender?: components["schemas"]["simple-user"]; + }; + /** project_column edited event */ + "webhook-project-column-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + name?: { + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + /** Project Column */ + project_column: { + after_id?: OneOf<[number, null]>; + /** Format: uri */ + cards_url: string; + /** Format: date-time */ + created_at: string; + /** @description The unique identifier of the project column */ + id: number; + /** @description Name of the project column */ + name: string; + node_id: string; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + repository?: components["schemas"]["repository"]; + sender?: components["schemas"]["simple-user"]; + }; + /** project_column moved event */ + "webhook-project-column-moved": { + /** @enum {string} */ + action: "moved"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + /** Project Column */ + project_column: { + after_id?: OneOf<[number, null]>; + /** Format: uri */ + cards_url: string; + /** Format: date-time */ + created_at: string; + /** @description The unique identifier of the project column */ + id: number; + /** @description Name of the project column */ + name: string; + node_id: string; + /** Format: uri */ + project_url: string; /** Format: date-time */ updated_at: string; /** Format: uri */ url: string; + }; + repository?: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** project created event */ + "webhook-project-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + /** Project */ + project: { + /** @description Body of the project */ + body: OneOf<[string, null]>; + /** Format: uri */ + columns_url: string; + /** Format: date-time */ + created_at: string; /** User */ - user: OneOf<[{ + creator: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -49100,72 +39365,49 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; + /** Format: uri */ + html_url: string; + id: number; + /** @description Name of the project */ + name: string; + node_id: string; + number: number; + /** Format: uri */ + owner_url: string; + /** + * @description State of the project; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; }; - repository: components["schemas"]["repository"]; + repository?: components["schemas"]["repository"]; sender: components["schemas"]["simple-user"]; }; - /** pull_request milestoned event */ - "webhook-pull-request-milestoned": { + /** project deleted event */ + "webhook-project-deleted": { /** @enum {string} */ - action: "milestoned"; + action: "deleted"; enterprise?: components["schemas"]["enterprise"]; - milestone?: components["schemas"]["milestone"]; - /** @description The pull request number. */ - number: number; + installation?: components["schemas"]["simple-installation"]; organization?: components["schemas"]["organization-simple"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; - additions?: number; + /** Project */ + project: { + /** @description Body of the project */ + body: OneOf<[string, null]>; + /** Format: uri */ + columns_url: string; + /** Format: date-time */ + created_at: string; /** User */ - assignee: OneOf<[{ + creator: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -49197,99 +39439,520 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; - assignees: (OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>)[]; + /** Format: uri */ + html_url: string; + id: number; + /** @description Name of the project */ + name: string; + node_id: string; + number: number; + /** Format: uri */ + owner_url: string; /** - * AuthorAssociation - * @description How the author is associated with the repository. + * @description State of the project; either 'open' or 'closed' * @enum {string} */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: OneOf<[{ - /** @description Commit message for the merge commit. */ - commit_message: OneOf<[string, null]>; - /** @description Title for the merge commit message. */ - commit_title: OneOf<[string, null]>; - /** User */ - enabled_by: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** + state: "open" | "closed"; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + repository?: null | components["schemas"]["repository"]; + sender?: components["schemas"]["simple-user"]; + }; + /** project edited event */ + "webhook-project-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the project if the action was `edited`. */ + changes?: { + body?: { + /** @description The previous version of the body if the action was `edited`. */ + from: string; + }; + name?: { + /** @description The changes to the project if the action was `edited`. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + /** Project */ + project: { + /** @description Body of the project */ + body: OneOf<[string, null]>; + /** Format: uri */ + columns_url: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** Format: uri */ + html_url: string; + id: number; + /** @description Name of the project */ + name: string; + node_id: string; + number: number; + /** Format: uri */ + owner_url: string; + /** + * @description State of the project; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + repository?: components["schemas"]["repository"]; + sender?: components["schemas"]["simple-user"]; + }; + /** project reopened event */ + "webhook-project-reopened": { + /** @enum {string} */ + action: "reopened"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + /** Project */ + project: { + /** @description Body of the project */ + body: OneOf<[string, null]>; + /** Format: uri */ + columns_url: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** Format: uri */ + html_url: string; + id: number; + /** @description Name of the project */ + name: string; + node_id: string; + number: number; + /** Format: uri */ + owner_url: string; + /** + * @description State of the project; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + repository?: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Item Archived Event */ + "webhook-projects-v2-item-archived": { + /** @enum {string} */ + action: "archived"; + changes: { + archived_at?: { + /** Format: date-time */ + from?: OneOf<[string, null]>; + /** Format: date-time */ + to?: OneOf<[string, null]>; + }; + }; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Item Converted Event */ + "webhook-projects-v2-item-converted": { + /** @enum {string} */ + action: "converted"; + changes: { + content_type?: { + from?: OneOf<[string, null]>; + to?: string; + }; + }; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Item Created Event */ + "webhook-projects-v2-item-created": { + /** @enum {string} */ + action: "created"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Item Deleted Event */ + "webhook-projects-v2-item-deleted": { + /** @enum {string} */ + action: "deleted"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Item Edited Event */ + "webhook-projects-v2-item-edited": { + /** @enum {string} */ + action: "edited"; + changes?: OneOf<[{ + field_value: { + field_node_id?: string; + field_type?: string; + }; + }, { + body: { + from?: OneOf<[string, null]>; + to?: OneOf<[string, null]>; + }; + }]>; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Item Reordered Event */ + "webhook-projects-v2-item-reordered": { + /** @enum {string} */ + action: "reordered"; + changes: { + previous_projects_v2_item_node_id?: { + from?: OneOf<[string, null]>; + to?: OneOf<[string, null]>; + }; + }; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Item Restored Event */ + "webhook-projects-v2-item-restored": { + /** @enum {string} */ + action: "restored"; + changes: { + archived_at?: { + /** Format: date-time */ + from?: OneOf<[string, null]>; + /** Format: date-time */ + to?: OneOf<[string, null]>; + }; + }; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user"]; + }; + /** public event */ + "webhook-public": { + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request assigned event */ + "webhook-pull-request-assigned": { + /** @enum {string} */ + action: "assigned"; + /** User */ + assignee: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + additions?: number; + /** User */ + assignee: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + assignees: (OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: OneOf<[{ + /** @description Commit message for the merge commit. */ + commit_message: OneOf<[string, null]>; + /** @description Title for the merge commit message. */ + commit_title: OneOf<[string, null]>; + /** User */ + enabled_by: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** * @description The merge method to use. * @enum {string} */ @@ -49568,7 +40231,7 @@ export interface components { /** Format: uri */ url: string; /** - * @description Whether a squash merge commit can use the pull request title as default. + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. * @default false */ use_squash_pr_title_as_default?: boolean; @@ -49636,13 +40299,13 @@ export interface components { /** @description Indicates whether or not the pull request is a draft. */ draft: boolean; head: { - label: string; + label: OneOf<[string, null]>; ref: string; /** * Repository * @description A git repository */ - repo: { + repo: OneOf<[{ /** * @description Whether to allow auto-merge for pull requests. * @default false @@ -49908,7 +40571,7 @@ export interface components { /** Format: uri */ url: string; /** - * @description Whether a squash merge commit can use the pull request title as default. + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. * @default false */ use_squash_pr_title_as_default?: boolean; @@ -49918,7 +40581,7 @@ export interface components { watchers_count: number; /** @description Whether to require contributors to sign off on web-based commits */ web_commit_signoff_required?: boolean; - }; + }, null]>; sha: string; /** User */ user: OneOf<[{ @@ -50020,7 +40683,7 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; @@ -50133,22 +40796,22 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>, { deleted?: boolean; /** @description Description of the team */ - description?: OneOf<[string, null]>; + description: OneOf<[string, null]>; /** Format: uri */ - html_url?: string; + html_url: string; /** @description Unique identifier of the team */ id: number; /** Format: uri-template */ - members_url?: string; + members_url: string; /** @description Name of the team */ name: string; - node_id?: string; + node_id: string; parent?: OneOf<[{ /** @description Description of the team */ description: OneOf<[string, null]>; @@ -50175,17 +40838,17 @@ export interface components { url: string; }, null]>; /** @description Permission that the team will have for its repositories */ - permission?: string; + permission: string; /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; + privacy: "open" | "closed" | "secret"; /** Format: uri */ - repositories_url?: string; - slug?: string; + repositories_url: string; + slug: string; /** * Format: uri * @description URL for the team */ - url?: string; + url: string; }]>)[]; requested_teams: ({ deleted?: boolean; @@ -50295,18 +40958,18 @@ export interface components { }, null]>; }; repository: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; + sender: components["schemas"]["simple-user"]; }; - /** pull_request opened event */ - "webhook-pull-request-opened": { + /** pull_request auto_merge_disabled event */ + "webhook-pull-request-auto-merge-disabled": { /** @enum {string} */ - action: "opened"; + action: "auto_merge_disabled"; enterprise?: components["schemas"]["enterprise"]; installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ number: number; organization?: components["schemas"]["organization-simple"]; - pull_request: ({ + /** Pull Request */ + pull_request: { _links: { /** Link */ comments: { @@ -50582,6 +41245,11 @@ export interface components { * @default true */ has_issues: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; has_pages: boolean; /** * @description Whether projects are enabled. @@ -50928,6 +41596,11 @@ export interface components { * @default true */ has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; homepage: OneOf<[string, null]>; /** Format: uri */ hooks_url: string; @@ -50960,12 +41633,19 @@ export interface components { }, null]>; master_branch?: string; /** - * @description The default value for a merge commit message. + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. * @enum {string} */ merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; /** - * @description The default value for a merge commit message title. + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). * @enum {string} */ merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; @@ -51238,7 +41918,7 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; @@ -51304,22 +41984,22 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>, { deleted?: boolean; /** @description Description of the team */ - description?: OneOf<[string, null]>; + description: OneOf<[string, null]>; /** Format: uri */ - html_url?: string; + html_url: string; /** @description Unique identifier of the team */ id: number; /** Format: uri-template */ - members_url?: string; + members_url: string; /** @description Name of the team */ name: string; - node_id?: string; + node_id: string; parent?: OneOf<[{ /** @description Description of the team */ description: OneOf<[string, null]>; @@ -51346,17 +42026,17 @@ export interface components { url: string; }, null]>; /** @description Permission that the team will have for its repositories */ - permission?: string; + permission: string; /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; + privacy: "open" | "closed" | "secret"; /** Format: uri */ - repositories_url?: string; - slug?: string; + repositories_url: string; + slug: string; /** * Format: uri * @description URL for the team */ - url?: string; + url: string; }]>)[]; requested_teams: ({ deleted?: boolean; @@ -51464,372 +42144,21 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - }) & ({ - _links?: { - comments?: { - href?: string; - }; - commits?: { - href?: string; - }; - html?: { - href?: string; - }; - issue?: { - href?: string; - }; - review_comment?: { - href?: string; - }; - review_comments?: { - href?: string; - }; - self?: { - href?: string; - }; - statuses?: { - href?: string; - }; - }; - active_lock_reason: OneOf<[string, null]>; - additions?: number; - assignee?: OneOf<[Record, null]>; - assignees?: (OneOf<[Record, null]>)[]; - author_association?: string; - auto_merge?: OneOf<[Record, null]>; - base?: { - label?: string; - ref?: string; - repo?: { - allow_auto_merge?: boolean; - allow_forking?: boolean; - allow_merge_commit?: boolean; - allow_rebase_merge?: boolean; - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - archive_url?: string; - archived?: boolean; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - clone_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - created_at?: string; - default_branch?: string; - delete_branch_on_merge?: boolean; - deployments_url?: string; - description?: OneOf<[string, null]>; - disabled?: boolean; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks?: number; - forks_count?: number; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - has_downloads?: boolean; - has_issues?: boolean; - has_pages?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - homepage?: OneOf<[string, null]>; - hooks_url?: string; - html_url?: string; - id?: number; - is_template?: boolean; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - language?: OneOf<[string, null]>; - languages_url?: string; - license?: OneOf<[Record, null]>; - merges_url?: string; - milestones_url?: string; - mirror_url?: OneOf<[string, null]>; - name?: string; - node_id?: string; - notifications_url?: string; - open_issues?: number; - open_issues_count?: number; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - pushed_at?: string; - releases_url?: string; - size?: number; - ssh_url?: string; - stargazers_count?: number; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - svn_url?: string; - tags_url?: string; - teams_url?: string; - topics?: (OneOf<[string, null]>)[]; - trees_url?: string; - updated_at?: string; - url?: string; - visibility?: string; - watchers?: number; - watchers_count?: number; - web_commit_signoff_required?: boolean; - }; - sha?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }; - body?: OneOf<[string, null]>; - changed_files?: number; - closed_at: OneOf<[string, null]>; - comments?: number; - comments_url?: string; - commits?: number; - commits_url?: string; - created_at?: string; - deletions?: number; - diff_url?: string; - draft?: boolean; - head?: { - label?: string; - ref?: string; - repo?: { - allow_auto_merge?: boolean; - allow_forking?: boolean; - allow_merge_commit?: boolean; - allow_rebase_merge?: boolean; - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - archive_url?: string; - archived?: boolean; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - clone_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - created_at?: string; - default_branch?: string; - delete_branch_on_merge?: boolean; - deployments_url?: string; - description?: OneOf<[string, null]>; - disabled?: boolean; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks?: number; - forks_count?: number; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - has_downloads?: boolean; - has_issues?: boolean; - has_pages?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - homepage?: OneOf<[string, null]>; - hooks_url?: string; - html_url?: string; - id?: number; - is_template?: boolean; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - language?: OneOf<[string, null]>; - languages_url?: string; - license?: OneOf<[Record, null]>; - merges_url?: string; - milestones_url?: string; - mirror_url?: OneOf<[string, null]>; - name?: string; - node_id?: string; - notifications_url?: string; - open_issues?: number; - open_issues_count?: number; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - pushed_at?: string; - releases_url?: string; - size?: number; - ssh_url?: string; - stargazers_count?: number; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - svn_url?: string; - tags_url?: string; - teams_url?: string; - topics?: (OneOf<[string, null]>)[]; - trees_url?: string; - updated_at?: string; - url?: string; - visibility?: string; - watchers?: number; - watchers_count?: number; - web_commit_signoff_required?: boolean; - }; - sha?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }; - html_url?: string; - id?: number; - issue_url?: string; - labels?: (OneOf<[Record, null]>)[]; - locked?: boolean; - maintainer_can_modify?: boolean; - merge_commit_sha: OneOf<[string, null]>; - mergeable?: OneOf<[boolean, null]>; - mergeable_state?: string; - merged?: boolean; - merged_at: OneOf<[string, null]>; - merged_by: OneOf<[Record, null]>; - milestone?: OneOf<[Record, null]>; - node_id?: string; - number?: number; - patch_url?: string; - rebaseable?: OneOf<[boolean, null]>; - requested_reviewers?: (OneOf<[Record, null]>)[]; - requested_teams?: (OneOf<[Record, null]>)[]; - review_comment_url?: string; - review_comments?: number; - review_comments_url?: string; - /** @enum {string} */ - state: "open" | "closed"; - statuses_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }); + }; + reason: string; repository: components["schemas"]["repository"]; sender: components["schemas"]["simple-user"]; }; - /** pull_request ready_for_review event */ - "webhook-pull-request-ready-for-review": { + /** pull_request auto_merge_enabled event */ + "webhook-pull-request-auto-merge-enabled": { /** @enum {string} */ - action: "ready_for_review"; + action: "auto_merge_enabled"; enterprise?: components["schemas"]["enterprise"]; installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ number: number; organization?: components["schemas"]["organization-simple"]; - pull_request: ({ + /** Pull Request */ + pull_request: { _links: { /** Link */ comments: { @@ -52116,6 +42445,11 @@ export interface components { * @default true */ has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; homepage: OneOf<[string, null]>; /** Format: uri */ hooks_url: string; @@ -52451,6 +42785,11 @@ export interface components { * @default true */ has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; homepage: OneOf<[string, null]>; /** Format: uri */ hooks_url: string; @@ -52834,22 +43173,22 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>, { deleted?: boolean; /** @description Description of the team */ - description?: OneOf<[string, null]>; + description: OneOf<[string, null]>; /** Format: uri */ - html_url?: string; + html_url: string; /** @description Unique identifier of the team */ id: number; /** Format: uri-template */ - members_url?: string; + members_url: string; /** @description Name of the team */ name: string; - node_id?: string; + node_id: string; parent?: OneOf<[{ /** @description Description of the team */ description: OneOf<[string, null]>; @@ -52876,17 +43215,17 @@ export interface components { url: string; }, null]>; /** @description Permission that the team will have for its repositories */ - permission?: string; + permission: string; /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; + privacy: "open" | "closed" | "secret"; /** Format: uri */ - repositories_url?: string; - slug?: string; + repositories_url: string; + slug: string; /** * Format: uri * @description URL for the team */ - url?: string; + url: string; }]>)[]; requested_teams: ({ deleted?: boolean; @@ -52994,385 +43333,15 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - }) & ({ - _links?: { - comments?: { - href?: string; - }; - commits?: { - href?: string; - }; - html?: { - href?: string; - }; - issue?: { - href?: string; - }; - review_comment?: { - href?: string; - }; - review_comments?: { - href?: string; - }; - self?: { - href?: string; - }; - statuses?: { - href?: string; - }; - }; - active_lock_reason?: OneOf<[string, null]>; - additions?: number; - assignee?: OneOf<[Record, null]>; - assignees?: (OneOf<[Record, null]>)[]; - author_association?: string; - auto_merge?: OneOf<[Record, null]>; - base?: { - label?: string; - ref?: string; - repo?: { - allow_auto_merge?: boolean; - allow_forking?: boolean; - allow_merge_commit?: boolean; - allow_rebase_merge?: boolean; - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - archive_url?: string; - archived?: boolean; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - clone_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - created_at?: string; - default_branch?: string; - delete_branch_on_merge?: boolean; - deployments_url?: string; - description?: OneOf<[string, null]>; - disabled?: boolean; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks?: number; - forks_count?: number; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - has_downloads?: boolean; - has_issues?: boolean; - has_pages?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - homepage?: OneOf<[string, null]>; - hooks_url?: string; - html_url?: string; - id?: number; - is_template?: boolean; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - language?: OneOf<[string, null]>; - languages_url?: string; - license?: OneOf<[Record, null]>; - /** @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - merges_url?: string; - milestones_url?: string; - mirror_url?: OneOf<[string, null]>; - name?: string; - node_id?: string; - notifications_url?: string; - open_issues?: number; - open_issues_count?: number; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - pushed_at?: string; - releases_url?: string; - size?: number; - /** @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url?: string; - stargazers_count?: number; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - svn_url?: string; - tags_url?: string; - teams_url?: string; - topics?: (OneOf<[string, null]>)[]; - trees_url?: string; - updated_at?: string; - url?: string; - use_squash_pr_title_as_default?: boolean; - visibility?: string; - watchers?: number; - watchers_count?: number; - web_commit_signoff_required?: boolean; - }; - sha?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }; - body?: OneOf<[string, null]>; - changed_files?: number; - closed_at: OneOf<[string, null]>; - comments?: number; - comments_url?: string; - commits?: number; - commits_url?: string; - created_at?: string; - deletions?: number; - diff_url?: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head?: { - label?: string; - ref?: string; - repo?: { - allow_auto_merge?: boolean; - allow_forking?: boolean; - allow_merge_commit?: boolean; - allow_rebase_merge?: boolean; - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - archive_url?: string; - archived?: boolean; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - clone_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - created_at?: string; - default_branch?: string; - delete_branch_on_merge?: boolean; - deployments_url?: string; - description?: OneOf<[string, null]>; - disabled?: boolean; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks?: number; - forks_count?: number; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - has_downloads?: boolean; - has_issues?: boolean; - has_pages?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - homepage?: OneOf<[string, null]>; - hooks_url?: string; - html_url?: string; - id?: number; - is_template?: boolean; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - language?: OneOf<[string, null]>; - languages_url?: string; - license?: OneOf<[Record, null]>; - /** @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - merges_url?: string; - milestones_url?: string; - mirror_url?: OneOf<[string, null]>; - name?: string; - node_id?: string; - notifications_url?: string; - open_issues?: number; - open_issues_count?: number; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - pushed_at?: string; - releases_url?: string; - size?: number; - /** @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url?: string; - stargazers_count?: number; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - svn_url?: string; - tags_url?: string; - teams_url?: string; - topics?: (OneOf<[string, null]>)[]; - trees_url?: string; - updated_at?: string; - url?: string; - use_squash_pr_title_as_default?: boolean; - visibility?: string; - watchers?: number; - watchers_count?: number; - web_commit_signoff_required?: boolean; - }; - sha?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }; - html_url?: string; - id?: number; - issue_url?: string; - labels?: (OneOf<[Record, null]>)[]; - locked?: boolean; - maintainer_can_modify?: boolean; - merge_commit_sha?: OneOf<[string, null]>; - mergeable?: OneOf<[boolean, null]>; - mergeable_state?: string; - merged: boolean; - merged_at: OneOf<[string, null]>; - merged_by: OneOf<[Record, null]>; - milestone?: OneOf<[Record, null]>; - node_id?: string; - number?: number; - patch_url?: string; - rebaseable?: OneOf<[boolean, null]>; - requested_reviewers?: (OneOf<[Record, null]>)[]; - requested_teams?: (OneOf<[Record, null]>)[]; - review_comment_url?: string; - review_comments?: number; - review_comments_url?: string; - /** @enum {string} */ - state: "open" | "closed"; - statuses_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }); + }; + reason?: string; repository: components["schemas"]["repository"]; sender: components["schemas"]["simple-user"]; }; - /** pull_request reopened event */ - "webhook-pull-request-reopened": { + /** pull_request closed event */ + "webhook-pull-request-closed": { /** @enum {string} */ - action: "reopened"; + action: "closed"; enterprise?: components["schemas"]["enterprise"]; installation?: components["schemas"]["simple-installation"]; /** @description The pull request number. */ @@ -53457,7 +43426,7 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>; @@ -53493,7 +43462,7 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>)[]; @@ -53511,7 +43480,7 @@ export interface components { /** @description Commit message for the merge commit. */ commit_message: OneOf<[string, null]>; /** @description Title for the merge commit message. */ - commit_title: string; + commit_title: OneOf<[string, null]>; /** User */ enabled_by: OneOf<[{ /** Format: uri */ @@ -53891,13 +43860,13 @@ export interface components { /** @description Indicates whether or not the pull request is a draft. */ draft: boolean; head: { - label: string; + label: OneOf<[string, null]>; ref: string; /** * Repository * @description A git repository */ - repo: { + repo: OneOf<[{ /** * @description Whether to allow auto-merge for pull requests. * @default false @@ -54110,19 +44079,12 @@ export interface components { role_name?: OneOf<[string, null]>; size: number; /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. + * @description The default value for a squash merge commit message. * @enum {string} */ squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @description The default value for a squash merge commit title. * @enum {string} */ squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; @@ -54161,7 +44123,7 @@ export interface components { watchers_count: number; /** @description Whether to require contributors to sign off on web-based commits */ web_commit_signoff_required?: boolean; - }; + }, null]>; sha: string; /** User */ user: OneOf<[{ @@ -54310,7 +44272,7 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>; @@ -54568,7 +44530,7 @@ export interface components { assignee?: OneOf<[Record, null]>; assignees?: (OneOf<[Record, null]>)[]; author_association?: string; - auto_merge?: null; + auto_merge?: OneOf<[Record, null]>; base?: { label?: string; ref?: string; @@ -54632,7 +44594,7 @@ export interface components { merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; merges_url?: string; milestones_url?: string; - mirror_url?: null; + mirror_url?: OneOf<[string, null]>; name?: string; node_id?: string; notifications_url?: string; @@ -54710,6 +44672,7 @@ export interface components { }; body?: OneOf<[string, null]>; changed_files?: number; + /** Format: date-time */ closed_at: OneOf<[string, null]>; comments?: number; comments_url?: string; @@ -54720,9 +44683,9 @@ export interface components { diff_url?: string; draft?: boolean; head?: { - label?: string; + label?: OneOf<[string, null]>; ref?: string; - repo?: { + repo?: OneOf<[{ allow_auto_merge?: boolean; allow_forking?: boolean; allow_merge_commit?: boolean; @@ -54782,13 +44745,13 @@ export interface components { merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; merges_url?: string; milestones_url?: string; - mirror_url?: null; + mirror_url?: OneOf<[string, null]>; name?: string; node_id?: string; notifications_url?: string; open_issues?: number; open_issues_count?: number; - owner?: { + owner?: OneOf<[{ avatar_url?: string; events_url?: string; followers_url?: string; @@ -54807,7 +44770,7 @@ export interface components { subscriptions_url?: string; type?: string; url?: string; - }; + }, null]>; private?: boolean; pulls_url?: string; pushed_at?: string; @@ -54835,9 +44798,9 @@ export interface components { watchers?: number; watchers_count?: number; web_commit_signoff_required?: boolean; - }; + }, null]>; sha?: string; - user?: { + user?: OneOf<[{ avatar_url?: string; events_url?: string; followers_url?: string; @@ -54856,7 +44819,7 @@ export interface components { subscriptions_url?: string; type?: string; url?: string; - }; + }, null]>; }; html_url?: string; id?: number; @@ -54868,8 +44831,8 @@ export interface components { mergeable?: OneOf<[boolean, null]>; mergeable_state?: string; merged: boolean; - merged_at: OneOf<[string, null]>; - merged_by: OneOf<[Record, null]>; + merged_at?: OneOf<[string, null]>; + merged_by?: OneOf<[Record, null]>; milestone?: OneOf<[Record, null]>; node_id?: string; number?: number; @@ -54880,8 +44843,11 @@ export interface components { review_comment_url?: string; review_comments?: number; review_comments_url?: string; - /** @enum {string} */ - state: "open" | "closed"; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "closed" | "open"; statuses_url?: string; title?: string; updated_at?: string; @@ -54910,154 +44876,16 @@ export interface components { repository: components["schemas"]["repository"]; sender: components["schemas"]["simple-user"]; }; - /** pull_request_review_comment created event */ - "webhook-pull-request-review-comment-created": { + /** pull_request converted_to_draft event */ + "webhook-pull-request-converted-to-draft": { /** @enum {string} */ - action: "created"; - /** - * Pull Request Review Comment - * @description The [comment](https://docs.github.com/rest/reference/pulls#comments) itself. - */ - comment: { - _links: { - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - pull_request: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - }; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description The text of the comment. */ - body: string; - /** @description The SHA of the commit to which the comment applies. */ - commit_id: string; - /** Format: date-time */ - created_at: string; - /** @description The diff of the line that the comment refers to. */ - diff_hunk: string; - /** - * Format: uri - * @description HTML URL for the pull request review comment. - */ - html_url: string; - /** @description The ID of the pull request review comment. */ - id: number; - /** @description The comment ID to reply to. */ - in_reply_to_id?: number; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - line: OneOf<[number, null]>; - /** @description The node ID of the pull request review comment. */ - node_id: string; - /** @description The SHA of the original commit to which the comment applies. */ - original_commit_id: string; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - original_line: OneOf<[number, null]>; - /** @description The index of the original line in the diff to which the comment applies. */ - original_position: number; - /** @description The first line of the range for a multi-line comment. */ - original_start_line: OneOf<[number, null]>; - /** @description The relative path of the file to which the comment applies. */ - path: string; - /** @description The line index in the diff to which the comment applies. */ - position: OneOf<[number, null]>; - /** @description The ID of the pull request review to which the comment belongs. */ - pull_request_review_id: OneOf<[number, null]>; - /** - * Format: uri - * @description URL for the pull request that the review comment belongs to. - */ - pull_request_url: string; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** - * @description The side of the first line of the range for a multi-line comment. - * @enum {string} - */ - side: "LEFT" | "RIGHT"; - /** @description The first line of the range for a multi-line comment. */ - start_line: OneOf<[number, null]>; - /** - * @description The side of the first line of the range for a multi-line comment. - * @default RIGHT - * @enum {string|null} - */ - start_side: "LEFT" | "RIGHT" | "" | null; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the pull request review comment - */ - url: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - }; + action: "converted_to_draft"; enterprise?: components["schemas"]["enterprise"]; installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; organization?: components["schemas"]["organization-simple"]; - pull_request: { + pull_request: ({ _links: { /** Link */ comments: { @@ -55102,6 +44930,7 @@ export interface components { }; /** @enum {string|null} */ active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + additions?: number; /** User */ assignee: OneOf<[{ /** Format: uri */ @@ -55135,7 +44964,7 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; @@ -55171,7 +45000,7 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>)[]; @@ -55185,7 +45014,7 @@ export interface components { * PullRequestAutoMerge * @description The status of auto merging a pull request. */ - auto_merge?: OneOf<[{ + auto_merge: OneOf<[{ /** @description Commit message for the merge commit. */ commit_message: OneOf<[string, null]>; /** @description Title for the merge commit message. */ @@ -55343,11 +45172,6 @@ export interface components { * @default true */ has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; homepage: OneOf<[string, null]>; /** Format: uri */ hooks_url: string; @@ -55467,9 +45291,9 @@ export interface components { /** * @description The default value for a squash merge commit message: * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. * @enum {string} */ squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; @@ -55557,15 +45381,22 @@ export interface components { }, null]>; }; body: OneOf<[string, null]>; + changed_files?: number; + /** Format: date-time */ closed_at: OneOf<[string, null]>; + comments?: number; /** Format: uri */ comments_url: string; + commits?: number; /** Format: uri */ commits_url: string; + /** Format: date-time */ created_at: string; + deletions?: number; /** Format: uri */ diff_url: string; - draft?: boolean; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; head: { label: string; ref: string; @@ -55676,11 +45507,6 @@ export interface components { * @default true */ has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions?: boolean; homepage: OneOf<[string, null]>; /** Format: uri */ hooks_url: string; @@ -55800,9 +45626,9 @@ export interface components { /** * @description The default value for a squash merge commit message: * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. * @enum {string} */ squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; @@ -55910,8 +45736,51 @@ export interface components { url: string; })[]; locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; merge_commit_sha: OneOf<[string, null]>; + mergeable?: OneOf<[boolean, null]>; + mergeable_state?: string; + merged?: OneOf<[boolean, null]>; + /** Format: date-time */ merged_at: OneOf<[string, null]>; + /** User */ + merged_by?: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; /** * Milestone * @description A collection of related issues and pull requests. @@ -55955,7 +45824,7 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; @@ -55984,9 +45853,11 @@ export interface components { url: string; }, null]>; node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ number: number; /** Format: uri */ patch_url: string; + rebaseable?: OneOf<[boolean, null]>; requested_reviewers: (OneOf<[OneOf<[{ /** Format: uri */ avatar_url?: string; @@ -56019,22 +45890,22 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>, { deleted?: boolean; /** @description Description of the team */ - description: OneOf<[string, null]>; + description?: OneOf<[string, null]>; /** Format: uri */ - html_url: string; + html_url?: string; /** @description Unique identifier of the team */ id: number; /** Format: uri-template */ - members_url: string; + members_url?: string; /** @description Name of the team */ name: string; - node_id: string; + node_id?: string; parent?: OneOf<[{ /** @description Description of the team */ description: OneOf<[string, null]>; @@ -56061,17 +45932,17 @@ export interface components { url: string; }, null]>; /** @description Permission that the team will have for its repositories */ - permission: string; + permission?: string; /** @enum {string} */ - privacy: "open" | "closed" | "secret"; + privacy?: "open" | "closed" | "secret"; /** Format: uri */ - repositories_url: string; - slug: string; + repositories_url?: string; + slug?: string; /** * Format: uri * @description URL for the team */ - url: string; + url?: string; }]>)[]; requested_teams: ({ deleted?: boolean; @@ -56126,13 +45997,19 @@ export interface components { })[]; /** Format: uri-template */ review_comment_url: string; + review_comments?: number; /** Format: uri */ review_comments_url: string; - /** @enum {string} */ + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ state: "open" | "closed"; /** Format: uri */ statuses_url: string; + /** @description The title of the pull request. */ title: string; + /** Format: date-time */ updated_at: string; /** Format: uri */ url: string; @@ -56173,362 +46050,597 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - }; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** pull_request_review_comment deleted event */ - "webhook-pull-request-review-comment-deleted": { - /** @enum {string} */ - action: "deleted"; - /** - * Pull Request Review Comment - * @description The [comment](https://docs.github.com/rest/reference/pulls#comments) itself. - */ - comment: { - _links: { - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - pull_request: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - }; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description The text of the comment. */ - body: string; - /** @description The SHA of the commit to which the comment applies. */ - commit_id: string; - /** Format: date-time */ - created_at: string; - /** @description The diff of the line that the comment refers to. */ - diff_hunk: string; - /** - * Format: uri - * @description HTML URL for the pull request review comment. - */ - html_url: string; - /** @description The ID of the pull request review comment. */ - id: number; - /** @description The comment ID to reply to. */ - in_reply_to_id?: number; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - line: OneOf<[number, null]>; - /** @description The node ID of the pull request review comment. */ - node_id: string; - /** @description The SHA of the original commit to which the comment applies. */ - original_commit_id: string; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - original_line: number; - /** @description The index of the original line in the diff to which the comment applies. */ - original_position: number; - /** @description The first line of the range for a multi-line comment. */ - original_start_line: OneOf<[number, null]>; - /** @description The relative path of the file to which the comment applies. */ - path: string; - /** @description The line index in the diff to which the comment applies. */ - position: OneOf<[number, null]>; - /** @description The ID of the pull request review to which the comment belongs. */ - pull_request_review_id: OneOf<[number, null]>; - /** - * Format: uri - * @description URL for the pull request that the review comment belongs to. - */ - pull_request_url: string; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** - * @description The side of the first line of the range for a multi-line comment. - * @enum {string} - */ - side: "LEFT" | "RIGHT"; - /** @description The first line of the range for a multi-line comment. */ - start_line: OneOf<[number, null]>; - /** - * @description The side of the first line of the range for a multi-line comment. - * @default RIGHT - * @enum {string|null} - */ - start_side: "LEFT" | "RIGHT" | "" | null; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the pull request review comment - */ - url: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; + }) & ({ + _links?: { + comments?: { + href?: string; }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; + commits?: { + href?: string; }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; + html?: { + href?: string; }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; + issue?: { + href?: string; }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; + review_comment?: { + href?: string; }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; + review_comments?: { + href?: string; }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; + self?: { + href?: string; }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; + statuses?: { + href?: string; }; }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; - /** User */ - assignee: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - assignees: (OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ + active_lock_reason?: OneOf<[string, null]>; + additions?: number; + assignee?: OneOf<[Record, null]>; + assignees?: (OneOf<[Record, null]>)[]; + author_association?: string; + auto_merge?: OneOf<[Record, null]>; + base?: { + label?: string; + ref?: string; + repo?: { + allow_auto_merge?: boolean; + allow_forking?: boolean; + allow_merge_commit?: boolean; + allow_rebase_merge?: boolean; + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + archive_url?: string; + archived?: boolean; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + clone_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + created_at?: string; + default_branch?: string; + delete_branch_on_merge?: boolean; + deployments_url?: string; + description?: OneOf<[string, null]>; + disabled?: boolean; + downloads_url?: string; events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ + fork?: boolean; + forks?: number; + forks_count?: number; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + has_downloads?: boolean; + has_issues?: boolean; + has_pages?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + homepage?: OneOf<[string, null]>; + hooks_url?: string; html_url?: string; - id: number; - login: string; + id?: number; + is_template?: boolean; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + language?: OneOf<[string, null]>; + languages_url?: string; + license?: OneOf<[Record, null]>; + /** @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + merges_url?: string; + milestones_url?: string; + mirror_url?: null; name?: string; node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; + notifications_url?: string; + open_issues?: number; + open_issues_count?: number; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + pushed_at?: string; + releases_url?: string; + size?: number; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url?: string; + stargazers_count?: number; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + svn_url?: string; + tags_url?: string; + teams_url?: string; + topics?: (OneOf<[string, null]>)[]; + trees_url?: string; + updated_at?: string; url?: string; - }, null]>)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge?: OneOf<[{ - /** @description Commit message for the merge commit. */ - commit_message: OneOf<[string, null]>; - /** @description Title for the merge commit message. */ - commit_title: OneOf<[string, null]>; - /** User */ - enabled_by: OneOf<[{ - /** Format: uri */ + use_squash_pr_title_as_default?: boolean; + visibility?: string; + watchers?: number; + watchers_count?: number; + web_commit_signoff_required?: boolean; + }; + sha?: string; + user?: { avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ events_url?: string; - /** Format: uri */ followers_url?: string; - /** Format: uri-template */ following_url?: string; - /** Format: uri-template */ gists_url?: string; gravatar_id?: string; - /** Format: uri */ html_url?: string; - id: number; - login: string; - name?: string; + id?: number; + login?: string; node_id?: string; - /** Format: uri */ organizations_url?: string; - /** Format: uri */ received_events_url?: string; - /** Format: uri */ repos_url?: string; site_admin?: boolean; - /** Format: uri-template */ starred_url?: string; - /** Format: uri */ subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ + type?: string; url?: string; - }, null]>; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }, null]>; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ + }; + }; + body?: OneOf<[string, null]>; + changed_files?: number; + closed_at: OneOf<[string, null]>; + comments?: number; + comments_url?: string; + commits?: number; + commits_url?: string; + created_at?: string; + deletions?: number; + diff_url?: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head?: { + label?: string; + ref?: string; + repo?: OneOf<[{ allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + archive_url?: string; + archived?: boolean; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + clone_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + created_at?: string; + default_branch?: string; + delete_branch_on_merge?: boolean; + deployments_url?: string; + description?: OneOf<[string, null]>; + disabled?: boolean; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks?: number; + forks_count?: number; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + has_downloads?: boolean; + has_issues?: boolean; + has_pages?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + homepage?: OneOf<[string, null]>; + hooks_url?: string; + html_url?: string; + id?: number; + is_template?: boolean; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + language?: OneOf<[string, null]>; + languages_url?: string; + license?: OneOf<[Record, null]>; + /** @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + merges_url?: string; + milestones_url?: string; + mirror_url?: null; + name?: string; + node_id?: string; + notifications_url?: string; + open_issues?: number; + open_issues_count?: number; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + pushed_at?: string; + releases_url?: string; + size?: number; + /** @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url?: string; + stargazers_count?: number; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + svn_url?: string; + tags_url?: string; + teams_url?: string; + topics?: (OneOf<[string, null]>)[]; + trees_url?: string; + updated_at?: string; + url?: string; + use_squash_pr_title_as_default?: boolean; + visibility?: string; + watchers?: number; + watchers_count?: number; + web_commit_signoff_required?: boolean; + }, null]>; + sha?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + }; + html_url?: string; + id?: number; + issue_url?: string; + labels?: (OneOf<[Record, null]>)[]; + locked?: boolean; + maintainer_can_modify?: boolean; + merge_commit_sha?: OneOf<[string, null]>; + mergeable?: OneOf<[boolean, null]>; + mergeable_state?: string; + /** @enum {boolean} */ + merged: false; + merged_at: null; + merged_by: null; + milestone?: OneOf<[Record, null]>; + node_id?: string; + number?: number; + patch_url?: string; + rebaseable?: OneOf<[boolean, null]>; + requested_reviewers?: (OneOf<[Record, null]>)[]; + requested_teams?: (OneOf<[Record, null]>)[]; + review_comment_url?: string; + review_comments?: number; + review_comments_url?: string; + state?: string; + statuses_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + }); + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request demilestoned event */ + "webhook-pull-request-demilestoned": { + /** @enum {string} */ + action: "demilestoned"; + enterprise?: components["schemas"]["enterprise"]; + milestone?: components["schemas"]["milestone"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + additions?: number; + /** User */ + assignee: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + assignees: (OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: OneOf<[{ + /** @description Commit message for the merge commit. */ + commit_message: OneOf<[string, null]>; + /** @description Title for the merge commit message. */ + commit_title: OneOf<[string, null]>; + /** User */ + enabled_by: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + }, null]>; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ allow_squash_merge?: boolean; allow_update_branch?: boolean; /** Format: uri-template */ @@ -56773,7 +46885,7 @@ export interface components { /** Format: uri */ url: string; /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @description Whether a squash merge commit can use the pull request title as default. * @default false */ use_squash_pr_title_as_default?: boolean; @@ -56824,15 +46936,22 @@ export interface components { }, null]>; }; body: OneOf<[string, null]>; + changed_files?: number; + /** Format: date-time */ closed_at: OneOf<[string, null]>; + comments?: number; /** Format: uri */ comments_url: string; + commits?: number; /** Format: uri */ commits_url: string; + /** Format: date-time */ created_at: string; + deletions?: number; /** Format: uri */ diff_url: string; - draft?: boolean; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; head: { label: string; ref: string; @@ -56840,7 +46959,7 @@ export interface components { * Repository * @description A git repository */ - repo: OneOf<[{ + repo: { /** * @description Whether to allow auto-merge for pull requests. * @default false @@ -57106,7 +47225,7 @@ export interface components { /** Format: uri */ url: string; /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @description Whether a squash merge commit can use the pull request title as default. * @default false */ use_squash_pr_title_as_default?: boolean; @@ -57116,7 +47235,7 @@ export interface components { watchers_count: number; /** @description Whether to require contributors to sign off on web-based commits */ web_commit_signoff_required?: boolean; - }, null]>; + }; sha: string; /** User */ user: OneOf<[{ @@ -57177,8 +47296,51 @@ export interface components { url: string; })[]; locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; merge_commit_sha: OneOf<[string, null]>; + mergeable?: OneOf<[boolean, null]>; + mergeable_state?: string; + merged?: OneOf<[boolean, null]>; + /** Format: date-time */ merged_at: OneOf<[string, null]>; + /** User */ + merged_by?: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; /** * Milestone * @description A collection of related issues and pull requests. @@ -57222,7 +47384,7 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>; @@ -57251,9 +47413,11 @@ export interface components { url: string; }, null]>; node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ number: number; /** Format: uri */ patch_url: string; + rebaseable?: OneOf<[boolean, null]>; requested_reviewers: (OneOf<[OneOf<[{ /** Format: uri */ avatar_url?: string; @@ -57393,13 +47557,19 @@ export interface components { })[]; /** Format: uri-template */ review_comment_url: string; + review_comments?: number; /** Format: uri */ review_comments_url: string; - /** @enum {string} */ + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ state: "open" | "closed"; /** Format: uri */ statuses_url: string; + /** @description The title of the pull request. */ title: string; + /** Format: date-time */ updated_at: string; /** Format: uri */ url: string; @@ -57442,176 +47612,51 @@ export interface components { }, null]>; }; repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + sender?: components["schemas"]["simple-user"]; }; - /** pull_request_review_comment edited event */ - "webhook-pull-request-review-comment-edited": { + /** pull_request edited event */ + "webhook-pull-request-edited": { /** @enum {string} */ action: "edited"; - /** @description The changes to the comment. */ + /** @description The changes to the comment if the action was `edited`. */ changes: { + base?: { + ref: { + from: string; + }; + sha: { + from: string; + }; + }; body?: { - /** @description The previous version of the body. */ + /** @description The previous version of the body if the action was `edited`. */ + from: string; + }; + title?: { + /** @description The previous version of the title if the action was `edited`. */ from: string; }; }; - /** - * Pull Request Review Comment - * @description The [comment](https://docs.github.com/rest/reference/pulls#comments) itself. - */ - comment: { + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple"]; + /** Pull Request */ + pull_request: { _links: { /** Link */ - html: { + comments: { /** Format: uri-template */ href: string; }; /** Link */ - pull_request: { + commits: { /** Format: uri-template */ href: string; }; /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - }; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description The text of the comment. */ - body: string; - /** @description The SHA of the commit to which the comment applies. */ - commit_id: string; - /** Format: date-time */ - created_at: string; - /** @description The diff of the line that the comment refers to. */ - diff_hunk: string; - /** - * Format: uri - * @description HTML URL for the pull request review comment. - */ - html_url: string; - /** @description The ID of the pull request review comment. */ - id: number; - /** @description The comment ID to reply to. */ - in_reply_to_id?: number; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - line: OneOf<[number, null]>; - /** @description The node ID of the pull request review comment. */ - node_id: string; - /** @description The SHA of the original commit to which the comment applies. */ - original_commit_id: string; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - original_line: number; - /** @description The index of the original line in the diff to which the comment applies. */ - original_position: number; - /** @description The first line of the range for a multi-line comment. */ - original_start_line: OneOf<[number, null]>; - /** @description The relative path of the file to which the comment applies. */ - path: string; - /** @description The line index in the diff to which the comment applies. */ - position: OneOf<[number, null]>; - /** @description The ID of the pull request review to which the comment belongs. */ - pull_request_review_id: OneOf<[number, null]>; - /** - * Format: uri - * @description URL for the pull request that the review comment belongs to. - */ - pull_request_url: string; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** - * @description The side of the first line of the range for a multi-line comment. - * @enum {string} - */ - side: "LEFT" | "RIGHT"; - /** @description The first line of the range for a multi-line comment. */ - start_line: OneOf<[number, null]>; - /** - * @description The side of the first line of the range for a multi-line comment. - * @default RIGHT - * @enum {string|null} - */ - start_side: "LEFT" | "RIGHT" | "" | null; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the pull request review comment - */ - url: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { + html: { /** Format: uri-template */ href: string; }; @@ -57643,6 +47688,7 @@ export interface components { }; /** @enum {string|null} */ active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + additions?: number; /** User */ assignee: OneOf<[{ /** Format: uri */ @@ -57676,7 +47722,7 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>; @@ -57712,7 +47758,7 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>)[]; @@ -57726,7 +47772,7 @@ export interface components { * PullRequestAutoMerge * @description The status of auto merging a pull request. */ - auto_merge?: OneOf<[{ + auto_merge: OneOf<[{ /** @description Commit message for the merge commit. */ commit_message: OneOf<[string, null]>; /** @description Title for the merge commit message. */ @@ -58098,17 +48144,24 @@ export interface components { }, null]>; }; body: OneOf<[string, null]>; + changed_files?: number; + /** Format: date-time */ closed_at: OneOf<[string, null]>; + comments?: number; /** Format: uri */ comments_url: string; + commits?: number; /** Format: uri */ commits_url: string; + /** Format: date-time */ created_at: string; + deletions?: number; /** Format: uri */ diff_url: string; - draft?: boolean; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; head: { - label: string; + label: OneOf<[string, null]>; ref: string; /** * Repository @@ -58346,7 +48399,7 @@ export interface components { * - `BLANK` - default to a blank commit message. * @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK" | "BLANK"; /** * @description The default value for a squash merge commit title: * @@ -58451,8 +48504,51 @@ export interface components { url: string; })[]; locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; merge_commit_sha: OneOf<[string, null]>; + mergeable?: OneOf<[boolean, null]>; + mergeable_state?: string; + merged?: OneOf<[boolean, null]>; + /** Format: date-time */ merged_at: OneOf<[string, null]>; + /** User */ + merged_by?: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; /** * Milestone * @description A collection of related issues and pull requests. @@ -58525,9 +48621,11 @@ export interface components { url: string; }, null]>; node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ number: number; /** Format: uri */ patch_url: string; + rebaseable?: OneOf<[boolean, null]>; requested_reviewers: (OneOf<[OneOf<[{ /** Format: uri */ avatar_url?: string; @@ -58560,22 +48658,22 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>, { deleted?: boolean; /** @description Description of the team */ - description?: OneOf<[string, null]>; + description: OneOf<[string, null]>; /** Format: uri */ - html_url?: string; + html_url: string; /** @description Unique identifier of the team */ id: number; /** Format: uri-template */ - members_url?: string; + members_url: string; /** @description Name of the team */ name: string; - node_id?: string; + node_id: string; parent?: OneOf<[{ /** @description Description of the team */ description: OneOf<[string, null]>; @@ -58602,17 +48700,17 @@ export interface components { url: string; }, null]>; /** @description Permission that the team will have for its repositories */ - permission?: string; + permission: string; /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; + privacy: "open" | "closed" | "secret"; /** Format: uri */ - repositories_url?: string; - slug?: string; + repositories_url: string; + slug: string; /** * Format: uri * @description URL for the team */ - url?: string; + url: string; }]>)[]; requested_teams: ({ deleted?: boolean; @@ -58667,13 +48765,19 @@ export interface components { })[]; /** Format: uri-template */ review_comment_url: string; + review_comments?: number; /** Format: uri */ review_comments_url: string; - /** @enum {string} */ + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ state: "open" | "closed"; /** Format: uri */ statuses_url: string; + /** @description The title of the pull request. */ title: string; + /** Format: date-time */ updated_at: string; /** Format: uri */ url: string; @@ -58716,16 +48820,34 @@ export interface components { }, null]>; }; repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + sender?: components["schemas"]["simple-user"]; }; - /** pull_request_review dismissed event */ - "webhook-pull-request-review-dismissed": { + /** pull_request labeled event */ + "webhook-pull-request-labeled": { /** @enum {string} */ - action: "dismissed"; + action: "labeled"; enterprise?: components["schemas"]["enterprise"]; installation?: components["schemas"]["simple-installation"]; + /** Label */ + label?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }; + /** @description The pull request number. */ + number: number; organization?: components["schemas"]["organization-simple"]; - /** Simple Pull Request */ + /** Pull Request */ pull_request: { _links: { /** Link */ @@ -58771,6 +48893,7 @@ export interface components { }; /** @enum {string|null} */ active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + additions?: number; /** User */ assignee: OneOf<[{ /** Format: uri */ @@ -59226,17 +49349,24 @@ export interface components { }, null]>; }; body: OneOf<[string, null]>; + changed_files?: number; + /** Format: date-time */ closed_at: OneOf<[string, null]>; + comments?: number; /** Format: uri */ comments_url: string; + commits?: number; /** Format: uri */ commits_url: string; + /** Format: date-time */ created_at: string; + deletions?: number; /** Format: uri */ diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ draft: boolean; head: { - label: string; + label: OneOf<[string, null]>; ref: string; /** * Repository @@ -59579,8 +49709,51 @@ export interface components { url: string; })[]; locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; merge_commit_sha: OneOf<[string, null]>; + mergeable?: OneOf<[boolean, null]>; + mergeable_state?: string; + merged?: OneOf<[boolean, null]>; + /** Format: date-time */ merged_at: OneOf<[string, null]>; + /** User */ + merged_by?: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; /** * Milestone * @description A collection of related issues and pull requests. @@ -59624,7 +49797,7 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>; @@ -59653,9 +49826,11 @@ export interface components { url: string; }, null]>; node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ number: number; /** Format: uri */ patch_url: string; + rebaseable?: OneOf<[boolean, null]>; requested_reviewers: (OneOf<[OneOf<[{ /** Format: uri */ avatar_url?: string; @@ -59795,13 +49970,19 @@ export interface components { })[]; /** Format: uri-template */ review_comment_url: string; + review_comments?: number; /** Format: uri */ review_comments_url: string; - /** @enum {string} */ + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ state: "open" | "closed"; /** Format: uri */ statuses_url: string; + /** @description The title of the pull request. */ title: string; + /** Format: date-time */ updated_at: string; /** Format: uri */ url: string; @@ -59844,95 +50025,18 @@ export interface components { }, null]>; }; repository: components["schemas"]["repository"]; - /** @description The review that was affected. */ - review: { - _links: { - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - pull_request: { - /** Format: uri-template */ - href: string; - }; - }; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description The text of the review. */ - body: OneOf<[string, null]>; - /** @description A commit SHA for the review. */ - commit_id: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the review */ - id: number; - node_id: string; - /** Format: uri */ - pull_request_url: string; - /** @enum {string} */ - state: "dismissed" | "approved" | "changes_requested"; - /** Format: date-time */ - submitted_at: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>; - }; sender: components["schemas"]["simple-user"]; }; - /** pull_request_review edited event */ - "webhook-pull-request-review-edited": { + /** pull_request locked event */ + "webhook-pull-request-locked": { /** @enum {string} */ - action: "edited"; - changes: { - body?: { - /** @description The previous version of the body if the action was `edited`. */ - from: string; - }; - }; + action: "locked"; enterprise?: components["schemas"]["enterprise"]; installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; organization?: components["schemas"]["organization-simple"]; - /** Simple Pull Request */ + /** Pull Request */ pull_request: { _links: { /** Link */ @@ -59978,6 +50082,7 @@ export interface components { }; /** @enum {string|null} */ active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + additions?: number; /** User */ assignee: OneOf<[{ /** Format: uri */ @@ -60011,7 +50116,7 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; @@ -60219,6 +50324,11 @@ export interface components { * @default true */ has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; homepage: OneOf<[string, null]>; /** Format: uri */ hooks_url: string; @@ -60250,6 +50360,23 @@ export interface components { url: OneOf<[string, null]>; }, null]>; master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; /** Format: uri */ merges_url: string; /** Format: uri-template */ @@ -60318,6 +50445,23 @@ export interface components { releases_url: string; role_name?: OneOf<[string, null]>; size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; ssh_url: string; stargazers?: number; stargazers_count: number; @@ -60342,10 +50486,17 @@ export interface components { updated_at: string; /** Format: uri */ url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; /** @enum {string} */ visibility: "public" | "private" | "internal"; watchers: number; watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; }; sha: string; /** User */ @@ -60387,17 +50538,24 @@ export interface components { }, null]>; }; body: OneOf<[string, null]>; + changed_files?: number; + /** Format: date-time */ closed_at: OneOf<[string, null]>; + comments?: number; /** Format: uri */ comments_url: string; + commits?: number; /** Format: uri */ commits_url: string; + /** Format: date-time */ created_at: string; + deletions?: number; /** Format: uri */ diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ draft: boolean; head: { - label: string; + label: OneOf<[string, null]>; ref: string; /** * Repository @@ -60506,6 +50664,11 @@ export interface components { * @default true */ has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; homepage: OneOf<[string, null]>; /** Format: uri */ hooks_url: string; @@ -60537,6 +50700,23 @@ export interface components { url: OneOf<[string, null]>; }, null]>; master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; /** Format: uri */ merges_url: string; /** Format: uri-template */ @@ -60605,6 +50785,23 @@ export interface components { releases_url: string; role_name?: OneOf<[string, null]>; size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; ssh_url: string; stargazers?: number; stargazers_count: number; @@ -60629,10 +50826,17 @@ export interface components { updated_at: string; /** Format: uri */ url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; /** @enum {string} */ visibility: "public" | "private" | "internal"; watchers: number; watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; }, null]>; sha: string; /** User */ @@ -60694,8 +50898,51 @@ export interface components { url: string; })[]; locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; merge_commit_sha: OneOf<[string, null]>; + mergeable?: OneOf<[boolean, null]>; + mergeable_state?: string; + merged?: OneOf<[boolean, null]>; + /** Format: date-time */ merged_at: OneOf<[string, null]>; + /** User */ + merged_by?: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; /** * Milestone * @description A collection of related issues and pull requests. @@ -60739,7 +50986,7 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; @@ -60768,9 +51015,11 @@ export interface components { url: string; }, null]>; node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ number: number; /** Format: uri */ patch_url: string; + rebaseable?: OneOf<[boolean, null]>; requested_reviewers: (OneOf<[OneOf<[{ /** Format: uri */ avatar_url?: string; @@ -60910,13 +51159,19 @@ export interface components { })[]; /** Format: uri-template */ review_comment_url: string; + review_comments?: number; /** Format: uri */ review_comments_url: string; - /** @enum {string} */ + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ state: "open" | "closed"; /** Format: uri */ statuses_url: string; + /** @description The title of the pull request. */ title: string; + /** Format: date-time */ updated_at: string; /** Format: uri */ url: string; @@ -60959,86 +51214,14 @@ export interface components { }, null]>; }; repository: components["schemas"]["repository"]; - /** @description The review that was affected. */ - review: { - _links: { - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - pull_request: { - /** Format: uri-template */ - href: string; - }; - }; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description The text of the review. */ - body: OneOf<[string, null]>; - /** @description A commit SHA for the review. */ - commit_id: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the review */ - id: number; - node_id: string; - /** Format: uri */ - pull_request_url: string; - state: string; - /** Format: date-time */ - submitted_at: OneOf<[string, null]>; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - }; sender: components["schemas"]["simple-user"]; }; - /** pull_request review_request_removed event */ - "webhook-pull-request-review-request-removed": OneOf<[{ + /** pull_request milestoned event */ + "webhook-pull-request-milestoned": { /** @enum {string} */ - action: "review_request_removed"; + action: "milestoned"; enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; + milestone?: components["schemas"]["milestone"]; /** @description The pull request number. */ number: number; organization?: components["schemas"]["organization-simple"]; @@ -61122,7 +51305,7 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>; @@ -61158,7 +51341,7 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>)[]; @@ -61452,12 +51635,19 @@ export interface components { role_name?: OneOf<[string, null]>; size: number; /** - * @description The default value for a squash merge commit message. + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. * @enum {string} */ squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; /** - * @description The default value for a squash merge commit title. + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). * @enum {string} */ squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; @@ -61486,7 +51676,7 @@ export interface components { /** Format: uri */ url: string; /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @description Whether a squash merge commit can use the pull request title as default. * @default false */ use_squash_pr_title_as_default?: boolean; @@ -61826,7 +52016,7 @@ export interface components { /** Format: uri */ url: string; /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @description Whether a squash merge commit can use the pull request title as default. * @default false */ use_squash_pr_title_as_default?: boolean; @@ -61938,7 +52128,7 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>; @@ -61985,7 +52175,7 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>; @@ -62057,16 +52247,16 @@ export interface components { }, null]>, { deleted?: boolean; /** @description Description of the team */ - description: OneOf<[string, null]>; + description?: OneOf<[string, null]>; /** Format: uri */ - html_url: string; + html_url?: string; /** @description Unique identifier of the team */ id: number; /** Format: uri-template */ - members_url: string; + members_url?: string; /** @description Name of the team */ name: string; - node_id: string; + node_id?: string; parent?: OneOf<[{ /** @description Description of the team */ description: OneOf<[string, null]>; @@ -62093,31 +52283,31 @@ export interface components { url: string; }, null]>; /** @description Permission that the team will have for its repositories */ - permission: string; + permission?: string; /** @enum {string} */ - privacy: "open" | "closed" | "secret"; + privacy?: "open" | "closed" | "secret"; /** Format: uri */ - repositories_url: string; - slug: string; + repositories_url?: string; + slug?: string; /** * Format: uri * @description URL for the team */ - url: string; + url?: string; }]>)[]; requested_teams: ({ deleted?: boolean; /** @description Description of the team */ - description: OneOf<[string, null]>; + description?: OneOf<[string, null]>; /** Format: uri */ - html_url: string; + html_url?: string; /** @description Unique identifier of the team */ id: number; /** Format: uri-template */ - members_url: string; + members_url?: string; /** @description Name of the team */ name: string; - node_id: string; + node_id?: string; parent?: OneOf<[{ /** @description Description of the team */ description: OneOf<[string, null]>; @@ -62144,17 +52334,17 @@ export interface components { url: string; }, null]>; /** @description Permission that the team will have for its repositories */ - permission: string; + permission?: string; /** @enum {string} */ - privacy: "open" | "closed" | "secret"; + privacy?: "open" | "closed" | "secret"; /** Format: uri */ - repositories_url: string; - slug: string; + repositories_url?: string; + slug?: string; /** * Format: uri * @description URL for the team */ - url: string; + url?: string; })[]; /** Format: uri-template */ review_comment_url: string; @@ -62207,60 +52397,24 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>; }; repository: components["schemas"]["repository"]; - /** User */ - requested_reviewer: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - sender: components["schemas"]["simple-user"]; - }, { + sender?: components["schemas"]["simple-user"]; + }; + /** pull_request opened event */ + "webhook-pull-request-opened": { /** @enum {string} */ - action: "review_request_removed"; + action: "opened"; enterprise?: components["schemas"]["enterprise"]; installation?: components["schemas"]["simple-installation"]; /** @description The pull request number. */ number: number; organization?: components["schemas"]["organization-simple"]; - /** Pull Request */ - pull_request: { + pull_request: ({ _links: { /** Link */ comments: { @@ -62547,11 +52701,6 @@ export interface components { * @default true */ has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; homepage: OneOf<[string, null]>; /** Format: uri */ hooks_url: string; @@ -62887,11 +53036,6 @@ export interface components { * @default true */ has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; homepage: OneOf<[string, null]>; /** Format: uri */ hooks_url: string; @@ -62924,19 +53068,12 @@ export interface components { }, null]>; master_branch?: string; /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. + * @description The default value for a merge commit message. * @enum {string} */ merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @description The default value for a merge commit message title. * @enum {string} */ merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; @@ -63209,7 +53346,7 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>; @@ -63281,16 +53418,16 @@ export interface components { }, null]>, { deleted?: boolean; /** @description Description of the team */ - description: OneOf<[string, null]>; + description?: OneOf<[string, null]>; /** Format: uri */ - html_url: string; + html_url?: string; /** @description Unique identifier of the team */ id: number; /** Format: uri-template */ - members_url: string; + members_url?: string; /** @description Name of the team */ name: string; - node_id: string; + node_id?: string; parent?: OneOf<[{ /** @description Description of the team */ description: OneOf<[string, null]>; @@ -63317,31 +53454,31 @@ export interface components { url: string; }, null]>; /** @description Permission that the team will have for its repositories */ - permission: string; + permission?: string; /** @enum {string} */ - privacy: "open" | "closed" | "secret"; + privacy?: "open" | "closed" | "secret"; /** Format: uri */ - repositories_url: string; - slug: string; + repositories_url?: string; + slug?: string; /** * Format: uri * @description URL for the team */ - url: string; + url?: string; }]>)[]; requested_teams: ({ deleted?: boolean; /** @description Description of the team */ - description: OneOf<[string, null]>; + description?: OneOf<[string, null]>; /** Format: uri */ - html_url: string; + html_url?: string; /** @description Unique identifier of the team */ id: number; /** Format: uri-template */ - members_url: string; + members_url?: string; /** @description Name of the team */ name: string; - node_id: string; + node_id?: string; parent?: OneOf<[{ /** @description Description of the team */ description: OneOf<[string, null]>; @@ -63368,17 +53505,17 @@ export interface components { url: string; }, null]>; /** @description Permission that the team will have for its repositories */ - permission: string; + permission?: string; /** @enum {string} */ - privacy: "open" | "closed" | "secret"; + privacy?: "open" | "closed" | "secret"; /** Format: uri */ - repositories_url: string; - slug: string; + repositories_url?: string; + slug?: string; /** * Format: uri * @description URL for the team */ - url: string; + url?: string; })[]; /** Format: uri-template */ review_comment_url: string; @@ -63431,80 +53568,376 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>; - }; - repository: components["schemas"]["repository"]; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - requested_team: { - deleted?: boolean; - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: OneOf<[{ - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, null]>; - /** @description Permission that the team will have for its repositories */ - permission: string; + }) & ({ + _links?: { + comments?: { + href?: string; + }; + commits?: { + href?: string; + }; + html?: { + href?: string; + }; + issue?: { + href?: string; + }; + review_comment?: { + href?: string; + }; + review_comments?: { + href?: string; + }; + self?: { + href?: string; + }; + statuses?: { + href?: string; + }; + }; + active_lock_reason: OneOf<[string, null]>; + additions?: number; + assignee?: OneOf<[Record, null]>; + assignees?: (OneOf<[Record, null]>)[]; + author_association?: string; + auto_merge?: OneOf<[Record, null]>; + base?: { + label?: string; + ref?: string; + repo?: { + allow_auto_merge?: boolean; + allow_forking?: boolean; + allow_merge_commit?: boolean; + allow_rebase_merge?: boolean; + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + archive_url?: string; + archived?: boolean; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + clone_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + created_at?: string; + default_branch?: string; + delete_branch_on_merge?: boolean; + deployments_url?: string; + description?: OneOf<[string, null]>; + disabled?: boolean; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks?: number; + forks_count?: number; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + has_downloads?: boolean; + has_issues?: boolean; + has_pages?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + homepage?: OneOf<[string, null]>; + hooks_url?: string; + html_url?: string; + id?: number; + is_template?: boolean; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + language?: OneOf<[string, null]>; + languages_url?: string; + license?: OneOf<[Record, null]>; + merges_url?: string; + milestones_url?: string; + mirror_url?: OneOf<[string, null]>; + name?: string; + node_id?: string; + notifications_url?: string; + open_issues?: number; + open_issues_count?: number; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + pushed_at?: string; + releases_url?: string; + size?: number; + ssh_url?: string; + stargazers_count?: number; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + svn_url?: string; + tags_url?: string; + teams_url?: string; + topics?: (OneOf<[string, null]>)[]; + trees_url?: string; + updated_at?: string; + url?: string; + visibility?: string; + watchers?: number; + watchers_count?: number; + web_commit_signoff_required?: boolean; + }; + sha?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + }; + body?: OneOf<[string, null]>; + changed_files?: number; + closed_at: OneOf<[string, null]>; + comments?: number; + comments_url?: string; + commits?: number; + commits_url?: string; + created_at?: string; + deletions?: number; + diff_url?: string; + draft?: boolean; + head?: { + label?: string; + ref?: string; + repo?: { + allow_auto_merge?: boolean; + allow_forking?: boolean; + allow_merge_commit?: boolean; + allow_rebase_merge?: boolean; + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + archive_url?: string; + archived?: boolean; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + clone_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + created_at?: string; + default_branch?: string; + delete_branch_on_merge?: boolean; + deployments_url?: string; + description?: OneOf<[string, null]>; + disabled?: boolean; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks?: number; + forks_count?: number; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + has_downloads?: boolean; + has_issues?: boolean; + has_pages?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + homepage?: OneOf<[string, null]>; + hooks_url?: string; + html_url?: string; + id?: number; + is_template?: boolean; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + language?: OneOf<[string, null]>; + languages_url?: string; + license?: OneOf<[Record, null]>; + merges_url?: string; + milestones_url?: string; + mirror_url?: OneOf<[string, null]>; + name?: string; + node_id?: string; + notifications_url?: string; + open_issues?: number; + open_issues_count?: number; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + pushed_at?: string; + releases_url?: string; + size?: number; + ssh_url?: string; + stargazers_count?: number; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + svn_url?: string; + tags_url?: string; + teams_url?: string; + topics?: (OneOf<[string, null]>)[]; + trees_url?: string; + updated_at?: string; + url?: string; + visibility?: string; + watchers?: number; + watchers_count?: number; + web_commit_signoff_required?: boolean; + }; + sha?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + }; + html_url?: string; + id?: number; + issue_url?: string; + labels?: (OneOf<[Record, null]>)[]; + locked?: boolean; + maintainer_can_modify?: boolean; + merge_commit_sha: OneOf<[string, null]>; + mergeable?: OneOf<[boolean, null]>; + mergeable_state?: string; + merged?: boolean; + merged_at: OneOf<[string, null]>; + merged_by: OneOf<[Record, null]>; + milestone?: OneOf<[Record, null]>; + node_id?: string; + number?: number; + patch_url?: string; + rebaseable?: OneOf<[boolean, null]>; + requested_reviewers?: (OneOf<[Record, null]>)[]; + requested_teams?: (OneOf<[Record, null]>)[]; + review_comment_url?: string; + review_comments?: number; + review_comments_url?: string; /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }; + state: "open" | "closed"; + statuses_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + }); + repository: components["schemas"]["repository"]; sender: components["schemas"]["simple-user"]; - }]>; - /** pull_request review_requested event */ - "webhook-pull-request-review-requested": OneOf<[{ + }; + /** pull_request ready_for_review event */ + "webhook-pull-request-ready-for-review": { /** @enum {string} */ - action: "review_requested"; + action: "ready_for_review"; enterprise?: components["schemas"]["enterprise"]; installation?: components["schemas"]["simple-installation"]; /** @description The pull request number. */ number: number; organization?: components["schemas"]["organization-simple"]; - /** Pull Request */ - pull_request: { + pull_request: ({ _links: { /** Link */ comments: { @@ -63583,7 +54016,7 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; @@ -63619,7 +54052,7 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>)[]; @@ -63791,11 +54224,6 @@ export interface components { * @default true */ has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; homepage: OneOf<[string, null]>; /** Format: uri */ hooks_url: string; @@ -64131,11 +54559,6 @@ export interface components { * @default true */ has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; homepage: OneOf<[string, null]>; /** Format: uri */ hooks_url: string; @@ -64525,16 +54948,16 @@ export interface components { }, null]>, { deleted?: boolean; /** @description Description of the team */ - description: OneOf<[string, null]>; + description?: OneOf<[string, null]>; /** Format: uri */ - html_url: string; + html_url?: string; /** @description Unique identifier of the team */ id: number; /** Format: uri-template */ - members_url: string; + members_url?: string; /** @description Name of the team */ name: string; - node_id: string; + node_id?: string; parent?: OneOf<[{ /** @description Description of the team */ description: OneOf<[string, null]>; @@ -64561,17 +54984,17 @@ export interface components { url: string; }, null]>; /** @description Permission that the team will have for its repositories */ - permission: string; + permission?: string; /** @enum {string} */ - privacy: "open" | "closed" | "secret"; + privacy?: "open" | "closed" | "secret"; /** Format: uri */ - repositories_url: string; - slug: string; + repositories_url?: string; + slug?: string; /** * Format: uri * @description URL for the team */ - url: string; + url?: string; }]>)[]; requested_teams: ({ deleted?: boolean; @@ -64679,56 +55102,391 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - }; - repository: components["schemas"]["repository"]; - /** User */ - requested_reviewer: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ + }) & ({ + _links?: { + comments?: { + href?: string; + }; + commits?: { + href?: string; + }; + html?: { + href?: string; + }; + issue?: { + href?: string; + }; + review_comment?: { + href?: string; + }; + review_comments?: { + href?: string; + }; + self?: { + href?: string; + }; + statuses?: { + href?: string; + }; + }; + active_lock_reason?: OneOf<[string, null]>; + additions?: number; + assignee?: OneOf<[Record, null]>; + assignees?: (OneOf<[Record, null]>)[]; + author_association?: string; + auto_merge?: OneOf<[Record, null]>; + base?: { + label?: string; + ref?: string; + repo?: { + allow_auto_merge?: boolean; + allow_forking?: boolean; + allow_merge_commit?: boolean; + allow_rebase_merge?: boolean; + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + archive_url?: string; + archived?: boolean; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + clone_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + created_at?: string; + default_branch?: string; + delete_branch_on_merge?: boolean; + deployments_url?: string; + description?: OneOf<[string, null]>; + disabled?: boolean; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks?: number; + forks_count?: number; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + has_downloads?: boolean; + has_issues?: boolean; + has_pages?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + homepage?: OneOf<[string, null]>; + hooks_url?: string; + html_url?: string; + id?: number; + is_template?: boolean; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + language?: OneOf<[string, null]>; + languages_url?: string; + license?: OneOf<[Record, null]>; + /** @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + merges_url?: string; + milestones_url?: string; + mirror_url?: OneOf<[string, null]>; + name?: string; + node_id?: string; + notifications_url?: string; + open_issues?: number; + open_issues_count?: number; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + pushed_at?: string; + releases_url?: string; + size?: number; + /** @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url?: string; + stargazers_count?: number; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + svn_url?: string; + tags_url?: string; + teams_url?: string; + topics?: (OneOf<[string, null]>)[]; + trees_url?: string; + updated_at?: string; + url?: string; + use_squash_pr_title_as_default?: boolean; + visibility?: string; + watchers?: number; + watchers_count?: number; + web_commit_signoff_required?: boolean; + }; + sha?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + }; + body?: OneOf<[string, null]>; + changed_files?: number; + closed_at: OneOf<[string, null]>; + comments?: number; + comments_url?: string; + commits?: number; + commits_url?: string; + created_at?: string; + deletions?: number; + diff_url?: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head?: { + label?: string; + ref?: string; + repo?: { + allow_auto_merge?: boolean; + allow_forking?: boolean; + allow_merge_commit?: boolean; + allow_rebase_merge?: boolean; + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + archive_url?: string; + archived?: boolean; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + clone_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + created_at?: string; + default_branch?: string; + delete_branch_on_merge?: boolean; + deployments_url?: string; + description?: OneOf<[string, null]>; + disabled?: boolean; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks?: number; + forks_count?: number; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + has_downloads?: boolean; + has_issues?: boolean; + has_pages?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + homepage?: OneOf<[string, null]>; + hooks_url?: string; + html_url?: string; + id?: number; + is_template?: boolean; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + language?: OneOf<[string, null]>; + languages_url?: string; + license?: OneOf<[Record, null]>; + /** @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + merges_url?: string; + milestones_url?: string; + mirror_url?: OneOf<[string, null]>; + name?: string; + node_id?: string; + notifications_url?: string; + open_issues?: number; + open_issues_count?: number; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + pushed_at?: string; + releases_url?: string; + size?: number; + /** @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url?: string; + stargazers_count?: number; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + svn_url?: string; + tags_url?: string; + teams_url?: string; + topics?: (OneOf<[string, null]>)[]; + trees_url?: string; + updated_at?: string; + url?: string; + use_squash_pr_title_as_default?: boolean; + visibility?: string; + watchers?: number; + watchers_count?: number; + web_commit_signoff_required?: boolean; + }; + sha?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + }; html_url?: string; - id: number; - login: string; - name?: string; + id?: number; + issue_url?: string; + labels?: (OneOf<[Record, null]>)[]; + locked?: boolean; + maintainer_can_modify?: boolean; + merge_commit_sha?: OneOf<[string, null]>; + mergeable?: OneOf<[boolean, null]>; + mergeable_state?: string; + merged: boolean; + merged_at: OneOf<[string, null]>; + merged_by: OneOf<[Record, null]>; + milestone?: OneOf<[Record, null]>; node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; + number?: number; + patch_url?: string; + rebaseable?: OneOf<[boolean, null]>; + requested_reviewers?: (OneOf<[Record, null]>)[]; + requested_teams?: (OneOf<[Record, null]>)[]; + review_comment_url?: string; + review_comments?: number; + review_comments_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ + state: "open" | "closed"; + statuses_url?: string; + title?: string; + updated_at?: string; url?: string; - }, null]>; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + }); + repository: components["schemas"]["repository"]; sender: components["schemas"]["simple-user"]; - }, { + }; + /** pull_request reopened event */ + "webhook-pull-request-reopened": { /** @enum {string} */ - action: "review_requested"; + action: "reopened"; enterprise?: components["schemas"]["enterprise"]; installation?: components["schemas"]["simple-installation"]; /** @description The pull request number. */ number: number; organization?: components["schemas"]["organization-simple"]; - /** Pull Request */ - pull_request: { + pull_request: ({ _links: { /** Link */ comments: { @@ -64807,7 +55565,7 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; @@ -64843,7 +55601,7 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>)[]; @@ -64861,7 +55619,7 @@ export interface components { /** @description Commit message for the merge commit. */ commit_message: OneOf<[string, null]>; /** @description Title for the merge commit message. */ - commit_title: OneOf<[string, null]>; + commit_title: string; /** User */ enabled_by: OneOf<[{ /** Format: uri */ @@ -65015,11 +55773,6 @@ export interface components { * @default true */ has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; homepage: OneOf<[string, null]>; /** Format: uri */ hooks_url: string; @@ -65355,11 +56108,6 @@ export interface components { * @default true */ has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; homepage: OneOf<[string, null]>; /** Format: uri */ hooks_url: string; @@ -65392,19 +56140,12 @@ export interface components { }, null]>; master_branch?: string; /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. + * @description The default value for a merge commit message. * @enum {string} */ merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @description The default value for a merge commit message title. * @enum {string} */ merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; @@ -65677,7 +56418,7 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; @@ -65743,22 +56484,22 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>, { deleted?: boolean; /** @description Description of the team */ - description?: OneOf<[string, null]>; + description: OneOf<[string, null]>; /** Format: uri */ - html_url?: string; + html_url: string; /** @description Unique identifier of the team */ id: number; /** Format: uri-template */ - members_url?: string; + members_url: string; /** @description Name of the team */ name: string; - node_id?: string; + node_id: string; parent?: OneOf<[{ /** @description Description of the team */ description: OneOf<[string, null]>; @@ -65785,17 +56526,17 @@ export interface components { url: string; }, null]>; /** @description Permission that the team will have for its repositories */ - permission?: string; + permission: string; /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; + privacy: "open" | "closed" | "secret"; /** Format: uri */ - repositories_url?: string; - slug?: string; + repositories_url: string; + slug: string; /** * Format: uri * @description URL for the team */ - url?: string; + url: string; }]>)[]; requested_teams: ({ deleted?: boolean; @@ -65903,256 +56644,710 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - }; - repository: components["schemas"]["repository"]; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - requested_team: { - deleted?: boolean; - /** @description Description of the team */ - description?: OneOf<[string, null]>; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: OneOf<[{ - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, null]>; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }; - sender: components["schemas"]["simple-user"]; - }]>; - /** pull_request_review submitted event */ - "webhook-pull-request-review-submitted": { - /** @enum {string} */ - action: "submitted"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - /** Simple Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; + }) & ({ + _links?: { + comments?: { + href?: string; }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; + commits?: { + href?: string; }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; + html?: { + href?: string; }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; + issue?: { + href?: string; }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; + review_comment?: { + href?: string; }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; + review_comments?: { + href?: string; }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; + self?: { + href?: string; }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; + statuses?: { + href?: string; }; }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; - /** User */ - assignee: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>; - assignees: (OneOf<[{ - /** Format: uri */ + active_lock_reason?: OneOf<[string, null]>; + additions?: number; + assignee?: OneOf<[Record, null]>; + assignees?: (OneOf<[Record, null]>)[]; + author_association?: string; + auto_merge?: null; + base?: { + label?: string; + ref?: string; + repo?: { + allow_auto_merge?: boolean; + allow_forking?: boolean; + allow_merge_commit?: boolean; + allow_rebase_merge?: boolean; + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + archive_url?: string; + archived?: boolean; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + clone_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + created_at?: string; + default_branch?: string; + delete_branch_on_merge?: boolean; + deployments_url?: string; + description?: OneOf<[string, null]>; + disabled?: boolean; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks?: number; + forks_count?: number; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + has_downloads?: boolean; + has_issues?: boolean; + has_pages?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + homepage?: OneOf<[string, null]>; + hooks_url?: string; + html_url?: string; + id?: number; + is_template?: boolean; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + language?: OneOf<[string, null]>; + languages_url?: string; + license?: OneOf<[Record, null]>; + /** @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + merges_url?: string; + milestones_url?: string; + mirror_url?: null; + name?: string; + node_id?: string; + notifications_url?: string; + open_issues?: number; + open_issues_count?: number; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + pushed_at?: string; + releases_url?: string; + size?: number; + /** @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url?: string; + stargazers_count?: number; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + svn_url?: string; + tags_url?: string; + teams_url?: string; + topics?: (OneOf<[string, null]>)[]; + trees_url?: string; + updated_at?: string; + url?: string; + use_squash_pr_title_as_default?: boolean; + visibility?: string; + watchers?: number; + watchers_count?: number; + web_commit_signoff_required?: boolean; + }; + sha?: string; + user?: { avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ events_url?: string; - /** Format: uri */ followers_url?: string; - /** Format: uri-template */ following_url?: string; - /** Format: uri-template */ gists_url?: string; gravatar_id?: string; - /** Format: uri */ html_url?: string; - id: number; - login: string; - name?: string; + id?: number; + login?: string; node_id?: string; - /** Format: uri */ organizations_url?: string; - /** Format: uri */ received_events_url?: string; - /** Format: uri */ repos_url?: string; site_admin?: boolean; - /** Format: uri-template */ starred_url?: string; - /** Format: uri */ subscriptions_url?: string; + type?: string; + url?: string; + }; + }; + body?: OneOf<[string, null]>; + changed_files?: number; + closed_at: OneOf<[string, null]>; + comments?: number; + comments_url?: string; + commits?: number; + commits_url?: string; + created_at?: string; + deletions?: number; + diff_url?: string; + draft?: boolean; + head?: { + label?: string; + ref?: string; + repo?: { + allow_auto_merge?: boolean; + allow_forking?: boolean; + allow_merge_commit?: boolean; + allow_rebase_merge?: boolean; + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + archive_url?: string; + archived?: boolean; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + clone_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + created_at?: string; + default_branch?: string; + delete_branch_on_merge?: boolean; + deployments_url?: string; + description?: OneOf<[string, null]>; + disabled?: boolean; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks?: number; + forks_count?: number; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + has_downloads?: boolean; + has_issues?: boolean; + has_pages?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + homepage?: OneOf<[string, null]>; + hooks_url?: string; + html_url?: string; + id?: number; + is_template?: boolean; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + language?: OneOf<[string, null]>; + languages_url?: string; + license?: OneOf<[Record, null]>; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + merges_url?: string; + milestones_url?: string; + mirror_url?: null; + name?: string; + node_id?: string; + notifications_url?: string; + open_issues?: number; + open_issues_count?: number; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + pushed_at?: string; + releases_url?: string; + size?: number; + /** @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url?: string; + stargazers_count?: number; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + svn_url?: string; + tags_url?: string; + teams_url?: string; + topics?: (OneOf<[string, null]>)[]; + trees_url?: string; + updated_at?: string; url?: string; - }, null]>)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: OneOf<[{ - /** @description Commit message for the merge commit. */ - commit_message: OneOf<[string, null]>; - /** @description Title for the merge commit message. */ - commit_title: OneOf<[string, null]>; - /** User */ - enabled_by: OneOf<[{ - /** Format: uri */ + use_squash_pr_title_as_default?: boolean; + visibility?: string; + watchers?: number; + watchers_count?: number; + web_commit_signoff_required?: boolean; + }; + sha?: string; + user?: { avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ events_url?: string; - /** Format: uri */ followers_url?: string; - /** Format: uri-template */ following_url?: string; - /** Format: uri-template */ gists_url?: string; gravatar_id?: string; - /** Format: uri */ html_url?: string; - id: number; - login: string; - name?: string; + id?: number; + login?: string; node_id?: string; - /** Format: uri */ organizations_url?: string; - /** Format: uri */ received_events_url?: string; - /** Format: uri */ repos_url?: string; site_admin?: boolean; - /** Format: uri-template */ starred_url?: string; - /** Format: uri */ subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ + type?: string; url?: string; - }, null]>; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }, null]>; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ + }; + }; + html_url?: string; + id?: number; + issue_url?: string; + labels?: (OneOf<[Record, null]>)[]; + locked?: boolean; + maintainer_can_modify?: boolean; + merge_commit_sha?: OneOf<[string, null]>; + mergeable?: OneOf<[boolean, null]>; + mergeable_state?: string; + merged: boolean; + merged_at: OneOf<[string, null]>; + merged_by: OneOf<[Record, null]>; + milestone?: OneOf<[Record, null]>; + node_id?: string; + number?: number; + patch_url?: string; + rebaseable?: OneOf<[boolean, null]>; + requested_reviewers?: (OneOf<[Record, null]>)[]; + requested_teams?: (OneOf<[Record, null]>)[]; + review_comment_url?: string; + review_comments?: number; + review_comments_url?: string; + /** @enum {string} */ + state: "open" | "closed"; + statuses_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + }); + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request_review_comment created event */ + "webhook-pull-request-review-comment-created": { + /** @enum {string} */ + action: "created"; + /** + * Pull Request Review Comment + * @description The [comment](https://docs.github.com/rest/reference/pulls#comments) itself. + */ + comment: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the comment. */ + body: string; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + /** Format: date-time */ + created_at: string; + /** @description The diff of the line that the comment refers to. */ + diff_hunk: string; + /** + * Format: uri + * @description HTML URL for the pull request review comment. + */ + html_url: string; + /** @description The ID of the pull request review comment. */ + id: number; + /** @description The comment ID to reply to. */ + in_reply_to_id?: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line: OneOf<[number, null]>; + /** @description The node ID of the pull request review comment. */ + node_id: string; + /** @description The SHA of the original commit to which the comment applies. */ + original_commit_id: string; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + original_line: OneOf<[number, null]>; + /** @description The index of the original line in the diff to which the comment applies. */ + original_position: number; + /** @description The first line of the range for a multi-line comment. */ + original_start_line: OneOf<[number, null]>; + /** @description The relative path of the file to which the comment applies. */ + path: string; + /** @description The line index in the diff to which the comment applies. */ + position: OneOf<[number, null]>; + /** @description The ID of the pull request review to which the comment belongs. */ + pull_request_review_id: OneOf<[number, null]>; + /** + * Format: uri + * @description URL for the pull request that the review comment belongs to. + */ + pull_request_url: string; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** + * @description The side of the first line of the range for a multi-line comment. + * @enum {string} + */ + side: "LEFT" | "RIGHT"; + /** @description The first line of the range for a multi-line comment. */ + start_line: OneOf<[number, null]>; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string|null} + */ + start_side: "LEFT" | "RIGHT" | "" | null; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the pull request review comment + */ + url: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + /** User */ + assignee: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + assignees: (OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge?: OneOf<[{ + /** @description Commit message for the merge commit. */ + commit_message: OneOf<[string, null]>; + /** @description Title for the merge commit message. */ + commit_title: OneOf<[string, null]>; + /** User */ + enabled_by: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + }, null]>; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ repo: { /** * @description Whether to allow auto-merge for pull requests. @@ -66478,9 +57673,9 @@ export interface components { created_at: string; /** Format: uri */ diff_url: string; - draft: boolean; + draft?: boolean; head: { - label: OneOf<[string, null]>; + label: string; ref: string; /** * Repository @@ -66593,7 +57788,7 @@ export interface components { * @description Whether discussions are enabled. * @default false */ - has_discussions: boolean; + has_discussions?: boolean; homepage: OneOf<[string, null]>; /** Format: uri */ hooks_url: string; @@ -67088,8 +58283,17 @@ export interface components { }, null]>; }; repository: components["schemas"]["repository"]; - /** @description The review that was affected. */ - review: { + sender: components["schemas"]["simple-user"]; + }; + /** pull_request_review_comment deleted event */ + "webhook-pull-request-review-comment-deleted": { + /** @enum {string} */ + action: "deleted"; + /** + * Pull Request Review Comment + * @description The [comment](https://docs.github.com/rest/reference/pulls#comments) itself. + */ + comment: { _links: { /** Link */ html: { @@ -67101,6 +58305,11 @@ export interface components { /** Format: uri-template */ href: string; }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; }; /** * AuthorAssociation @@ -67108,20 +58317,80 @@ export interface components { * @enum {string} */ author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description The text of the review. */ - body: OneOf<[string, null]>; - /** @description A commit SHA for the review. */ + /** @description The text of the comment. */ + body: string; + /** @description The SHA of the commit to which the comment applies. */ commit_id: string; - /** Format: uri */ + /** Format: date-time */ + created_at: string; + /** @description The diff of the line that the comment refers to. */ + diff_hunk: string; + /** + * Format: uri + * @description HTML URL for the pull request review comment. + */ html_url: string; - /** @description Unique identifier of the review */ + /** @description The ID of the pull request review comment. */ id: number; + /** @description The comment ID to reply to. */ + in_reply_to_id?: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line: OneOf<[number, null]>; + /** @description The node ID of the pull request review comment. */ node_id: string; - /** Format: uri */ + /** @description The SHA of the original commit to which the comment applies. */ + original_commit_id: string; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + original_line: number; + /** @description The index of the original line in the diff to which the comment applies. */ + original_position: number; + /** @description The first line of the range for a multi-line comment. */ + original_start_line: OneOf<[number, null]>; + /** @description The relative path of the file to which the comment applies. */ + path: string; + /** @description The line index in the diff to which the comment applies. */ + position: OneOf<[number, null]>; + /** @description The ID of the pull request review to which the comment belongs. */ + pull_request_review_id: OneOf<[number, null]>; + /** + * Format: uri + * @description URL for the pull request that the review comment belongs to. + */ pull_request_url: string; - state: string; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** + * @description The side of the first line of the range for a multi-line comment. + * @enum {string} + */ + side: "LEFT" | "RIGHT"; + /** @description The first line of the range for a multi-line comment. */ + start_line: OneOf<[number, null]>; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string|null} + */ + start_side: "LEFT" | "RIGHT" | "" | null; /** Format: date-time */ - submitted_at: OneOf<[string, null]>; + updated_at: string; + /** + * Format: uri + * @description URL for the pull request review comment + */ + url: string; /** User */ user: OneOf<[{ /** Format: uri */ @@ -67160,16 +58429,9 @@ export interface components { url?: string; }, null]>; }; - sender: components["schemas"]["simple-user"]; - }; - /** pull_request_review_thread resolved event */ - "webhook-pull-request-review-thread-resolved": { - /** @enum {string} */ - action: "resolved"; enterprise?: components["schemas"]["enterprise"]; installation?: components["schemas"]["simple-installation"]; organization?: components["schemas"]["organization-simple"]; - /** Simple Pull Request */ pull_request: { _links: { /** Link */ @@ -67298,7 +58560,7 @@ export interface components { * PullRequestAutoMerge * @description The status of auto merging a pull request. */ - auto_merge: OneOf<[{ + auto_merge?: OneOf<[{ /** @description Commit message for the merge commit. */ commit_message: OneOf<[string, null]>; /** @description Title for the merge commit message. */ @@ -67492,6 +58754,23 @@ export interface components { url: OneOf<[string, null]>; }, null]>; master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; /** Format: uri */ merges_url: string; /** Format: uri-template */ @@ -67560,6 +58839,23 @@ export interface components { releases_url: string; role_name?: OneOf<[string, null]>; size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; ssh_url: string; stargazers?: number; stargazers_count: number; @@ -67584,6 +58880,11 @@ export interface components { updated_at: string; /** Format: uri */ url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; /** @enum {string} */ visibility: "public" | "private" | "internal"; watchers: number; @@ -67639,9 +58940,9 @@ export interface components { created_at: string; /** Format: uri */ diff_url: string; - draft: boolean; + draft?: boolean; head: { - label: OneOf<[string, null]>; + label: string; ref: string; /** * Repository @@ -67786,6 +59087,23 @@ export interface components { url: OneOf<[string, null]>; }, null]>; master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; /** Format: uri */ merges_url: string; /** Format: uri-template */ @@ -67854,6 +59172,23 @@ export interface components { releases_url: string; role_name?: OneOf<[string, null]>; size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; ssh_url: string; stargazers?: number; stargazers_count: number; @@ -67878,6 +59213,11 @@ export interface components { updated_at: string; /** Format: uri */ url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; /** @enum {string} */ visibility: "public" | "private" | "internal"; watchers: number; @@ -68054,22 +59394,22 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>, { deleted?: boolean; /** @description Description of the team */ - description: OneOf<[string, null]>; + description?: OneOf<[string, null]>; /** Format: uri */ - html_url: string; + html_url?: string; /** @description Unique identifier of the team */ id: number; /** Format: uri-template */ - members_url: string; + members_url?: string; /** @description Name of the team */ name: string; - node_id: string; + node_id?: string; parent?: OneOf<[{ /** @description Description of the team */ description: OneOf<[string, null]>; @@ -68096,17 +59436,17 @@ export interface components { url: string; }, null]>; /** @description Permission that the team will have for its repositories */ - permission: string; + permission?: string; /** @enum {string} */ - privacy: "open" | "closed" | "secret"; + privacy?: "open" | "closed" | "secret"; /** Format: uri */ - repositories_url: string; - slug: string; + repositories_url?: string; + slug?: string; /** * Format: uri * @description URL for the team */ - url: string; + url?: string; }]>)[]; requested_teams: ({ deleted?: boolean; @@ -68210,184 +59550,32 @@ export interface components { }, null]>; }; repository: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; - thread: { - comments: ({ - _links: { - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - pull_request: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - }; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description The text of the comment. */ - body: string; - /** @description The SHA of the commit to which the comment applies. */ - commit_id: string; - /** Format: date-time */ - created_at: string; - /** @description The diff of the line that the comment refers to. */ - diff_hunk: string; - /** - * Format: uri - * @description HTML URL for the pull request review comment. - */ - html_url: string; - /** @description The ID of the pull request review comment. */ - id: number; - /** @description The comment ID to reply to. */ - in_reply_to_id?: number; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - line: OneOf<[number, null]>; - /** @description The node ID of the pull request review comment. */ - node_id: string; - /** @description The SHA of the original commit to which the comment applies. */ - original_commit_id: string; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - original_line: OneOf<[number, null]>; - /** @description The index of the original line in the diff to which the comment applies. */ - original_position: number; - /** @description The first line of the range for a multi-line comment. */ - original_start_line: OneOf<[number, null]>; - /** @description The relative path of the file to which the comment applies. */ - path: string; - /** @description The line index in the diff to which the comment applies. */ - position: OneOf<[number, null]>; - /** @description The ID of the pull request review to which the comment belongs. */ - pull_request_review_id: OneOf<[number, null]>; - /** - * Format: uri - * @description URL for the pull request that the review comment belongs to. - */ - pull_request_url: string; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** - * @description The side of the first line of the range for a multi-line comment. - * @enum {string} - */ - side: "LEFT" | "RIGHT"; - /** @description The first line of the range for a multi-line comment. */ - start_line: OneOf<[number, null]>; - /** - * @description The side of the first line of the range for a multi-line comment. - * @default RIGHT - * @enum {string|null} - */ - start_side: "LEFT" | "RIGHT" | "" | null; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the pull request review comment - */ - url: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>; - })[]; - node_id: string; - }; + sender: components["schemas"]["simple-user"]; }; - /** pull_request_review_thread unresolved event */ - "webhook-pull-request-review-thread-unresolved": { + /** pull_request_review_comment edited event */ + "webhook-pull-request-review-comment-edited": { /** @enum {string} */ - action: "unresolved"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - /** Simple Pull Request */ - pull_request: { + action: "edited"; + /** @description The changes to the comment. */ + changes: { + body?: { + /** @description The previous version of the body. */ + from: string; + }; + }; + /** + * Pull Request Review Comment + * @description The [comment](https://docs.github.com/rest/reference/pulls#comments) itself. + */ + comment: { _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; /** Link */ html: { /** Format: uri-template */ href: string; }; /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { + pull_request: { /** Format: uri-template */ href: string; }; @@ -68396,16 +59584,175 @@ export interface components { /** Format: uri-template */ href: string; }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the comment. */ + body: string; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + /** Format: date-time */ + created_at: string; + /** @description The diff of the line that the comment refers to. */ + diff_hunk: string; + /** + * Format: uri + * @description HTML URL for the pull request review comment. + */ + html_url: string; + /** @description The ID of the pull request review comment. */ + id: number; + /** @description The comment ID to reply to. */ + in_reply_to_id?: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line: OneOf<[number, null]>; + /** @description The node ID of the pull request review comment. */ + node_id: string; + /** @description The SHA of the original commit to which the comment applies. */ + original_commit_id: string; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + original_line: number; + /** @description The index of the original line in the diff to which the comment applies. */ + original_position: number; + /** @description The first line of the range for a multi-line comment. */ + original_start_line: OneOf<[number, null]>; + /** @description The relative path of the file to which the comment applies. */ + path: string; + /** @description The line index in the diff to which the comment applies. */ + position: OneOf<[number, null]>; + /** @description The ID of the pull request review to which the comment belongs. */ + pull_request_review_id: OneOf<[number, null]>; + /** + * Format: uri + * @description URL for the pull request that the review comment belongs to. + */ + pull_request_url: string; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** + * @description The side of the first line of the range for a multi-line comment. + * @enum {string} + */ + side: "LEFT" | "RIGHT"; + /** @description The first line of the range for a multi-line comment. */ + start_line: OneOf<[number, null]>; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string|null} + */ + start_side: "LEFT" | "RIGHT" | "" | null; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the pull request review comment + */ + url: string; /** User */ - assignee: OneOf<[{ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + /** User */ + assignee: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -68487,11 +59834,11 @@ export interface components { * PullRequestAutoMerge * @description The status of auto merging a pull request. */ - auto_merge: OneOf<[{ + auto_merge?: OneOf<[{ /** @description Commit message for the merge commit. */ commit_message: OneOf<[string, null]>; /** @description Title for the merge commit message. */ - commit_title: string; + commit_title: OneOf<[string, null]>; /** User */ enabled_by: OneOf<[{ /** Format: uri */ @@ -68681,6 +60028,23 @@ export interface components { url: OneOf<[string, null]>; }, null]>; master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; /** Format: uri */ merges_url: string; /** Format: uri-template */ @@ -68749,6 +60113,23 @@ export interface components { releases_url: string; role_name?: OneOf<[string, null]>; size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; ssh_url: string; stargazers?: number; stargazers_count: number; @@ -68773,6 +60154,11 @@ export interface components { updated_at: string; /** Format: uri */ url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; /** @enum {string} */ visibility: "public" | "private" | "internal"; watchers: number; @@ -68828,7 +60214,7 @@ export interface components { created_at: string; /** Format: uri */ diff_url: string; - draft: boolean; + draft?: boolean; head: { label: string; ref: string; @@ -68836,7 +60222,7 @@ export interface components { * Repository * @description A git repository */ - repo: { + repo: OneOf<[{ /** * @description Whether to allow auto-merge for pull requests. * @default false @@ -68975,6 +60361,23 @@ export interface components { url: OneOf<[string, null]>; }, null]>; master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; /** Format: uri */ merges_url: string; /** Format: uri-template */ @@ -69043,6 +60446,23 @@ export interface components { releases_url: string; role_name?: OneOf<[string, null]>; size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; ssh_url: string; stargazers?: number; stargazers_count: number; @@ -69067,13 +60487,18 @@ export interface components { updated_at: string; /** Format: uri */ url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; /** @enum {string} */ visibility: "public" | "private" | "internal"; watchers: number; watchers_count: number; /** @description Whether to require contributors to sign off on web-based commits */ web_commit_signoff_required?: boolean; - }; + }, null]>; sha: string; /** User */ user: OneOf<[{ @@ -69179,7 +60604,7 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>; @@ -69393,165 +60818,22 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + type?: "Bot" | "User" | "Organization" | "Mannequin"; /** Format: uri */ url?: string; }, null]>; }; repository: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; - thread: { - comments: ({ - _links: { - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - pull_request: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - }; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description The text of the comment. */ - body: string; - /** @description The SHA of the commit to which the comment applies. */ - commit_id: string; - /** Format: date-time */ - created_at: string; - /** @description The diff of the line that the comment refers to. */ - diff_hunk: string; - /** - * Format: uri - * @description HTML URL for the pull request review comment. - */ - html_url: string; - /** @description The ID of the pull request review comment. */ - id: number; - /** @description The comment ID to reply to. */ - in_reply_to_id?: number; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - line: OneOf<[number, null]>; - /** @description The node ID of the pull request review comment. */ - node_id: string; - /** @description The SHA of the original commit to which the comment applies. */ - original_commit_id: string; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - original_line: number; - /** @description The index of the original line in the diff to which the comment applies. */ - original_position: number; - /** @description The first line of the range for a multi-line comment. */ - original_start_line: OneOf<[number, null]>; - /** @description The relative path of the file to which the comment applies. */ - path: string; - /** @description The line index in the diff to which the comment applies. */ - position: OneOf<[number, null]>; - /** @description The ID of the pull request review to which the comment belongs. */ - pull_request_review_id: OneOf<[number, null]>; - /** - * Format: uri - * @description URL for the pull request that the review comment belongs to. - */ - pull_request_url: string; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** - * @description The side of the first line of the range for a multi-line comment. - * @enum {string} - */ - side: "LEFT" | "RIGHT"; - /** @description The first line of the range for a multi-line comment. */ - start_line: OneOf<[number, null]>; - /** - * @description The side of the first line of the range for a multi-line comment. - * @default RIGHT - * @enum {string|null} - */ - start_side: "LEFT" | "RIGHT" | "" | null; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the pull request review comment - */ - url: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - })[]; - node_id: string; - }; + sender: components["schemas"]["simple-user"]; }; - /** pull_request synchronize event */ - "webhook-pull-request-synchronize": { + /** pull_request_review dismissed event */ + "webhook-pull-request-review-dismissed": { /** @enum {string} */ - action: "synchronize"; - after: string; - before: string; + action: "dismissed"; enterprise?: components["schemas"]["enterprise"]; installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; organization?: components["schemas"]["organization-simple"]; - /** Pull Request */ + /** Simple Pull Request */ pull_request: { _links: { /** Link */ @@ -69597,7 +60879,6 @@ export interface components { }; /** @enum {string|null} */ active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; - additions?: number; /** User */ assignee: OneOf<[{ /** Format: uri */ @@ -70053,21 +61334,14 @@ export interface components { }, null]>; }; body: OneOf<[string, null]>; - changed_files?: number; - /** Format: date-time */ closed_at: OneOf<[string, null]>; - comments?: number; /** Format: uri */ comments_url: string; - commits?: number; /** Format: uri */ commits_url: string; - /** Format: date-time */ created_at: string; - deletions?: number; /** Format: uri */ diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ draft: boolean; head: { label: string; @@ -70076,7 +61350,7 @@ export interface components { * Repository * @description A git repository */ - repo: { + repo: OneOf<[{ /** * @description Whether to allow auto-merge for pull requests. * @default false @@ -70216,12 +61490,19 @@ export interface components { }, null]>; master_branch?: string; /** - * @description The default value for a merge commit message. + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. * @enum {string} */ merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; /** - * @description The default value for a merge commit message title. + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). * @enum {string} */ merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; @@ -70345,7 +61626,7 @@ export interface components { watchers_count: number; /** @description Whether to require contributors to sign off on web-based commits */ web_commit_signoff_required?: boolean; - }; + }, null]>; sha: string; /** User */ user: OneOf<[{ @@ -70406,51 +61687,8 @@ export interface components { url: string; })[]; locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; merge_commit_sha: OneOf<[string, null]>; - mergeable?: OneOf<[boolean, null]>; - mergeable_state?: string; - merged?: OneOf<[boolean, null]>; - /** Format: date-time */ merged_at: OneOf<[string, null]>; - /** User */ - merged_by?: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; /** * Milestone * @description A collection of related issues and pull requests. @@ -70494,7 +61732,7 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; @@ -70523,11 +61761,9 @@ export interface components { url: string; }, null]>; node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ number: number; /** Format: uri */ patch_url: string; - rebaseable?: OneOf<[boolean, null]>; requested_reviewers: (OneOf<[OneOf<[{ /** Format: uri */ avatar_url?: string; @@ -70667,19 +61903,13 @@ export interface components { })[]; /** Format: uri-template */ review_comment_url: string; - review_comments?: number; /** Format: uri */ review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ + /** @enum {string} */ state: "open" | "closed"; /** Format: uri */ statuses_url: string; - /** @description The title of the pull request. */ title: string; - /** Format: date-time */ updated_at: string; /** Format: uri */ url: string; @@ -70722,55 +61952,95 @@ export interface components { }, null]>; }; repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** pull_request unassigned event */ - "webhook-pull-request-unassigned": { - /** @enum {string} */ - action: "unassigned"; - /** User */ - assignee?: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + /** @description The review that was affected. */ + review: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the review. */ + body: OneOf<[string, null]>; + /** @description A commit SHA for the review. */ + commit_id: string; /** Format: uri */ - html_url?: string; + html_url: string; + /** @description Unique identifier of the review */ id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + node_id: string; /** Format: uri */ - subscriptions_url?: string; + pull_request_url: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>; + state: "dismissed" | "approved" | "changes_requested"; + /** Format: date-time */ + submitted_at: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + }; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request_review edited event */ + "webhook-pull-request-review-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + body?: { + /** @description The previous version of the body if the action was `edited`. */ + from: string; + }; + }; enterprise?: components["schemas"]["enterprise"]; installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; organization?: components["schemas"]["organization-simple"]; - /** Pull Request */ + /** Simple Pull Request */ pull_request: { _links: { /** Link */ @@ -70816,7 +62086,6 @@ export interface components { }; /** @enum {string|null} */ active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; - additions?: number; /** User */ assignee: OneOf<[{ /** Format: uri */ @@ -70949,7 +62218,7 @@ export interface components { merge_method: "merge" | "squash" | "rebase"; }, null]>; base: { - label: OneOf<[string, null]>; + label: string; ref: string; /** * Repository @@ -71058,11 +62327,6 @@ export interface components { * @default true */ has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; homepage: OneOf<[string, null]>; /** Format: uri */ hooks_url: string; @@ -71094,23 +62358,6 @@ export interface components { url: OneOf<[string, null]>; }, null]>; master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; /** Format: uri */ merges_url: string; /** Format: uri-template */ @@ -71179,23 +62426,6 @@ export interface components { releases_url: string; role_name?: OneOf<[string, null]>; size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; ssh_url: string; stargazers?: number; stargazers_count: number; @@ -71220,17 +62450,10 @@ export interface components { updated_at: string; /** Format: uri */ url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; /** @enum {string} */ visibility: "public" | "private" | "internal"; watchers: number; watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; }; sha: string; /** User */ @@ -71272,24 +62495,17 @@ export interface components { }, null]>; }; body: OneOf<[string, null]>; - changed_files?: number; - /** Format: date-time */ closed_at: OneOf<[string, null]>; - comments?: number; /** Format: uri */ comments_url: string; - commits?: number; /** Format: uri */ commits_url: string; - /** Format: date-time */ created_at: string; - deletions?: number; /** Format: uri */ diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ draft: boolean; head: { - label: OneOf<[string, null]>; + label: string; ref: string; /** * Repository @@ -71398,11 +62614,6 @@ export interface components { * @default true */ has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; homepage: OneOf<[string, null]>; /** Format: uri */ hooks_url: string; @@ -71434,23 +62645,6 @@ export interface components { url: OneOf<[string, null]>; }, null]>; master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; /** Format: uri */ merges_url: string; /** Format: uri-template */ @@ -71519,23 +62713,6 @@ export interface components { releases_url: string; role_name?: OneOf<[string, null]>; size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; ssh_url: string; stargazers?: number; stargazers_count: number; @@ -71560,17 +62737,10 @@ export interface components { updated_at: string; /** Format: uri */ url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; /** @enum {string} */ visibility: "public" | "private" | "internal"; watchers: number; watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; }, null]>; sha: string; /** User */ @@ -71632,51 +62802,8 @@ export interface components { url: string; })[]; locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; merge_commit_sha: OneOf<[string, null]>; - mergeable?: OneOf<[boolean, null]>; - mergeable_state?: string; - merged?: OneOf<[boolean, null]>; - /** Format: date-time */ merged_at: OneOf<[string, null]>; - /** User */ - merged_by?: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>; /** * Milestone * @description A collection of related issues and pull requests. @@ -71749,11 +62876,9 @@ export interface components { url: string; }, null]>; node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ number: number; /** Format: uri */ patch_url: string; - rebaseable?: OneOf<[boolean, null]>; requested_reviewers: (OneOf<[OneOf<[{ /** Format: uri */ avatar_url?: string; @@ -71893,19 +63018,13 @@ export interface components { })[]; /** Format: uri-template */ review_comment_url: string; - review_comments?: number; /** Format: uri */ review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ + /** @enum {string} */ state: "open" | "closed"; /** Format: uri */ statuses_url: string; - /** @description The title of the pull request. */ title: string; - /** Format: date-time */ updated_at: string; /** Format: uri */ url: string; @@ -71948,30 +63067,86 @@ export interface components { }, null]>; }; repository: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; + /** @description The review that was affected. */ + review: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the review. */ + body: OneOf<[string, null]>; + /** @description A commit SHA for the review. */ + commit_id: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the review */ + id: number; + node_id: string; + /** Format: uri */ + pull_request_url: string; + state: string; + /** Format: date-time */ + submitted_at: OneOf<[string, null]>; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }; + sender: components["schemas"]["simple-user"]; }; - /** pull_request unlabeled event */ - "webhook-pull-request-unlabeled": { + /** pull_request review_request_removed event */ + "webhook-pull-request-review-request-removed": OneOf<[{ /** @enum {string} */ - action: "unlabeled"; + action: "review_request_removed"; enterprise?: components["schemas"]["enterprise"]; installation?: components["schemas"]["simple-installation"]; - /** Label */ - label?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }; /** @description The pull request number. */ number: number; organization?: components["schemas"]["organization-simple"]; @@ -72055,7 +63230,7 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; @@ -72091,7 +63266,7 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>)[]; @@ -72385,19 +63560,12 @@ export interface components { role_name?: OneOf<[string, null]>; size: number; /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. + * @description The default value for a squash merge commit message. * @enum {string} */ squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @description The default value for a squash merge commit title. * @enum {string} */ squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; @@ -72494,13 +63662,13 @@ export interface components { /** @description Indicates whether or not the pull request is a draft. */ draft: boolean; head: { - label: OneOf<[string, null]>; + label: string; ref: string; /** * Repository * @description A git repository */ - repo: OneOf<[{ + repo: { /** * @description Whether to allow auto-merge for pull requests. * @default false @@ -72640,12 +63808,19 @@ export interface components { }, null]>; master_branch?: string; /** - * @description The default value for a merge commit message. + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. * @enum {string} */ merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; /** - * @description The default value for a merge commit message title. + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). * @enum {string} */ merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; @@ -72658,188 +63833,16245 @@ export interface components { /** @description The name of the repository. */ name: string; node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string; - /** Format: uri-template */ - releases_url: string; - role_name?: OneOf<[string, null]>; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: (string)[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }, null]>; - sha: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: OneOf<[string, null]>; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: (string)[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + })[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: OneOf<[string, null]>; + mergeable?: OneOf<[boolean, null]>; + mergeable_state?: string; + merged?: OneOf<[boolean, null]>; + /** Format: date-time */ + merged_at: OneOf<[string, null]>; + /** User */ + merged_by?: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: OneOf<[{ + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + description: OneOf<[string, null]>; + /** Format: date-time */ + due_on: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }, null]>; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: OneOf<[boolean, null]>; + requested_reviewers: (OneOf<[OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>, { + deleted?: boolean; + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: OneOf<[{ + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, null]>; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }]>)[]; + requested_teams: ({ + deleted?: boolean; + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: OneOf<[{ + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, null]>; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }; + repository: components["schemas"]["repository"]; + /** User */ + requested_reviewer: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + sender: components["schemas"]["simple-user"]; + }, { + /** @enum {string} */ + action: "review_request_removed"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + additions?: number; + /** User */ + assignee: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + assignees: (OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: OneOf<[{ + /** @description Commit message for the merge commit. */ + commit_message: OneOf<[string, null]>; + /** @description Title for the merge commit message. */ + commit_title: OneOf<[string, null]>; + /** User */ + enabled_by: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + }, null]>; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: OneOf<[string, null]>; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: OneOf<[string, null]>; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: OneOf<[string, null]>; + /** Format: uri */ + languages_url: string; + /** License */ + license: OneOf<[{ + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: OneOf<[string, null]>; + }, null]>; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: OneOf<[string, null]>; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: OneOf<[string, null]>; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: (string)[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }; + body: OneOf<[string, null]>; + changed_files?: number; + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: OneOf<[string, null]>; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: OneOf<[string, null]>; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: OneOf<[string, null]>; + /** Format: uri */ + languages_url: string; + /** License */ + license: OneOf<[{ + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: OneOf<[string, null]>; + }, null]>; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: OneOf<[string, null]>; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: OneOf<[string, null]>; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: (string)[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + })[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: OneOf<[string, null]>; + mergeable?: OneOf<[boolean, null]>; + mergeable_state?: string; + merged?: OneOf<[boolean, null]>; + /** Format: date-time */ + merged_at: OneOf<[string, null]>; + /** User */ + merged_by?: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: OneOf<[{ + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + description: OneOf<[string, null]>; + /** Format: date-time */ + due_on: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }, null]>; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: OneOf<[boolean, null]>; + requested_reviewers: (OneOf<[OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>, { + deleted?: boolean; + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: OneOf<[{ + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, null]>; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }]>)[]; + requested_teams: ({ + deleted?: boolean; + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: OneOf<[{ + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, null]>; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }; + repository: components["schemas"]["repository"]; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + requested_team: { + deleted?: boolean; + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: OneOf<[{ + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, null]>; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }; + sender: components["schemas"]["simple-user"]; + }]>; + /** pull_request review_requested event */ + "webhook-pull-request-review-requested": OneOf<[{ + /** @enum {string} */ + action: "review_requested"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + additions?: number; + /** User */ + assignee: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + assignees: (OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: OneOf<[{ + /** @description Commit message for the merge commit. */ + commit_message: OneOf<[string, null]>; + /** @description Title for the merge commit message. */ + commit_title: OneOf<[string, null]>; + /** User */ + enabled_by: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + }, null]>; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: OneOf<[string, null]>; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: OneOf<[string, null]>; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: OneOf<[string, null]>; + /** Format: uri */ + languages_url: string; + /** License */ + license: OneOf<[{ + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: OneOf<[string, null]>; + }, null]>; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: OneOf<[string, null]>; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: OneOf<[string, null]>; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: (string)[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }; + body: OneOf<[string, null]>; + changed_files?: number; + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: OneOf<[string, null]>; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: OneOf<[string, null]>; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: OneOf<[string, null]>; + /** Format: uri */ + languages_url: string; + /** License */ + license: OneOf<[{ + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: OneOf<[string, null]>; + }, null]>; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: OneOf<[string, null]>; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: OneOf<[string, null]>; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: (string)[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + })[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: OneOf<[string, null]>; + mergeable?: OneOf<[boolean, null]>; + mergeable_state?: string; + merged?: OneOf<[boolean, null]>; + /** Format: date-time */ + merged_at: OneOf<[string, null]>; + /** User */ + merged_by?: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: OneOf<[{ + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + description: OneOf<[string, null]>; + /** Format: date-time */ + due_on: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }, null]>; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: OneOf<[boolean, null]>; + requested_reviewers: (OneOf<[OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>, { + deleted?: boolean; + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: OneOf<[{ + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, null]>; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }]>)[]; + requested_teams: ({ + deleted?: boolean; + /** @description Description of the team */ + description?: OneOf<[string, null]>; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: OneOf<[{ + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, null]>; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + }; + repository: components["schemas"]["repository"]; + /** User */ + requested_reviewer: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + sender: components["schemas"]["simple-user"]; + }, { + /** @enum {string} */ + action: "review_requested"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + additions?: number; + /** User */ + assignee: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + assignees: (OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: OneOf<[{ + /** @description Commit message for the merge commit. */ + commit_message: OneOf<[string, null]>; + /** @description Title for the merge commit message. */ + commit_title: OneOf<[string, null]>; + /** User */ + enabled_by: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + }, null]>; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: OneOf<[string, null]>; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: OneOf<[string, null]>; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: OneOf<[string, null]>; + /** Format: uri */ + languages_url: string; + /** License */ + license: OneOf<[{ + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: OneOf<[string, null]>; + }, null]>; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: OneOf<[string, null]>; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: OneOf<[string, null]>; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: (string)[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }; + body: OneOf<[string, null]>; + changed_files?: number; + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: OneOf<[string, null]>; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: OneOf<[string, null]>; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: OneOf<[string, null]>; + /** Format: uri */ + languages_url: string; + /** License */ + license: OneOf<[{ + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: OneOf<[string, null]>; + }, null]>; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: OneOf<[string, null]>; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: OneOf<[string, null]>; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: (string)[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + })[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: OneOf<[string, null]>; + mergeable?: OneOf<[boolean, null]>; + mergeable_state?: string; + merged?: OneOf<[boolean, null]>; + /** Format: date-time */ + merged_at: OneOf<[string, null]>; + /** User */ + merged_by?: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: OneOf<[{ + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + description: OneOf<[string, null]>; + /** Format: date-time */ + due_on: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }, null]>; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: OneOf<[boolean, null]>; + requested_reviewers: (OneOf<[OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>, { + deleted?: boolean; + /** @description Description of the team */ + description?: OneOf<[string, null]>; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: OneOf<[{ + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, null]>; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }]>)[]; + requested_teams: ({ + deleted?: boolean; + /** @description Description of the team */ + description?: OneOf<[string, null]>; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: OneOf<[{ + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, null]>; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + }; + repository: components["schemas"]["repository"]; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + requested_team: { + deleted?: boolean; + /** @description Description of the team */ + description?: OneOf<[string, null]>; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: OneOf<[{ + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, null]>; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }; + sender: components["schemas"]["simple-user"]; + }]>; + /** pull_request_review submitted event */ + "webhook-pull-request-review-submitted": { + /** @enum {string} */ + action: "submitted"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + /** Simple Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + /** User */ + assignee: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + assignees: (OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: OneOf<[{ + /** @description Commit message for the merge commit. */ + commit_message: OneOf<[string, null]>; + /** @description Title for the merge commit message. */ + commit_title: OneOf<[string, null]>; + /** User */ + enabled_by: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + }, null]>; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: OneOf<[string, null]>; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: OneOf<[string, null]>; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: OneOf<[string, null]>; + /** Format: uri */ + languages_url: string; + /** License */ + license: OneOf<[{ + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: OneOf<[string, null]>; + }, null]>; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: OneOf<[string, null]>; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: OneOf<[string, null]>; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: (string)[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }; + body: OneOf<[string, null]>; + closed_at: OneOf<[string, null]>; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft: boolean; + head: { + label: OneOf<[string, null]>; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: OneOf<[{ + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: OneOf<[string, null]>; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: OneOf<[string, null]>; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: OneOf<[string, null]>; + /** Format: uri */ + languages_url: string; + /** License */ + license: OneOf<[{ + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: OneOf<[string, null]>; + }, null]>; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: OneOf<[string, null]>; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: OneOf<[string, null]>; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: (string)[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }, null]>; + sha: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + })[]; + locked: boolean; + merge_commit_sha: OneOf<[string, null]>; + merged_at: OneOf<[string, null]>; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: OneOf<[{ + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + description: OneOf<[string, null]>; + /** Format: date-time */ + due_on: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }, null]>; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: (OneOf<[OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>, { + deleted?: boolean; + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: OneOf<[{ + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, null]>; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }]>)[]; + requested_teams: ({ + deleted?: boolean; + /** @description Description of the team */ + description?: OneOf<[string, null]>; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: OneOf<[{ + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, null]>; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + }; + repository: components["schemas"]["repository"]; + /** @description The review that was affected. */ + review: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the review. */ + body: OneOf<[string, null]>; + /** @description A commit SHA for the review. */ + commit_id: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the review */ + id: number; + node_id: string; + /** Format: uri */ + pull_request_url: string; + state: string; + /** Format: date-time */ + submitted_at: OneOf<[string, null]>; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request_review_thread resolved event */ + "webhook-pull-request-review-thread-resolved": { + /** @enum {string} */ + action: "resolved"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + /** Simple Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + /** User */ + assignee: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + assignees: (OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: OneOf<[{ + /** @description Commit message for the merge commit. */ + commit_message: OneOf<[string, null]>; + /** @description Title for the merge commit message. */ + commit_title: OneOf<[string, null]>; + /** User */ + enabled_by: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + }, null]>; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: OneOf<[string, null]>; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: OneOf<[string, null]>; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: OneOf<[string, null]>; + /** Format: uri */ + languages_url: string; + /** License */ + license: OneOf<[{ + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: OneOf<[string, null]>; + }, null]>; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: OneOf<[string, null]>; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: OneOf<[string, null]>; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: (string)[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }; + body: OneOf<[string, null]>; + closed_at: OneOf<[string, null]>; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft: boolean; + head: { + label: OneOf<[string, null]>; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: OneOf<[{ + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: OneOf<[string, null]>; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: OneOf<[string, null]>; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: OneOf<[string, null]>; + /** Format: uri */ + languages_url: string; + /** License */ + license: OneOf<[{ + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: OneOf<[string, null]>; + }, null]>; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: OneOf<[string, null]>; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: OneOf<[string, null]>; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: (string)[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }, null]>; + sha: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + })[]; + locked: boolean; + merge_commit_sha: OneOf<[string, null]>; + merged_at: OneOf<[string, null]>; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: OneOf<[{ + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + description: OneOf<[string, null]>; + /** Format: date-time */ + due_on: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }, null]>; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: (OneOf<[OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>, { + deleted?: boolean; + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: OneOf<[{ + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, null]>; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }]>)[]; + requested_teams: ({ + deleted?: boolean; + /** @description Description of the team */ + description?: OneOf<[string, null]>; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: OneOf<[{ + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, null]>; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + }; + repository: components["schemas"]["repository"]; + sender?: components["schemas"]["simple-user"]; + thread: { + comments: ({ + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the comment. */ + body: string; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + /** Format: date-time */ + created_at: string; + /** @description The diff of the line that the comment refers to. */ + diff_hunk: string; + /** + * Format: uri + * @description HTML URL for the pull request review comment. + */ + html_url: string; + /** @description The ID of the pull request review comment. */ + id: number; + /** @description The comment ID to reply to. */ + in_reply_to_id?: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line: OneOf<[number, null]>; + /** @description The node ID of the pull request review comment. */ + node_id: string; + /** @description The SHA of the original commit to which the comment applies. */ + original_commit_id: string; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + original_line: OneOf<[number, null]>; + /** @description The index of the original line in the diff to which the comment applies. */ + original_position: number; + /** @description The first line of the range for a multi-line comment. */ + original_start_line: OneOf<[number, null]>; + /** @description The relative path of the file to which the comment applies. */ + path: string; + /** @description The line index in the diff to which the comment applies. */ + position: OneOf<[number, null]>; + /** @description The ID of the pull request review to which the comment belongs. */ + pull_request_review_id: OneOf<[number, null]>; + /** + * Format: uri + * @description URL for the pull request that the review comment belongs to. + */ + pull_request_url: string; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** + * @description The side of the first line of the range for a multi-line comment. + * @enum {string} + */ + side: "LEFT" | "RIGHT"; + /** @description The first line of the range for a multi-line comment. */ + start_line: OneOf<[number, null]>; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string|null} + */ + start_side: "LEFT" | "RIGHT" | "" | null; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the pull request review comment + */ + url: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + })[]; + node_id: string; + }; + }; + /** pull_request_review_thread unresolved event */ + "webhook-pull-request-review-thread-unresolved": { + /** @enum {string} */ + action: "unresolved"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + /** Simple Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + /** User */ + assignee: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + assignees: (OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: OneOf<[{ + /** @description Commit message for the merge commit. */ + commit_message: OneOf<[string, null]>; + /** @description Title for the merge commit message. */ + commit_title: string; + /** User */ + enabled_by: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + }, null]>; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: OneOf<[string, null]>; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: OneOf<[string, null]>; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: OneOf<[string, null]>; + /** Format: uri */ + languages_url: string; + /** License */ + license: OneOf<[{ + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: OneOf<[string, null]>; + }, null]>; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: OneOf<[string, null]>; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: OneOf<[string, null]>; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: (string)[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }; + body: OneOf<[string, null]>; + closed_at: OneOf<[string, null]>; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: OneOf<[string, null]>; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: OneOf<[string, null]>; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: OneOf<[string, null]>; + /** Format: uri */ + languages_url: string; + /** License */ + license: OneOf<[{ + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: OneOf<[string, null]>; + }, null]>; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: OneOf<[string, null]>; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: OneOf<[string, null]>; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: (string)[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + })[]; + locked: boolean; + merge_commit_sha: OneOf<[string, null]>; + merged_at: OneOf<[string, null]>; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: OneOf<[{ + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + description: OneOf<[string, null]>; + /** Format: date-time */ + due_on: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }, null]>; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: (OneOf<[OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>, { + deleted?: boolean; + /** @description Description of the team */ + description?: OneOf<[string, null]>; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: OneOf<[{ + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, null]>; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }]>)[]; + requested_teams: ({ + deleted?: boolean; + /** @description Description of the team */ + description?: OneOf<[string, null]>; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: OneOf<[{ + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, null]>; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }; + repository: components["schemas"]["repository"]; + sender?: components["schemas"]["simple-user"]; + thread: { + comments: ({ + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the comment. */ + body: string; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + /** Format: date-time */ + created_at: string; + /** @description The diff of the line that the comment refers to. */ + diff_hunk: string; + /** + * Format: uri + * @description HTML URL for the pull request review comment. + */ + html_url: string; + /** @description The ID of the pull request review comment. */ + id: number; + /** @description The comment ID to reply to. */ + in_reply_to_id?: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line: OneOf<[number, null]>; + /** @description The node ID of the pull request review comment. */ + node_id: string; + /** @description The SHA of the original commit to which the comment applies. */ + original_commit_id: string; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + original_line: number; + /** @description The index of the original line in the diff to which the comment applies. */ + original_position: number; + /** @description The first line of the range for a multi-line comment. */ + original_start_line: OneOf<[number, null]>; + /** @description The relative path of the file to which the comment applies. */ + path: string; + /** @description The line index in the diff to which the comment applies. */ + position: OneOf<[number, null]>; + /** @description The ID of the pull request review to which the comment belongs. */ + pull_request_review_id: OneOf<[number, null]>; + /** + * Format: uri + * @description URL for the pull request that the review comment belongs to. + */ + pull_request_url: string; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** + * @description The side of the first line of the range for a multi-line comment. + * @enum {string} + */ + side: "LEFT" | "RIGHT"; + /** @description The first line of the range for a multi-line comment. */ + start_line: OneOf<[number, null]>; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string|null} + */ + start_side: "LEFT" | "RIGHT" | "" | null; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the pull request review comment + */ + url: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + })[]; + node_id: string; + }; + }; + /** pull_request synchronize event */ + "webhook-pull-request-synchronize": { + /** @enum {string} */ + action: "synchronize"; + after: string; + before: string; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + additions?: number; + /** User */ + assignee: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + assignees: (OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: OneOf<[{ + /** @description Commit message for the merge commit. */ + commit_message: OneOf<[string, null]>; + /** @description Title for the merge commit message. */ + commit_title: OneOf<[string, null]>; + /** User */ + enabled_by: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + }, null]>; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: OneOf<[string, null]>; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: OneOf<[string, null]>; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: OneOf<[string, null]>; + /** Format: uri */ + languages_url: string; + /** License */ + license: OneOf<[{ + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: OneOf<[string, null]>; + }, null]>; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: OneOf<[string, null]>; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: OneOf<[string, null]>; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: (string)[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }; + body: OneOf<[string, null]>; + changed_files?: number; + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: OneOf<[string, null]>; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: OneOf<[string, null]>; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: OneOf<[string, null]>; + /** Format: uri */ + languages_url: string; + /** License */ + license: OneOf<[{ + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: OneOf<[string, null]>; + }, null]>; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit message title. + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: OneOf<[string, null]>; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: OneOf<[string, null]>; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: (string)[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + })[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: OneOf<[string, null]>; + mergeable?: OneOf<[boolean, null]>; + mergeable_state?: string; + merged?: OneOf<[boolean, null]>; + /** Format: date-time */ + merged_at: OneOf<[string, null]>; + /** User */ + merged_by?: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: OneOf<[{ + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + description: OneOf<[string, null]>; + /** Format: date-time */ + due_on: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }, null]>; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: OneOf<[boolean, null]>; + requested_reviewers: (OneOf<[OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>, { + deleted?: boolean; + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: OneOf<[{ + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, null]>; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }]>)[]; + requested_teams: ({ + deleted?: boolean; + /** @description Description of the team */ + description?: OneOf<[string, null]>; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: OneOf<[{ + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, null]>; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + }; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request unassigned event */ + "webhook-pull-request-unassigned": { + /** @enum {string} */ + action: "unassigned"; + /** User */ + assignee?: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + additions?: number; + /** User */ + assignee: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + assignees: (OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: OneOf<[{ + /** @description Commit message for the merge commit. */ + commit_message: OneOf<[string, null]>; + /** @description Title for the merge commit message. */ + commit_title: OneOf<[string, null]>; + /** User */ + enabled_by: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + }, null]>; + base: { + label: OneOf<[string, null]>; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: OneOf<[string, null]>; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: OneOf<[string, null]>; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: OneOf<[string, null]>; + /** Format: uri */ + languages_url: string; + /** License */ + license: OneOf<[{ + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: OneOf<[string, null]>; + }, null]>; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: OneOf<[string, null]>; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: OneOf<[string, null]>; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: (string)[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }; + body: OneOf<[string, null]>; + changed_files?: number; + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: OneOf<[string, null]>; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: OneOf<[{ + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: OneOf<[string, null]>; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: OneOf<[string, null]>; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: OneOf<[string, null]>; + /** Format: uri */ + languages_url: string; + /** License */ + license: OneOf<[{ + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: OneOf<[string, null]>; + }, null]>; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: OneOf<[string, null]>; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: OneOf<[string, null]>; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: (string)[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }, null]>; + sha: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + })[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: OneOf<[string, null]>; + mergeable?: OneOf<[boolean, null]>; + mergeable_state?: string; + merged?: OneOf<[boolean, null]>; + /** Format: date-time */ + merged_at: OneOf<[string, null]>; + /** User */ + merged_by?: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: OneOf<[{ + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + description: OneOf<[string, null]>; + /** Format: date-time */ + due_on: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }, null]>; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: OneOf<[boolean, null]>; + requested_reviewers: (OneOf<[OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>, { + deleted?: boolean; + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: OneOf<[{ + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, null]>; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }]>)[]; + requested_teams: ({ + deleted?: boolean; + /** @description Description of the team */ + description?: OneOf<[string, null]>; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: OneOf<[{ + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, null]>; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + }; + repository: components["schemas"]["repository"]; + sender?: components["schemas"]["simple-user"]; + }; + /** pull_request unlabeled event */ + "webhook-pull-request-unlabeled": { + /** @enum {string} */ + action: "unlabeled"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + /** Label */ + label?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + additions?: number; + /** User */ + assignee: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + assignees: (OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: OneOf<[{ + /** @description Commit message for the merge commit. */ + commit_message: OneOf<[string, null]>; + /** @description Title for the merge commit message. */ + commit_title: OneOf<[string, null]>; + /** User */ + enabled_by: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + }, null]>; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: OneOf<[string, null]>; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: OneOf<[string, null]>; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: OneOf<[string, null]>; + /** Format: uri */ + languages_url: string; + /** License */ + license: OneOf<[{ + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: OneOf<[string, null]>; + }, null]>; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: OneOf<[string, null]>; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: OneOf<[string, null]>; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: (string)[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }; + body: OneOf<[string, null]>; + changed_files?: number; + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: OneOf<[string, null]>; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: OneOf<[{ + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: OneOf<[string, null]>; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: OneOf<[string, null]>; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: OneOf<[string, null]>; + /** Format: uri */ + languages_url: string; + /** License */ + license: OneOf<[{ + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: OneOf<[string, null]>; + }, null]>; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit message title. + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: OneOf<[string, null]>; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: OneOf<[string, null]>; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: (string)[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }, null]>; + sha: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + })[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: OneOf<[string, null]>; + mergeable?: OneOf<[boolean, null]>; + mergeable_state?: string; + merged?: OneOf<[boolean, null]>; + /** Format: date-time */ + merged_at: OneOf<[string, null]>; + /** User */ + merged_by?: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: OneOf<[{ + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + description: OneOf<[string, null]>; + /** Format: date-time */ + due_on: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }, null]>; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: OneOf<[boolean, null]>; + requested_reviewers: (OneOf<[OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>, { + deleted?: boolean; + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: OneOf<[{ + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, null]>; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }]>)[]; + requested_teams: ({ + deleted?: boolean; + /** @description Description of the team */ + description?: OneOf<[string, null]>; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: OneOf<[{ + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, null]>; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + }, null]>; + }; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request unlocked event */ + "webhook-pull-request-unlocked": { + /** @enum {string} */ + action: "unlocked"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; + additions?: number; + /** User */ + assignee: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + assignees: (OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: OneOf<[{ + /** @description Commit message for the merge commit. */ + commit_message: OneOf<[string, null]>; + /** @description Title for the merge commit message. */ + commit_title: string; + /** User */ + enabled_by: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + }, null]>; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: OneOf<[string, null]>; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: OneOf<[string, null]>; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: OneOf<[string, null]>; + /** Format: uri */ + languages_url: string; + /** License */ + license: OneOf<[{ + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: OneOf<[string, null]>; + }, null]>; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: OneOf<[string, null]>; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: OneOf<[string, null]>; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: (string)[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }; + body: OneOf<[string, null]>; + changed_files?: number; + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: OneOf<[{ + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: OneOf<[string, null]>; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: OneOf<[string, null]>; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: OneOf<[string, null]>; + /** Format: uri */ + languages_url: string; + /** License */ + license: OneOf<[{ + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: OneOf<[string, null]>; + }, null]>; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: OneOf<[string, null]>; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: OneOf<[string, null]>; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: (string)[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }, null]>; + sha: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: OneOf<[string, null]>; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + })[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: OneOf<[string, null]>; + mergeable?: OneOf<[boolean, null]>; + mergeable_state?: string; + merged?: OneOf<[boolean, null]>; + /** Format: date-time */ + merged_at: OneOf<[string, null]>; + /** User */ + merged_by?: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: OneOf<[{ + /** Format: date-time */ + closed_at: OneOf<[string, null]>; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + description: OneOf<[string, null]>; + /** Format: date-time */ + due_on: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }, null]>; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: OneOf<[boolean, null]>; + requested_reviewers: (OneOf<[OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>, { + deleted?: boolean; + /** @description Description of the team */ + description?: OneOf<[string, null]>; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: OneOf<[{ + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, null]>; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }]>)[]; + requested_teams: ({ + deleted?: boolean; + /** @description Description of the team */ + description?: OneOf<[string, null]>; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: OneOf<[{ + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, null]>; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** push event */ + "webhook-push": { + /** @description The SHA of the most recent commit on `ref` after the push. */ + after: string; + base_ref: OneOf<[string, null]>; + /** @description The SHA of the most recent commit on `ref` before the push. */ + before: string; + /** @description An array of commit objects describing the pushed commits. (Pushed commits are all commits that are included in the `compare` between the `before` commit and the `after` commit.) The array includes a maximum of 20 commits. If necessary, you can use the [Commits API](https://docs.github.com/rest/reference/repos#commits) to fetch additional commits. This limit is applied to timeline events only and isn't applied to webhook deliveries. */ + commits: ({ + /** @description An array of files added in the commit. */ + added?: (string)[]; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: OneOf<[string, null]>; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: OneOf<[string, null]>; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** @description Whether this commit is distinct from any that have been pushed before. */ + distinct: boolean; + id: string; + /** @description The commit message. */ + message: string; + /** @description An array of files modified by the commit. */ + modified?: (string)[]; + /** @description An array of files removed in the commit. */ + removed?: (string)[]; + /** + * Format: date-time + * @description The ISO 8601 timestamp of the commit. + */ + timestamp: string; + tree_id: string; + /** + * Format: uri + * @description URL that points to the commit API resource. + */ + url: string; + })[]; + /** @description URL that shows the changes in this `ref` update, from the `before` commit to the `after` commit. For a newly created `ref` that is directly based on the default branch, this is the comparison between the head of the default branch and the `after` commit. Otherwise, this shows all commits until the `after` commit. */ + compare: string; + /** @description Whether this push created the `ref`. */ + created: boolean; + /** @description Whether this push deleted the `ref`. */ + deleted: boolean; + enterprise?: components["schemas"]["enterprise"]; + /** @description Whether this push was a force push of the `ref`. */ + forced: boolean; + /** Commit */ + head_commit: OneOf<[{ + /** @description An array of files added in the commit. */ + added?: (string)[]; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: OneOf<[string, null]>; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: OneOf<[string, null]>; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** @description Whether this commit is distinct from any that have been pushed before. */ + distinct: boolean; + id: string; + /** @description The commit message. */ + message: string; + /** @description An array of files modified by the commit. */ + modified?: (string)[]; + /** @description An array of files removed in the commit. */ + removed?: (string)[]; + /** + * Format: date-time + * @description The ISO 8601 timestamp of the commit. + */ + timestamp: string; + tree_id: string; + /** + * Format: uri + * @description URL that points to the commit API resource. + */ + url: string; + }, null]>; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + pusher: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email?: OneOf<[string, null]>; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** @description The full git ref that was pushed. Example: `refs/heads/main` or `refs/tags/v3.14.1`. */ + ref: string; + /** + * Repository + * @description A git repository + */ + repository: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: OneOf<[string, null]>; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: OneOf<[string, null]>; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: OneOf<[string, null]>; + /** Format: uri */ + languages_url: string; + /** License */ + license: OneOf<[{ + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: OneOf<[string, null]>; + }, null]>; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: OneOf<[string, null]>; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: OneOf<[string, null]>; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: (string)[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sender?: components["schemas"]["simple-user"]; + }; + "webhook-registry-package-published": { + /** @enum {string} */ + action: "published"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + registry_package: { + created_at: OneOf<[string, null]>; + description: OneOf<[string, null]>; + ecosystem: string; + html_url: string; + id: number; + name: string; + namespace: string; + owner: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + package_type: string; + package_version: OneOf<[{ + author?: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + body?: string | Record; + body_html?: string; + container_metadata?: { + labels?: OneOf<[Record, null]>; + manifest?: OneOf<[Record, null]>; + tag?: { + digest?: string; + name?: string; + }; + }; + created_at?: string; + description: string; + docker_metadata?: (Record)[]; + draft?: boolean; + html_url: string; + id: number; + installation_command: string; + manifest?: string; + metadata: ({ + [key: string]: unknown | undefined; + })[]; + name: string; + npm_metadata?: OneOf<[{ + name?: string; + version?: string; + npm_user?: string; + author?: string | Record; + bugs?: string | Record; + dependencies?: Record; + dev_dependencies?: Record; + peer_dependencies?: Record; + optional_dependencies?: Record; + description?: string; + dist?: string | Record; + git_head?: string; + homepage?: string; + license?: string; + main?: string; + repository?: string | Record; + scripts?: Record; + id?: string; + node_version?: string; + npm_version?: string; + has_shrinkwrap?: boolean; + maintainers?: (string)[]; + contributors?: (string)[]; + engines?: Record; + keywords?: (string)[]; + files?: (string)[]; + bin?: Record; + man?: Record; + directories?: string | Record; + os?: (string)[]; + cpu?: (string)[]; + readme?: string; + installation_command?: string; + release_id?: number; + commit_oid?: string; + published_via_actions?: boolean; + deleted_by_id?: number; + }, null]>; + nuget_metadata?: OneOf<[({ + id?: string | Record | number; + name?: string; + value?: OneOf<[boolean, string, number, { + url?: string; + branch?: string; + commit?: string; + type?: string; + }]>; + })[], null]>; + package_files: ({ + content_type: string; + created_at: string; + download_url: string; + id: number; + md5: OneOf<[string, null]>; + name: string; + sha1: OneOf<[string, null]>; + sha256: OneOf<[string, null]>; + size: number; + state: OneOf<[string, null]>; + updated_at: string; + })[]; + package_url: string; + prerelease?: boolean; + release?: { + author?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + created_at?: string; + draft?: boolean; + html_url?: string; + id?: number; + name?: OneOf<[string, null]>; + prerelease?: boolean; + published_at?: string; + tag_name?: string; + target_commitish?: string; + url?: string; + }; + rubygems_metadata?: (Record)[]; + summary: string; + tag_name?: string; + target_commitish?: string; + target_oid?: string; + updated_at?: string; + version: string; + }, null]>; + registry: OneOf<[{ + about_url?: string; + name?: string; + type?: string; + url?: string; + vendor?: string; + }, null]>; + updated_at: OneOf<[string, null]>; + }; + repository?: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + "webhook-registry-package-updated": { + action: string; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + registry_package: { + created_at: string; + description: null; + ecosystem: string; + html_url: string; + id: number; + name: string; + namespace: string; + owner: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + package_type: string; + package_version: { + author: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + body: string; + body_html: string; + created_at: string; + description: string; + docker_metadata?: (null)[]; + draft?: boolean; + html_url: string; + id: number; + installation_command: string; + manifest?: string; + metadata: (Record)[]; + name: string; + package_files: ({ + content_type?: string; + created_at?: string; + download_url?: string; + id?: number; + md5?: OneOf<[string, null]>; + name?: string; + sha1?: OneOf<[string, null]>; + sha256?: string; + size?: number; + state?: string; + updated_at?: string; + })[]; + package_url: string; + prerelease?: boolean; + release?: { + author: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + created_at: string; + draft: boolean; + html_url: string; + id: number; + name: string; + prerelease: boolean; + published_at: string; + tag_name: string; + target_commitish: string; + url: string; + }; + rubygems_metadata?: (Record)[]; + summary: string; + tag_name?: string; + target_commitish: string; + target_oid: string; + updated_at: string; + version: string; + }; + registry: OneOf<[Record, null]>; + updated_at: string; + }; + repository?: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** release created event */ + "webhook-release-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + /** + * Release + * @description The [release](https://docs.github.com/rest/reference/repos/#get-a-release) object. + */ + release: { + assets: ({ + /** Format: uri */ + browser_download_url: string; + content_type: string; + /** Format: date-time */ + created_at: string; + download_count: number; + id: number; + label: OneOf<[string, null]>; + /** @description The file name of the asset. */ + name: string; + node_id: string; + size: number; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded"; + /** Format: date-time */ + updated_at: string; + /** User */ + uploader?: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** Format: uri */ + url: string; + })[]; + /** Format: uri */ + assets_url: string; + /** User */ + author: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + body: OneOf<[string, null]>; + /** Format: date-time */ + created_at: OneOf<[string, null]>; + /** Format: uri */ + discussion_url?: string; + /** @description Whether the release is a draft or published */ + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + name: OneOf<[string, null]>; + node_id: string; + /** @description Whether the release is identified as a prerelease or a full release. */ + prerelease: boolean; + /** Format: date-time */ + published_at: OneOf<[string, null]>; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** @description The name of the tag. */ + tag_name: string; + /** Format: uri */ + tarball_url: OneOf<[string, null]>; + /** @description Specifies the commitish value that determines where the Git tag is created from. */ + target_commitish: string; + /** Format: uri-template */ + upload_url: string; + /** Format: uri */ + url: string; + /** Format: uri */ + zipball_url: OneOf<[string, null]>; + }; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** release deleted event */ + "webhook-release-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + /** + * Release + * @description The [release](https://docs.github.com/rest/reference/repos/#get-a-release) object. + */ + release: { + assets: ({ + /** Format: uri */ + browser_download_url: string; + content_type: string; + /** Format: date-time */ + created_at: string; + download_count: number; + id: number; + label: OneOf<[string, null]>; + /** @description The file name of the asset. */ + name: string; + node_id: string; + size: number; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded"; + /** Format: date-time */ + updated_at: string; + /** User */ + uploader?: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** Format: uri */ + url: string; + })[]; + /** Format: uri */ + assets_url: string; + /** User */ + author: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + body: OneOf<[string, null]>; + /** Format: date-time */ + created_at: OneOf<[string, null]>; + /** Format: uri */ + discussion_url?: string; + /** @description Whether the release is a draft or published */ + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + name: OneOf<[string, null]>; + node_id: string; + /** @description Whether the release is identified as a prerelease or a full release. */ + prerelease: boolean; + /** Format: date-time */ + published_at: OneOf<[string, null]>; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** @description The name of the tag. */ + tag_name: string; + /** Format: uri */ + tarball_url: OneOf<[string, null]>; + /** @description Specifies the commitish value that determines where the Git tag is created from. */ + target_commitish: string; + /** Format: uri-template */ + upload_url: string; + /** Format: uri */ + url: string; + /** Format: uri */ + zipball_url: OneOf<[string, null]>; + }; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** release edited event */ + "webhook-release-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + body?: { + /** @description The previous version of the body if the action was `edited`. */ + from: string; + }; + name?: { + /** @description The previous version of the name if the action was `edited`. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + /** + * Release + * @description The [release](https://docs.github.com/rest/reference/repos/#get-a-release) object. + */ + release: { + assets: ({ + /** Format: uri */ + browser_download_url: string; + content_type: string; + /** Format: date-time */ + created_at: string; + download_count: number; + id: number; + label: OneOf<[string, null]>; + /** @description The file name of the asset. */ + name: string; + node_id: string; + size: number; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded"; + /** Format: date-time */ + updated_at: string; + /** User */ + uploader?: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** Format: uri */ + url: string; + })[]; + /** Format: uri */ + assets_url: string; + /** User */ + author: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + body: OneOf<[string, null]>; + /** Format: date-time */ + created_at: OneOf<[string, null]>; + /** Format: uri */ + discussion_url?: string; + /** @description Whether the release is a draft or published */ + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + name: OneOf<[string, null]>; + node_id: string; + /** @description Whether the release is identified as a prerelease or a full release. */ + prerelease: boolean; + /** Format: date-time */ + published_at: OneOf<[string, null]>; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** @description The name of the tag. */ + tag_name: string; + /** Format: uri */ + tarball_url: OneOf<[string, null]>; + /** @description Specifies the commitish value that determines where the Git tag is created from. */ + target_commitish: string; + /** Format: uri-template */ + upload_url: string; + /** Format: uri */ + url: string; + /** Format: uri */ + zipball_url: OneOf<[string, null]>; + }; + repository: components["schemas"]["repository"]; + sender?: components["schemas"]["simple-user"]; + }; + /** release prereleased event */ + "webhook-release-prereleased": { + /** @enum {string} */ + action: "prereleased"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + release: ({ + assets: ({ + /** Format: uri */ + browser_download_url: string; + content_type: string; + /** Format: date-time */ + created_at: string; + download_count: number; + id: number; + label: OneOf<[string, null]>; + /** @description The file name of the asset. */ + name: string; + node_id: string; + size: number; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded"; + /** Format: date-time */ + updated_at: string; + /** User */ + uploader?: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** Format: uri */ + url: string; + })[]; + /** Format: uri */ + assets_url: string; + /** User */ + author: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + body: OneOf<[string, null]>; + /** Format: date-time */ + created_at: OneOf<[string, null]>; + /** Format: uri */ + discussion_url?: string; + /** @description Whether the release is a draft or published */ + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + name: OneOf<[string, null]>; + node_id: string; + /** @description Whether the release is identified as a prerelease or a full release. */ + prerelease: boolean; + /** Format: date-time */ + published_at: OneOf<[string, null]>; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** @description The name of the tag. */ + tag_name: string; + /** Format: uri */ + tarball_url: OneOf<[string, null]>; + /** @description Specifies the commitish value that determines where the Git tag is created from. */ + target_commitish: string; + /** Format: uri-template */ + upload_url: string; + /** Format: uri */ + url: string; + /** Format: uri */ + zipball_url: OneOf<[string, null]>; + }) & { + assets?: (OneOf<[Record, null]>)[]; + assets_url?: string; + author?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + body?: OneOf<[string, null]>; + created_at?: string; + draft?: boolean; + html_url?: string; + id?: number; + name?: OneOf<[string, null]>; + node_id?: string; + /** + * @description Whether the release is identified as a prerelease or a full release. + * @enum {boolean} + */ + prerelease: true; + published_at?: OneOf<[string, null]>; + tag_name?: string; + tarball_url?: OneOf<[string, null]>; + target_commitish?: string; + upload_url?: string; + url?: string; + zipball_url?: OneOf<[string, null]>; + }; + repository: components["schemas"]["repository"]; + sender?: components["schemas"]["simple-user"]; + }; + /** release published event */ + "webhook-release-published": { + /** @enum {string} */ + action: "published"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + release: ({ + assets: ({ + /** Format: uri */ + browser_download_url: string; + content_type: string; + /** Format: date-time */ + created_at: string; + download_count: number; + id: number; + label: OneOf<[string, null]>; + /** @description The file name of the asset. */ + name: string; + node_id: string; + size: number; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded"; + /** Format: date-time */ + updated_at: string; + /** User */ + uploader?: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** Format: uri */ + url: string; + })[]; + /** Format: uri */ + assets_url: string; + /** User */ + author: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + body: OneOf<[string, null]>; + /** Format: date-time */ + created_at: OneOf<[string, null]>; + /** Format: uri */ + discussion_url?: string; + /** @description Whether the release is a draft or published */ + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + name: OneOf<[string, null]>; + node_id: string; + /** @description Whether the release is identified as a prerelease or a full release. */ + prerelease: boolean; + /** Format: date-time */ + published_at: OneOf<[string, null]>; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** @description The name of the tag. */ + tag_name: string; + /** Format: uri */ + tarball_url: OneOf<[string, null]>; + /** @description Specifies the commitish value that determines where the Git tag is created from. */ + target_commitish: string; + /** Format: uri-template */ + upload_url: string; + /** Format: uri */ + url: string; + /** Format: uri */ + zipball_url: OneOf<[string, null]>; + }) & { + assets?: (OneOf<[Record, null]>)[]; + assets_url?: string; + author?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + body?: OneOf<[string, null]>; + created_at?: string; + draft?: boolean; + html_url?: string; + id?: number; + name?: OneOf<[string, null]>; + node_id?: string; + prerelease?: boolean; + /** Format: date-time */ + published_at: OneOf<[string, null]>; + tag_name?: string; + tarball_url?: OneOf<[string, null]>; + target_commitish?: string; + upload_url?: string; + url?: string; + zipball_url?: OneOf<[string, null]>; + }; + repository: components["schemas"]["repository"]; + sender?: components["schemas"]["simple-user"]; + }; + /** release released event */ + "webhook-release-released": { + /** @enum {string} */ + action: "released"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + /** + * Release + * @description The [release](https://docs.github.com/rest/reference/repos/#get-a-release) object. + */ + release: { + assets: ({ + /** Format: uri */ + browser_download_url: string; + content_type: string; + /** Format: date-time */ + created_at: string; + download_count: number; + id: number; + label: OneOf<[string, null]>; + /** @description The file name of the asset. */ + name: string; + node_id: string; + size: number; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded"; + /** Format: date-time */ + updated_at: string; + /** User */ + uploader?: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** Format: uri */ + url: string; + })[]; + /** Format: uri */ + assets_url: string; + /** User */ + author: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + body: OneOf<[string, null]>; + /** Format: date-time */ + created_at: OneOf<[string, null]>; + /** Format: uri */ + discussion_url?: string; + /** @description Whether the release is a draft or published */ + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + name: OneOf<[string, null]>; + node_id: string; + /** @description Whether the release is identified as a prerelease or a full release. */ + prerelease: boolean; + /** Format: date-time */ + published_at: OneOf<[string, null]>; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** @description The name of the tag. */ + tag_name: string; + /** Format: uri */ + tarball_url: OneOf<[string, null]>; + /** @description Specifies the commitish value that determines where the Git tag is created from. */ + target_commitish: string; + /** Format: uri-template */ + upload_url: string; + /** Format: uri */ + url: string; + /** Format: uri */ + zipball_url: OneOf<[string, null]>; + }; + repository: components["schemas"]["repository"]; + sender?: components["schemas"]["simple-user"]; + }; + /** release unpublished event */ + "webhook-release-unpublished": { + /** @enum {string} */ + action: "unpublished"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + release: ({ + assets: ({ + /** Format: uri */ + browser_download_url: string; + content_type: string; + /** Format: date-time */ + created_at: string; + download_count: number; + id: number; + label: OneOf<[string, null]>; + /** @description The file name of the asset. */ + name: string; + node_id: string; + size: number; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded"; + /** Format: date-time */ + updated_at: string; + /** User */ + uploader?: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** Format: uri */ + url: string; + })[]; + /** Format: uri */ + assets_url: string; + /** User */ + author: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + body: OneOf<[string, null]>; + /** Format: date-time */ + created_at: OneOf<[string, null]>; + /** Format: uri */ + discussion_url?: string; + /** @description Whether the release is a draft or published */ + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + name: OneOf<[string, null]>; + node_id: string; + /** @description Whether the release is identified as a prerelease or a full release. */ + prerelease: boolean; + /** Format: date-time */ + published_at: OneOf<[string, null]>; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** @description The name of the tag. */ + tag_name: string; + /** Format: uri */ + tarball_url: OneOf<[string, null]>; + /** @description Specifies the commitish value that determines where the Git tag is created from. */ + target_commitish: string; + /** Format: uri-template */ + upload_url: string; + /** Format: uri */ + url: string; + /** Format: uri */ + zipball_url: OneOf<[string, null]>; + }) & { + assets?: (OneOf<[Record, null]>)[]; + assets_url?: string; + author?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + body?: OneOf<[string, null]>; + created_at?: string; + draft?: boolean; + html_url?: string; + id?: number; + name?: OneOf<[string, null]>; + node_id?: string; + prerelease?: boolean; + published_at: OneOf<[string, null]>; + tag_name?: string; + tarball_url?: OneOf<[string, null]>; + target_commitish?: string; + upload_url?: string; + url?: string; + zipball_url?: OneOf<[string, null]>; + }; + repository: components["schemas"]["repository"]; + sender?: components["schemas"]["simple-user"]; + }; + /** repository archived event */ + "webhook-repository-archived": { + /** @enum {string} */ + action: "archived"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository created event */ + "webhook-repository-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository deleted event */ + "webhook-repository-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository_dispatch event */ + "webhook-repository-dispatch-sample": { + action: string; + branch: string; + client_payload: OneOf<[{ + [key: string]: unknown | undefined; + }, null]>; + enterprise?: components["schemas"]["enterprise"]; + installation: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository edited event */ + "webhook-repository-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + default_branch?: { + from: string; + }; + description?: { + from: OneOf<[string, null]>; + }; + homepage?: { + from: OneOf<[string, null]>; + }; + topics?: { + from?: OneOf<[(string)[], null]>; + }; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository_import event */ + "webhook-repository-import": { + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + /** @enum {string} */ + status: "success" | "cancelled" | "failure"; + }; + /** repository privatized event */ + "webhook-repository-privatized": { + /** @enum {string} */ + action: "privatized"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository publicized event */ + "webhook-repository-publicized": { + /** @enum {string} */ + action: "publicized"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository renamed event */ + "webhook-repository-renamed": { + /** @enum {string} */ + action: "renamed"; + changes: { + repository: { + name: { + from: string; + }; + }; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository transferred event */ + "webhook-repository-transferred": { + /** @enum {string} */ + action: "transferred"; + changes: { + owner: { + from: { + /** Organization */ + organization?: { + /** Format: uri */ + avatar_url: string; + description: OneOf<[string, null]>; + /** Format: uri */ + events_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url?: string; + id: number; + /** Format: uri */ + issues_url: string; + login: string; + /** Format: uri-template */ + members_url: string; + node_id: string; + /** Format: uri-template */ + public_members_url: string; + /** Format: uri */ + repos_url: string; + /** Format: uri */ + url: string; + }; + /** User */ + user?: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }; + }; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository unarchived event */ + "webhook-repository-unarchived": { + /** @enum {string} */ + action: "unarchived"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository_vulnerability_alert create event */ + "webhook-repository-vulnerability-alert-create": { + /** @enum {string} */ + action: "create"; + alert: ({ + affected_package_name: string; + affected_range: string; + created_at: string; + dismiss_reason?: string; + dismissed_at?: string; + /** User */ + dismisser?: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + external_identifier: string; + /** Format: uri */ + external_reference: OneOf<[string, null]>; + fix_reason?: string; + /** Format: date-time */ + fixed_at?: string; + fixed_in?: string; + ghsa_id: string; + id: number; + node_id: string; + number: number; + severity: string; + /** @enum {string} */ + state: "open" | "dismissed" | "fixed"; + }) & { + affected_package_name?: string; + affected_range?: string; + created_at?: string; + external_identifier?: string; + external_reference?: OneOf<[string, null]>; + fixed_in?: string; + ghsa_id?: string; + id?: number; + node_id?: string; + number?: number; + severity?: string; + /** @enum {string} */ + state: "open"; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository_vulnerability_alert dismiss event */ + "webhook-repository-vulnerability-alert-dismiss": { + /** @enum {string} */ + action: "dismiss"; + alert: ({ + affected_package_name: string; + affected_range: string; + created_at: string; + dismiss_comment?: OneOf<[string, null]>; + dismiss_reason?: string; + dismissed_at?: string; + /** User */ + dismisser?: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + external_identifier: string; + /** Format: uri */ + external_reference: OneOf<[string, null]>; + fix_reason?: string; + /** Format: date-time */ + fixed_at?: string; + fixed_in?: string; + ghsa_id: string; + id: number; + node_id: string; + number: number; + severity: string; + /** @enum {string} */ + state: "open" | "dismissed" | "fixed"; + }) & ({ + affected_package_name?: string; + affected_range?: string; + created_at?: string; + dismiss_comment?: OneOf<[string, null]>; + dismiss_reason: string; + dismissed_at: string; + /** User */ + dismisser: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + external_identifier?: string; + external_reference?: OneOf<[string, null]>; + fixed_in?: string; + ghsa_id?: string; + id?: number; + node_id?: string; + number?: number; + severity?: string; + /** @enum {string} */ + state: "dismissed"; + }); + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository_vulnerability_alert reopen event */ + "webhook-repository-vulnerability-alert-reopen": { + /** @enum {string} */ + action: "reopen"; + alert: ({ + affected_package_name: string; + affected_range: string; + created_at: string; + dismiss_reason?: string; + dismissed_at?: string; + /** User */ + dismisser?: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + external_identifier: string; + /** Format: uri */ + external_reference: OneOf<[string, null]>; + fix_reason?: string; + /** Format: date-time */ + fixed_at?: string; + fixed_in?: string; + ghsa_id: string; + id: number; + node_id: string; + number: number; + severity: string; + /** @enum {string} */ + state: "open" | "dismissed" | "fixed"; + }) & { + affected_package_name?: string; + affected_range?: string; + created_at?: string; + external_identifier?: string; + external_reference?: OneOf<[string, null]>; + fixed_in?: string; + ghsa_id?: string; + id?: number; + node_id?: string; + number?: number; + severity?: string; + /** @enum {string} */ + state: "open"; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository_vulnerability_alert resolve event */ + "webhook-repository-vulnerability-alert-resolve": { + /** @enum {string} */ + action: "resolve"; + alert: ({ + affected_package_name: string; + affected_range: string; + created_at: string; + dismiss_reason?: string; + dismissed_at?: string; + /** User */ + dismisser?: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + external_identifier: string; + /** Format: uri */ + external_reference: OneOf<[string, null]>; + fix_reason?: string; + /** Format: date-time */ + fixed_at?: string; + fixed_in?: string; + ghsa_id: string; + id: number; + node_id: string; + number: number; + severity: string; + /** @enum {string} */ + state: "open" | "dismissed" | "fixed"; + }) & ({ + affected_package_name?: string; + affected_range?: string; + created_at?: string; + external_identifier?: string; + external_reference?: OneOf<[string, null]>; + fix_reason?: string; + /** Format: date-time */ + fixed_at?: string; + fixed_in?: string; + ghsa_id?: string; + id?: number; + node_id?: string; + number?: number; + severity?: string; + /** @enum {string} */ + state: "fixed" | "open"; + }); + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** secret_scanning_alert created event */ + "webhook-secret-scanning-alert-created": { + /** @enum {string} */ + action: "created"; + alert: components["schemas"]["secret-scanning-alert"]; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender?: components["schemas"]["simple-user"]; + }; + /** Secret Scanning Alert Location Created Event */ + "webhook-secret-scanning-alert-location-created": { + /** @enum {string} */ + action?: "created"; + alert: components["schemas"]["secret-scanning-alert"]; + installation?: components["schemas"]["simple-installation"]; + location: components["schemas"]["secret-scanning-location"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** Secret Scanning Alert Location Created Event */ + "webhook-secret-scanning-alert-location-created-form-encoded": { + /** @description A URL-encoded string of the secret_scanning_alert_location.created JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** secret_scanning_alert reopened event */ + "webhook-secret-scanning-alert-reopened": { + /** @enum {string} */ + action: "reopened"; + alert: components["schemas"]["secret-scanning-alert"]; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender?: components["schemas"]["simple-user"]; + }; + /** secret_scanning_alert resolved event */ + "webhook-secret-scanning-alert-resolved": { + /** @enum {string} */ + action: "resolved"; + alert: { + created_at?: components["schemas"]["alert-created-at"]; + html_url?: components["schemas"]["alert-html-url"]; + /** + * Format: uri + * @description The REST API URL of the code locations for this alert. + */ + locations_url?: string; + number?: components["schemas"]["alert-number"]; + /** @description Whether push protection was bypassed for the detected secret. */ + push_protection_bypassed?: OneOf<[boolean, null]>; + /** + * Format: date-time + * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + push_protection_bypassed_at?: OneOf<[string, null]>; + push_protection_bypassed_by?: null | components["schemas"]["simple-user"]; + /** + * @description **Required when the `state` is `resolved`.** The reason for resolving the alert. + * @enum {string|null} + */ + resolution?: "" | "false_positive" | "wont_fix" | "revoked" | "used_in_tests" | "pattern_deleted" | "pattern_edited" | null; + /** + * Format: date-time + * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + resolved_at?: OneOf<[string, null]>; + resolved_by?: null | components["schemas"]["simple-user"]; + /** @description An optional comment to resolve an alert. */ + resolution_comment?: OneOf<[string, null]>; + /** @description The secret that was detected. */ + secret?: string; + /** @description The type of secret that secret scanning detected. */ + secret_type?: string; + /** + * @description User-friendly name for the detected secret, matching the `secret_type`. + * For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." + */ + secret_type_display_name?: string; + state?: components["schemas"]["secret-scanning-alert-state"]; + updated_at?: components["schemas"]["alert-updated-at"]; + url?: components["schemas"]["alert-url"]; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender?: components["schemas"]["simple-user"]; + }; + /** secret_scanning_alert revoked event */ + "webhook-secret-scanning-alert-revoked": { + /** @enum {string} */ + action: "revoked"; + alert: components["schemas"]["secret-scanning-alert"]; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender?: components["schemas"]["simple-user"]; + }; + /** security_advisory performed event */ + "webhook-security-advisory-performed": { + /** @enum {string} */ + action: "performed"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository?: components["schemas"]["repository"]; + /** @description The details of the security advisory, including summary, description, and severity. */ + security_advisory: { + cvss: { + score: number; + vector_string: OneOf<[string, null]>; + }; + cwes: ({ + cwe_id: string; + name: string; + })[]; + description: string; + ghsa_id: string; + identifiers: ({ + type: string; + value: string; + })[]; + published_at: string; + references: ({ + /** Format: uri */ + url: string; + })[]; + severity: string; + summary: string; + updated_at: string; + vulnerabilities: ({ + first_patched_version: OneOf<[{ + identifier: string; + }, null]>; + package: { + ecosystem: string; + name: string; + }; + severity: string; + vulnerable_version_range: string; + })[]; + withdrawn_at: OneOf<[string, null]>; + }; + sender?: components["schemas"]["simple-user"]; + }; + /** security_advisory published event */ + "webhook-security-advisory-published": { + /** @enum {string} */ + action: "published"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository?: components["schemas"]["repository"]; + /** @description The details of the security advisory, including summary, description, and severity. */ + security_advisory: { + cvss: { + score: number; + vector_string: OneOf<[string, null]>; + }; + cwes: ({ + cwe_id: string; + name: string; + })[]; + description: string; + ghsa_id: string; + identifiers: ({ + type: string; + value: string; + })[]; + published_at: string; + references: ({ + /** Format: uri */ + url: string; + })[]; + severity: string; + summary: string; + updated_at: string; + vulnerabilities: ({ + first_patched_version: OneOf<[{ + identifier: string; + }, null]>; + package: { + ecosystem: string; + name: string; + }; + severity: string; + vulnerable_version_range: string; + })[]; + withdrawn_at: OneOf<[string, null]>; + }; + sender?: components["schemas"]["simple-user"]; + }; + /** security_advisory updated event */ + "webhook-security-advisory-updated": { + /** @enum {string} */ + action: "updated"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository?: components["schemas"]["repository"]; + /** @description The details of the security advisory, including summary, description, and severity. */ + security_advisory: { + cvss: { + score: number; + vector_string: OneOf<[string, null]>; + }; + cwes: ({ + cwe_id: string; + name: string; + })[]; + description: string; + ghsa_id: string; + identifiers: ({ + type: string; + value: string; + })[]; + published_at: string; + references: ({ + /** Format: uri */ + url: string; + })[]; + severity: string; + summary: string; + updated_at: string; + vulnerabilities: ({ + first_patched_version: OneOf<[{ + identifier: string; + }, null]>; + package: { + ecosystem: string; + name: string; + }; + severity: string; + vulnerable_version_range: string; + })[]; + withdrawn_at: OneOf<[string, null]>; + }; + sender?: components["schemas"]["simple-user"]; + }; + /** security_advisory withdrawn event */ + "webhook-security-advisory-withdrawn": { + /** @enum {string} */ + action: "withdrawn"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository?: components["schemas"]["repository"]; + /** @description The details of the security advisory, including summary, description, and severity. */ + security_advisory: { + cvss: { + score: number; + vector_string: OneOf<[string, null]>; + }; + cwes: ({ + cwe_id: string; + name: string; + })[]; + description: string; + ghsa_id: string; + identifiers: ({ + type: string; + value: string; + })[]; + published_at: string; + references: ({ + /** Format: uri */ + url: string; + })[]; + severity: string; + summary: string; + updated_at: string; + vulnerabilities: ({ + first_patched_version: OneOf<[{ + identifier: string; + }, null]>; + package: { + ecosystem: string; + name: string; + }; + severity: string; + vulnerable_version_range: string; + })[]; + withdrawn_at: string; + }; + sender?: components["schemas"]["simple-user"]; + }; + /** security_and_analysis event */ + "webhook-security-and-analysis": { + changes: { + from?: { + security_and_analysis?: components["schemas"]["security-and-analysis"]; + }; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["full-repository"]; + sender?: components["schemas"]["simple-user"]; + }; + /** sponsorship cancelled event */ + "webhook-sponsorship-cancelled": { + /** @enum {string} */ + action: "cancelled"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository?: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + sponsorship: { + created_at: string; + maintainer?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + node_id: string; + privacy_level: string; + /** User */ + sponsor: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** User */ + sponsorable: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** + * Sponsorship Tier + * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. + */ + tier: { + created_at: string; + description: string; + is_custom_ammount?: boolean; + is_custom_amount?: boolean; + is_one_time: boolean; + monthly_price_in_cents: number; + monthly_price_in_dollars: number; + name: string; + node_id: string; + }; + }; + }; + /** sponsorship created event */ + "webhook-sponsorship-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository?: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + sponsorship: { + created_at: string; + maintainer?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + node_id: string; + privacy_level: string; + /** User */ + sponsor: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** User */ + sponsorable: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** + * Sponsorship Tier + * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. + */ + tier: { + created_at: string; + description: string; + is_custom_ammount?: boolean; + is_custom_amount?: boolean; + is_one_time: boolean; + monthly_price_in_cents: number; + monthly_price_in_dollars: number; + name: string; + node_id: string; + }; + }; + }; + /** sponsorship edited event */ + "webhook-sponsorship-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + privacy_level?: { + /** @description The `edited` event types include the details about the change when someone edits a sponsorship to change the privacy. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository?: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + sponsorship: { + created_at: string; + maintainer?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + node_id: string; + privacy_level: string; + /** User */ + sponsor: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** User */ + sponsorable: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** + * Sponsorship Tier + * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. + */ + tier: { + created_at: string; + description: string; + is_custom_ammount?: boolean; + is_custom_amount?: boolean; + is_one_time: boolean; + monthly_price_in_cents: number; + monthly_price_in_dollars: number; + name: string; + node_id: string; + }; + }; + }; + /** sponsorship pending_cancellation event */ + "webhook-sponsorship-pending-cancellation": { + /** @enum {string} */ + action: "pending_cancellation"; + /** @description The `pending_cancellation` and `pending_tier_change` event types will include the date the cancellation or tier change will take effect. */ + effective_date?: string; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository?: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + sponsorship: { + created_at: string; + maintainer?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + node_id: string; + privacy_level: string; + /** User */ + sponsor: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** User */ + sponsorable: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** + * Sponsorship Tier + * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. + */ + tier: { + created_at: string; + description: string; + is_custom_ammount?: boolean; + is_custom_amount?: boolean; + is_one_time: boolean; + monthly_price_in_cents: number; + monthly_price_in_dollars: number; + name: string; + node_id: string; + }; + }; + }; + /** sponsorship pending_tier_change event */ + "webhook-sponsorship-pending-tier-change": { + /** @enum {string} */ + action: "pending_tier_change"; + changes: { + tier: { + /** + * Sponsorship Tier + * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. + */ + from: { + created_at: string; + description: string; + is_custom_ammount?: boolean; + is_custom_amount?: boolean; + is_one_time: boolean; + monthly_price_in_cents: number; + monthly_price_in_dollars: number; + name: string; + node_id: string; + }; }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; - id: number; - /** @description The name of the label. */ + }; + /** @description The `pending_cancellation` and `pending_tier_change` event types will include the date the cancellation or tier change will take effect. */ + effective_date?: string; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository?: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + sponsorship: { + created_at: string; + maintainer?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + node_id: string; + privacy_level: string; + /** User */ + sponsor: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** User */ + sponsorable: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** + * Sponsorship Tier + * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. + */ + tier: { + created_at: string; + description: string; + is_custom_ammount?: boolean; + is_custom_amount?: boolean; + is_one_time: boolean; + monthly_price_in_cents: number; + monthly_price_in_dollars: number; + name: string; + node_id: string; + }; + }; + }; + /** sponsorship tier_changed event */ + "webhook-sponsorship-tier-changed": { + /** @enum {string} */ + action: "tier_changed"; + changes: { + tier: { + /** + * Sponsorship Tier + * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. + */ + from: { + created_at: string; + description: string; + is_custom_ammount?: boolean; + is_custom_amount?: boolean; + is_one_time: boolean; + monthly_price_in_cents: number; + monthly_price_in_dollars: number; name: string; node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: OneOf<[string, null]>; - mergeable?: OneOf<[boolean, null]>; - mergeable_state?: string; - merged?: OneOf<[boolean, null]>; - /** Format: date-time */ - merged_at: OneOf<[string, null]>; + }; + }; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository?: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + sponsorship: { + created_at: string; + maintainer?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + node_id: string; + privacy_level: string; /** User */ - merged_by?: OneOf<[{ + sponsor: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** User */ + sponsorable: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** + * Sponsorship Tier + * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. + */ + tier: { + created_at: string; + description: string; + is_custom_ammount?: boolean; + is_custom_amount?: boolean; + is_one_time: boolean; + monthly_price_in_cents: number; + monthly_price_in_dollars: number; + name: string; + node_id: string; + }; + }; + }; + /** star created event */ + "webhook-star-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + /** @description The time the star was created. This is a timestamp in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. Will be `null` for the `deleted` action. */ + starred_at: OneOf<[string, null]>; + }; + /** star deleted event */ + "webhook-star-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + /** @description The time the star was created. This is a timestamp in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. Will be `null` for the `deleted` action. */ + starred_at: null; + }; + /** status event */ + "webhook-status": { + /** Format: uri */ + avatar_url?: OneOf<[string, null]>; + /** @description An array of branch objects containing the status' SHA. Each branch contains the given SHA, but the SHA may or may not be the head of the branch. The array includes a maximum of 10 branches. */ + branches: ({ + commit: { + sha: OneOf<[string, null]>; + /** Format: uri */ + url: OneOf<[string, null]>; + }; + name: string; + protected: boolean; + })[]; + commit: { + /** User */ + author: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -72855,8 +80087,8 @@ export interface components { gravatar_id?: string; /** Format: uri */ html_url?: string; - id: number; - login: string; + id?: number; + login?: string; name?: string; node_id?: string; /** Format: uri */ @@ -72875,240 +80107,54 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: OneOf<[{ - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>; - description: OneOf<[string, null]>; - /** Format: date-time */ - due_on: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }, null]>; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; /** Format: uri */ - patch_url: string; - rebaseable?: OneOf<[boolean, null]>; - requested_reviewers: (OneOf<[OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; + comments_url: string; + commit: { + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: OneOf<[string, null]>; + /** @description The git author's name. */ + name: string; + username?: string; + } & { + date: string; + email?: string; name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }, null]>, { - deleted?: boolean; - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ + }; + comment_count: number; + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: OneOf<[string, null]>; + /** @description The git author's name. */ name: string; - node_id: string; - parent?: OneOf<[{ - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, null]>; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; + username?: string; + } & { + date: string; + email?: string; + name?: string; + }; + message: string; + tree: { + sha: string; /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: OneOf<[string, null]>; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: OneOf<[{ - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, null]>; - /** @description Permission that the team will have for its repositories */ - permission?: string; + }; + /** Format: uri */ + url: string; + verification: { + payload: OneOf<[string, null]>; /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; + reason: "expired_key" | "not_signing_key" | "gpgverify_error" | "gpgverify_unavailable" | "unsigned" | "unknown_signature_type" | "no_user" | "unverified_email" | "bad_email" | "unknown_key" | "malformed_signature" | "invalid" | "valid" | "bad_cert" | "ocsp_pending"; + signature: OneOf<[string, null]>; + verified: boolean; + }; + }; /** User */ - user: OneOf<[{ + committer: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -73124,8 +80170,8 @@ export interface components { gravatar_id?: string; /** Format: uri */ html_url?: string; - id: number; - login: string; + id?: number; + login?: string; name?: string; node_id?: string; /** Format: uri */ @@ -73140,72 +80186,271 @@ export interface components { /** Format: uri */ subscriptions_url?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + type?: "Bot" | "User" | "Organization"; /** Format: uri */ url?: string; }, null]>; + /** Format: uri */ + html_url: string; + node_id: string; + parents: ({ + /** Format: uri */ + html_url: string; + sha: string; + /** Format: uri */ + url: string; + })[]; + sha: string; + /** Format: uri */ + url: string; }; + context: string; + created_at: string; + /** @description The optional human-readable description added to the status. */ + description: OneOf<[string, null]>; + enterprise?: components["schemas"]["enterprise"]; + /** @description The unique identifier of the status. */ + id: number; + installation?: components["schemas"]["simple-installation"]; + name: string; + organization?: components["schemas"]["organization-simple"]; repository: components["schemas"]["repository"]; sender: components["schemas"]["simple-user"]; + /** @description The Commit SHA. */ + sha: string; + /** + * @description The new state. Can be `pending`, `success`, `failure`, or `error`. + * @enum {string} + */ + state: "pending" | "success" | "failure" | "error"; + /** @description The optional link added to the status. */ + target_url: OneOf<[string, null]>; + updated_at: string; }; - /** pull_request unlocked event */ - "webhook-pull-request-unlocked": { - /** @enum {string} */ - action: "unlocked"; + /** team_add event */ + "webhook-team-add": { enterprise?: components["schemas"]["enterprise"]; installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; organization?: components["schemas"]["organization-simple"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | "" | null; - additions?: number; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + team: { + deleted?: boolean; + /** @description Description of the team */ + description?: OneOf<[string, null]>; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: OneOf<[{ + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, null]>; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }; + }; + /** team added_to_repository event */ + "webhook-team-added-to-repository": { + /** @enum {string} */ + action: "added_to_repository"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple"]; + /** + * Repository + * @description A git repository + */ + repository?: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: OneOf<[string, null]>; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: OneOf<[string, null]>; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: OneOf<[string, null]>; + /** Format: uri */ + languages_url: string; + /** License */ + license: OneOf<[{ + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: OneOf<[string, null]>; + }, null]>; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: OneOf<[string, null]>; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; /** User */ - assignee: OneOf<[{ + owner: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -73241,794 +80486,270 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - assignees: (OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: OneOf<[{ - /** @description Commit message for the merge commit. */ - commit_message: OneOf<[string, null]>; - /** @description Title for the merge commit message. */ - commit_title: string; - /** User */ - enabled_by: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }, null]>; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: OneOf<[string, null]>; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: OneOf<[string, null]>; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: OneOf<[string, null]>; - /** Format: uri */ - languages_url: string; - /** License */ - license: OneOf<[{ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: OneOf<[string, null]>; - }, null]>; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: OneOf<[string, null]>; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string; - /** Format: uri-template */ - releases_url: string; - role_name?: OneOf<[string, null]>; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: (string)[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; }; - body: OneOf<[string, null]>; - changed_files?: number; - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - comments?: number; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: OneOf<[string, null]>; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; /** Format: uri */ - comments_url: string; - commits?: number; + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; /** Format: uri */ - commits_url: string; + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: (string)[]; + /** Format: uri-template */ + trees_url: string; /** Format: date-time */ - created_at: string; - deletions?: number; + updated_at: string; /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sender?: components["schemas"]["simple-user"]; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + team: { + deleted?: boolean; + /** @description Description of the team */ + description?: OneOf<[string, null]>; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: OneOf<[{ + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; /** - * Repository - * @description A git repository + * Format: uri + * @description URL for the team */ - repo: OneOf<[{ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: OneOf<[string, null]>; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: OneOf<[string, null]>; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: OneOf<[string, null]>; - /** Format: uri */ - languages_url: string; - /** License */ - license: OneOf<[{ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: OneOf<[string, null]>; - }, null]>; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: OneOf<[string, null]>; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string; - /** Format: uri-template */ - releases_url: string; - role_name?: OneOf<[string, null]>; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: (string)[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }, null]>; - sha: string; - /** User */ - user: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - }; + url: string; + }, null]>; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }; + }; + /** team created event */ + "webhook-team-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple"]; + /** + * Repository + * @description A git repository + */ + repository?: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: OneOf<[string, null]>; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: OneOf<[string, null]>; + /** Format: uri */ + hooks_url: string; /** Format: uri */ html_url: string; + /** @description Unique identifier of the repository */ id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: OneOf<[string, null]>; /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: OneOf<[string, null]>; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: OneOf<[string, null]>; - mergeable?: OneOf<[boolean, null]>; - mergeable_state?: string; - merged?: OneOf<[boolean, null]>; - /** Format: date-time */ - merged_at: OneOf<[string, null]>; + languages_url: string; + /** License */ + license: OneOf<[{ + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: OneOf<[string, null]>; + }, null]>; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: OneOf<[string, null]>; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; /** User */ - merged_by?: OneOf<[{ + owner: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -74064,240 +80785,270 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: OneOf<[{ - /** Format: date-time */ - closed_at: OneOf<[string, null]>; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: OneOf<[string, null]>; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: (string)[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sender: components["schemas"]["simple-user"]; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + team: { + deleted?: boolean; + /** @description Description of the team */ + description?: OneOf<[string, null]>; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: OneOf<[{ + /** @description Description of the team */ description: OneOf<[string, null]>; - /** Format: date-time */ - due_on: OneOf<[string, null]>; /** Format: uri */ html_url: string; + /** @description Unique identifier of the team */ id: number; - /** Format: uri */ - labels_url: string; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; /** - * @description The state of the milestone. - * @enum {string} + * Format: uri + * @description URL for the team */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ url: string; }, null]>; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; /** Format: uri */ - patch_url: string; - rebaseable?: OneOf<[boolean, null]>; - requested_reviewers: (OneOf<[OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>, { - deleted?: boolean; - /** @description Description of the team */ - description?: OneOf<[string, null]>; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: OneOf<[{ - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, null]>; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: OneOf<[string, null]>; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: OneOf<[{ - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, null]>; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }; + }; + /** team deleted event */ + "webhook-team-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple"]; + /** + * Repository + * @description A git repository + */ + repository?: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; /** Format: uri */ - review_comments_url: string; + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} + * @description Whether to delete head branches when pull requests are merged + * @default false */ - state: "open" | "closed"; + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: OneOf<[string, null]>; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: OneOf<[string, null]>; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: OneOf<[string, null]>; + /** Format: uri */ + languages_url: string; + /** License */ + license: OneOf<[{ + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: OneOf<[string, null]>; + }, null]>; + master_branch?: string; /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; + merges_url: string; + /** Format: uri-template */ + milestones_url: string; /** Format: uri */ - url: string; + mirror_url: OneOf<[string, null]>; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; /** User */ - user: OneOf<[{ + owner: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -74333,150 +81084,447 @@ export interface components { /** Format: uri */ url?: string; }, null]>; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: OneOf<[string, null]>; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: (string)[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; }; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** push event */ - "webhook-push": { - /** @description The SHA of the most recent commit on `ref` after the push. */ - after: string; - base_ref: OneOf<[string, null]>; - /** @description The SHA of the most recent commit on `ref` before the push. */ - before: string; - /** @description An array of commit objects describing the pushed commits. (Pushed commits are all commits that are included in the `compare` between the `before` commit and the `after` commit.) The array includes a maximum of 20 commits. If necessary, you can use the [Commits API](https://docs.github.com/rest/reference/repos#commits) to fetch additional commits. This limit is applied to timeline events only and isn't applied to webhook deliveries. */ - commits: ({ - /** @description An array of files added in the commit. */ - added?: (string)[]; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: OneOf<[string, null]>; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: OneOf<[string, null]>; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** @description Whether this commit is distinct from any that have been pushed before. */ - distinct: boolean; - id: string; - /** @description The commit message. */ - message: string; - /** @description An array of files modified by the commit. */ - modified?: (string)[]; - /** @description An array of files removed in the commit. */ - removed?: (string)[]; - /** - * Format: date-time - * @description The ISO 8601 timestamp of the commit. - */ - timestamp: string; - tree_id: string; + sender?: components["schemas"]["simple-user"]; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + team: { + deleted?: boolean; + /** @description Description of the team */ + description?: OneOf<[string, null]>; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: OneOf<[{ + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; /** * Format: uri - * @description URL that points to the commit API resource. + * @description URL for the team */ url: string; - })[]; - /** @description URL that shows the changes in this `ref` update, from the `before` commit to the `after` commit. For a newly created `ref` that is directly based on the default branch, this is the comparison between the head of the default branch and the `after` commit. Otherwise, this shows all commits until the `after` commit. */ - compare: string; - /** @description Whether this push created the `ref`. */ - created: boolean; - /** @description Whether this push deleted the `ref`. */ - deleted: boolean; - enterprise?: components["schemas"]["enterprise"]; - /** @description Whether this push was a force push of the `ref`. */ - forced: boolean; - /** Commit */ - head_commit: OneOf<[{ - /** @description An array of files added in the commit. */ - added?: (string)[]; + }, null]>; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; /** - * Committer - * @description Metaproperties for Git author/committer information. + * Format: uri + * @description URL for the team */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: OneOf<[string, null]>; - /** @description The git author's name. */ - name: string; - username?: string; + url?: string; + }; + }; + /** team edited event */ + "webhook-team-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the team if the action was `edited`. */ + changes: { + description?: { + /** @description The previous version of the description if the action was `edited`. */ + from: string; + }; + name?: { + /** @description The previous version of the name if the action was `edited`. */ + from: string; + }; + privacy?: { + /** @description The previous version of the team's privacy if the action was `edited`. */ + from: string; + }; + repository?: { + permissions: { + from: { + /** @description The previous version of the team member's `admin` permission on a repository, if the action was `edited`. */ + admin?: boolean; + /** @description The previous version of the team member's `pull` permission on a repository, if the action was `edited`. */ + pull?: boolean; + /** @description The previous version of the team member's `push` permission on a repository, if the action was `edited`. */ + push?: boolean; + }; + }; }; + }; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple"]; + /** + * Repository + * @description A git repository + */ + repository?: { /** - * Committer - * @description Metaproperties for Git author/committer information. + * @description Whether to allow auto-merge for pull requests. + * @default false */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: OneOf<[string, null]>; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** @description Whether this commit is distinct from any that have been pushed before. */ - distinct: boolean; - id: string; - /** @description The commit message. */ - message: string; - /** @description An array of files modified by the commit. */ - modified?: (string)[]; - /** @description An array of files removed in the commit. */ - removed?: (string)[]; + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; /** - * Format: date-time - * @description The ISO 8601 timestamp of the commit. + * @description Whether to allow merge commits for pull requests. + * @default true */ - timestamp: string; - tree_id: string; + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: OneOf<[string, null]>; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: OneOf<[string, null]>; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: OneOf<[string, null]>; + /** Format: uri */ + languages_url: string; + /** License */ + license: OneOf<[{ + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: OneOf<[string, null]>; + }, null]>; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: OneOf<[string, null]>; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: OneOf<[string, null]>; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: (string)[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sender: components["schemas"]["simple-user"]; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + team: { + deleted?: boolean; + /** @description Description of the team */ + description?: OneOf<[string, null]>; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: OneOf<[{ + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, null]>; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; /** * Format: uri - * @description URL that points to the commit API resource. + * @description URL for the team */ - url: string; - }, null]>; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - pusher: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email?: OneOf<[string, null]>; - /** @description The git author's name. */ - name: string; - username?: string; + url?: string; }; - /** @description The full git ref that was pushed. Example: `refs/heads/main` or `refs/tags/v3.14.1`. */ - ref: string; + }; + /** team removed_from_repository event */ + "webhook-team-removed-from-repository": { + /** @enum {string} */ + action: "removed_from_repository"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple"]; /** * Repository * @description A git repository */ - repository: { + repository?: { /** * @description Whether to allow auto-merge for pull requests. * @default false @@ -74579,11 +81627,6 @@ export interface components { * @default true */ has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; homepage: OneOf<[string, null]>; /** Format: uri */ hooks_url: string; @@ -74620,17 +81663,464 @@ export interface components { /** Format: uri-template */ milestones_url: string; /** Format: uri */ - mirror_url: OneOf<[string, null]>; - /** @description The name of the repository. */ + mirror_url: OneOf<[string, null]>; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: OneOf<[string, null]>; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: (string)[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sender: components["schemas"]["simple-user"]; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + team: { + deleted?: boolean; + /** @description Description of the team */ + description?: OneOf<[string, null]>; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: OneOf<[{ + /** @description Description of the team */ + description: OneOf<[string, null]>; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, null]>; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }; + }; + "webhook-user-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository?: components["schemas"]["repository"]; + sender?: components["schemas"]["simple-user"]; + /** User */ + user?: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + }; + /** watch started event */ + "webhook-watch-started": { + /** @enum {string} */ + action: "started"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + }; + /** workflow_dispatch event */ + "webhook-workflow-dispatch": { + enterprise?: components["schemas"]["enterprise"]; + inputs: OneOf<[{ + name?: string; + number?: string; + }, null]>; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + ref: string; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + workflow: string; + }; + /** workflow_job completed event */ + "webhook-workflow-job-completed": { + /** @enum {string} */ + action: "completed"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + workflow_job: ({ + /** Format: uri */ + check_run_url: string; + completed_at: OneOf<[string, null]>; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "" | "skipped" | "cancelled" | "action_required" | "neutral" | "timed_out" | null; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + /** @description Custom labels for the job. Specified by the [`"runs-on"` attribute](https://docs.github.com/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on) in the workflow YAML. */ + labels: (string)[]; + name: string; + node_id: string; + run_attempt: number; + run_id: number; + /** Format: uri */ + run_url: string; + /** @description The ID of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_group_id: OneOf<[number, null]>; + /** @description The name of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_group_name: OneOf<[string, null]>; + /** @description The ID of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_id: OneOf<[number, null]>; + /** @description The name of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_name: OneOf<[string, null]>; + started_at: string; + /** + * @description The current status of the job. Can be `queued`, `in_progress`, or `completed`. + * @enum {string} + */ + status: "queued" | "in_progress" | "completed" | "waiting"; + steps: ({ + completed_at: OneOf<[string, null]>; + /** @enum {string|null} */ + conclusion: "failure" | "skipped" | "success" | "cancelled" | "" | null; + name: string; + number: number; + started_at: OneOf<[string, null]>; + /** @enum {string} */ + status: "in_progress" | "completed" | "queued"; + })[]; + /** Format: uri */ + url: string; + }) & ({ + check_run_url?: string; + completed_at?: string; + /** @enum {string} */ + conclusion: "success" | "failure" | "skipped" | "cancelled" | "action_required" | "neutral" | "timed_out"; + head_sha?: string; + html_url?: string; + id?: number; + labels?: (OneOf<[string, null]>)[]; + name?: string; + node_id?: string; + run_attempt?: number; + run_id?: number; + run_url?: string; + runner_group_id?: OneOf<[number, null]>; + runner_group_name?: OneOf<[string, null]>; + runner_id?: OneOf<[number, null]>; + runner_name?: OneOf<[string, null]>; + started_at?: string; + status?: string; + steps?: (OneOf<[Record, null]>)[]; + url?: string; + }); + }; + /** workflow_job in_progress event */ + "webhook-workflow-job-in-progress": { + /** @enum {string} */ + action: "in_progress"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + workflow_job: ({ + /** Format: uri */ + check_run_url: string; + completed_at: OneOf<[string, null]>; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "" | "cancelled" | "neutral" | null; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + /** @description Custom labels for the job. Specified by the [`"runs-on"` attribute](https://docs.github.com/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on) in the workflow YAML. */ + labels: (string)[]; + name: string; + node_id: string; + run_attempt: number; + run_id: number; + /** Format: uri */ + run_url: string; + /** @description The ID of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_group_id: OneOf<[number, null]>; + /** @description The name of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_group_name: OneOf<[string, null]>; + /** @description The ID of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_id: OneOf<[number, null]>; + /** @description The name of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_name: OneOf<[string, null]>; + started_at: string; + /** + * @description The current status of the job. Can be `queued`, `in_progress`, or `completed`. + * @enum {string} + */ + status: "queued" | "in_progress" | "completed"; + steps: ({ + completed_at: OneOf<[string, null]>; + /** @enum {string|null} */ + conclusion: "failure" | "skipped" | "success" | "" | "cancelled" | null; + name: string; + number: number; + started_at: OneOf<[string, null]>; + /** @enum {string} */ + status: "in_progress" | "completed" | "queued" | "pending"; + })[]; + /** Format: uri */ + url: string; + }) & ({ + check_run_url?: string; + completed_at?: OneOf<[string, null]>; + conclusion?: OneOf<[string, null]>; + head_sha?: string; + html_url?: string; + id?: number; + labels?: (string)[]; + name?: string; + node_id?: string; + run_attempt?: number; + run_id?: number; + run_url?: string; + runner_group_id?: OneOf<[number, null]>; + runner_group_name?: OneOf<[string, null]>; + runner_id?: OneOf<[number, null]>; + runner_name?: OneOf<[string, null]>; + started_at?: string; + /** @enum {string} */ + status: "in_progress" | "completed" | "queued"; + steps: ({ + completed_at: OneOf<[string, null]>; + conclusion: OneOf<[string, null]>; + name: string; + number: number; + started_at: OneOf<[string, null]>; + /** @enum {string} */ + status: "in_progress" | "completed" | "pending" | "queued"; + })[]; + url?: string; + }); + }; + /** workflow_job queued event */ + "webhook-workflow-job-queued": { + /** @enum {string} */ + action: "queued"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + workflow_job: { + /** Format: uri */ + check_run_url: string; + completed_at: OneOf<[string, null]>; + conclusion: OneOf<[string, null]>; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + labels: (string)[]; + name: string; + node_id: string; + run_attempt: number; + run_id: number; + /** Format: uri */ + run_url: string; + runner_group_id: OneOf<[number, null]>; + runner_group_name: OneOf<[string, null]>; + runner_id: OneOf<[number, null]>; + runner_name: OneOf<[string, null]>; + /** Format: date-time */ + started_at: string; + /** @enum {string} */ + status: "queued" | "in_progress" | "completed" | "waiting"; + steps: ({ + completed_at: OneOf<[string, null]>; + /** @enum {string|null} */ + conclusion: "failure" | "skipped" | "success" | "cancelled" | "" | null; + name: string; + number: number; + started_at: OneOf<[string, null]>; + /** @enum {string} */ + status: "completed" | "in_progress" | "queued" | "pending"; + })[]; + /** Format: uri */ + url: string; + }; + }; + /** workflow_run completed event */ + "webhook-workflow-run-completed": { + /** @enum {string} */ + action: "completed"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + /** Workflow */ + workflow: OneOf<[{ + /** Format: uri */ + badge_url: string; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + html_url: string; + id: number; name: string; node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; + path: string; + state: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }, null]>; + workflow_run: ({ /** User */ - owner: OneOf<[{ + actor: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -74666,454 +82156,361 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string; - /** Format: uri-template */ - releases_url: string; - role_name?: OneOf<[string, null]>; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; /** Format: uri */ - svn_url: string; + artifacts_url: string; /** Format: uri */ - tags_url: string; + cancel_url: string; + check_suite_id: number; + check_suite_node_id: string; /** Format: uri */ - teams_url: string; - topics: (string)[]; - /** Format: uri-template */ - trees_url: string; + check_suite_url: string; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | "" | "skipped" | null; /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sender?: components["schemas"]["simple-user"]; - }; - "webhook-registry-package-published": { - /** @enum {string} */ - action: "published"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - registry_package: { - created_at: OneOf<[string, null]>; - description: OneOf<[string, null]>; - ecosystem: string; - html_url: string; - id: number; - name: string; - namespace: string; - owner: { - avatar_url: string; + created_at: string; + event: string; + head_branch: OneOf<[string, null]>; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: OneOf<[string, null]>; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: OneOf<[string, null]>; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** Repository Lite */ + head_repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: OneOf<[string, null]>; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ events_url: string; - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ html_url: string; + /** @description Unique identifier of the repository */ id: number; - login: string; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string; node_id: string; - organizations_url: string; - received_events_url: string; - repos_url: string; - site_admin: boolean; - starred_url: string; - subscriptions_url: string; - type: string; - url: string; - }; - package_type: string; - package_version: OneOf<[{ - author?: { - avatar_url: string; - events_url: string; - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string; - html_url: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; id: number; login: string; - node_id: string; - organizations_url: string; - received_events_url: string; - repos_url: string; - site_admin: boolean; - starred_url: string; - subscriptions_url: string; - type: string; - url: string; - }; - body?: string | Record; - body_html?: string; - container_metadata?: { - labels?: OneOf<[Record, null]>; - manifest?: OneOf<[Record, null]>; - tag?: { - digest?: string; - name?: string; - }; - }; - created_at?: string; - description: string; - docker_metadata?: (Record)[]; - draft?: boolean; - html_url: string; - id: number; - installation_command: string; - manifest?: string; - metadata: ({ - [key: string]: unknown | undefined; - })[]; - name: string; - npm_metadata?: OneOf<[{ name?: string; - version?: string; - npm_user?: string; - author?: string | Record; - bugs?: string | Record; - dependencies?: Record; - dev_dependencies?: Record; - peer_dependencies?: Record; - optional_dependencies?: Record; - description?: string; - dist?: string | Record; - git_head?: string; - homepage?: string; - license?: string; - main?: string; - repository?: string | Record; - scripts?: Record; - id?: string; - node_version?: string; - npm_version?: string; - has_shrinkwrap?: boolean; - maintainers?: (string)[]; - contributors?: (string)[]; - engines?: Record; - keywords?: (string)[]; - files?: (string)[]; - bin?: Record; - man?: Record; - directories?: string | Record; - os?: (string)[]; - cpu?: (string)[]; - readme?: string; - installation_command?: string; - release_id?: number; - commit_oid?: string; - published_via_actions?: boolean; - deleted_by_id?: number; - }, null]>; - nuget_metadata?: OneOf<[({ - id?: string | Record | number; - name?: string; - value?: OneOf<[boolean, string, number, { - url?: string; - branch?: string; - commit?: string; - type?: string; - }]>; - })[], null]>; - package_files: ({ - content_type: string; - created_at: string; - download_url: string; - id: number; - md5: OneOf<[string, null]>; - name: string; - sha1: OneOf<[string, null]>; - sha256: OneOf<[string, null]>; - size: number; - state: OneOf<[string, null]>; - updated_at: string; - })[]; - package_url: string; - prerelease?: boolean; - release?: { - author?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - created_at?: string; - draft?: boolean; - html_url?: string; - id?: number; - name?: OneOf<[string, null]>; - prerelease?: boolean; - published_at?: string; - tag_name?: string; - target_commitish?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ url?: string; - }; - rubygems_metadata?: (Record)[]; - summary: string; - tag_name?: string; - target_commitish?: string; - target_oid?: string; - updated_at?: string; - version: string; - }, null]>; - registry: OneOf<[{ - about_url?: string; - name?: string; - type?: string; - url?: string; - vendor?: string; - }, null]>; - updated_at: OneOf<[string, null]>; - }; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - "webhook-registry-package-updated": { - action: string; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - registry_package: { - created_at: string; - description: null; - ecosystem: string; + }, null]>; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; + /** Format: uri */ + url: string; + }; + head_sha: string; + /** Format: uri */ html_url: string; id: number; - name: string; - namespace: string; - owner: { - avatar_url: string; + /** Format: uri */ + jobs_url: string; + /** Format: uri */ + logs_url: string; + name: OneOf<[string, null]>; + node_id: string; + path: string; + /** Format: uri */ + previous_attempt_url: OneOf<[string, null]>; + pull_requests: ({ + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + })[]; + referenced_workflows?: OneOf<[({ + path: string; + ref?: string; + sha: string; + })[], null]>; + /** Repository Lite */ + repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: OneOf<[string, null]>; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ events_url: string; - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ html_url: string; + /** @description Unique identifier of the repository */ id: number; - login: string; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string; node_id: string; - organizations_url: string; - received_events_url: string; - repos_url: string; - site_admin: boolean; - starred_url: string; - subscriptions_url: string; - type: string; - url: string; - }; - package_type: string; - package_version: { - author: { - avatar_url: string; - events_url: string; - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string; - html_url: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; id: number; login: string; - node_id: string; - organizations_url: string; - received_events_url: string; - repos_url: string; - site_admin: boolean; - starred_url: string; - subscriptions_url: string; - type: string; - url: string; - }; - body: string; - body_html: string; - created_at: string; - description: string; - docker_metadata?: (null)[]; - draft?: boolean; - html_url: string; - id: number; - installation_command: string; - manifest?: string; - metadata: (Record)[]; - name: string; - package_files: ({ - content_type?: string; - created_at?: string; - download_url?: string; - id?: number; - md5?: OneOf<[string, null]>; - name?: string; - sha1?: OneOf<[string, null]>; - sha256?: string; - size?: number; - state?: string; - updated_at?: string; - })[]; - package_url: string; - prerelease?: boolean; - release?: { - author: { - avatar_url: string; - events_url: string; - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string; - html_url: string; - id: number; - login: string; - node_id: string; - organizations_url: string; - received_events_url: string; - repos_url: string; - site_admin: boolean; - starred_url: string; - subscriptions_url: string; - type: string; - url: string; - }; - created_at: string; - draft: boolean; - html_url: string; - id: number; - name: string; - prerelease: boolean; - published_at: string; - tag_name: string; - target_commitish: string; - url: string; - }; - rubygems_metadata?: (Record)[]; - summary: string; - tag_name?: string; - target_commitish: string; - target_oid: string; - updated_at: string; - version: string; - }; - registry: OneOf<[Record, null]>; - updated_at: string; - }; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** release created event */ - "webhook-release-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - /** - * Release - * @description The [release](https://docs.github.com/rest/reference/repos/#get-a-release) object. - */ - release: { - assets: ({ + name?: string; + node_id?: string; /** Format: uri */ - browser_download_url: string; - content_type: string; - /** Format: date-time */ - created_at: string; - download_count: number; - id: number; - label: OneOf<[string, null]>; - /** @description The file name of the asset. */ - name: string; - node_id: string; - size: number; - /** - * @description State of the release asset. - * @enum {string} - */ - state: "uploaded"; - /** Format: date-time */ - updated_at: string; - /** User */ - uploader?: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; + organizations_url?: string; /** Format: uri */ - url: string; - })[]; + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; + /** Format: uri */ + url: string; + }; /** Format: uri */ - assets_url: string; + rerun_url: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: "requested" | "in_progress" | "completed" | "queued" | "pending" | "waiting"; /** User */ - author: OneOf<[{ + triggering_actor: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -75149,128 +82546,268 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - body: OneOf<[string, null]>; - /** Format: date-time */ - created_at: OneOf<[string, null]>; - /** Format: uri */ - discussion_url?: string; - /** @description Whether the release is a draft or published */ - draft: boolean; - /** Format: uri */ - html_url: string; - id: number; - name: OneOf<[string, null]>; - node_id: string; - /** @description Whether the release is identified as a prerelease or a full release. */ - prerelease: boolean; /** Format: date-time */ - published_at: OneOf<[string, null]>; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** @description The name of the tag. */ - tag_name: string; - /** Format: uri */ - tarball_url: OneOf<[string, null]>; - /** @description Specifies the commitish value that determines where the Git tag is created from. */ - target_commitish: string; - /** Format: uri-template */ - upload_url: string; + updated_at: string; /** Format: uri */ url: string; + workflow_id: number; /** Format: uri */ - zipball_url: OneOf<[string, null]>; - }; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + workflow_url: string; + }) & ({ + actor?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + artifacts_url?: string; + cancel_url?: string; + check_suite_id?: number; + check_suite_node_id?: string; + check_suite_url?: string; + /** @enum {string} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | "skipped"; + created_at?: string; + event?: string; + head_branch?: OneOf<[string, null]>; + head_commit?: { + author?: { + email?: string; + name?: string; + }; + committer?: { + email?: string; + name?: string; + }; + id?: string; + message?: string; + timestamp?: string; + tree_id?: string; + }; + head_repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: OneOf<[string, null]>; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + head_sha?: string; + html_url?: string; + id?: number; + jobs_url?: string; + logs_url?: string; + name?: OneOf<[string, null]>; + node_id?: string; + path?: string; + previous_attempt_url?: OneOf<[string, null]>; + pull_requests?: (OneOf<[Record, null]>)[]; + referenced_workflows?: OneOf<[({ + path: string; + ref?: string; + sha: string; + })[], null]>; + repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: OneOf<[string, null]>; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + rerun_url?: string; + run_attempt?: number; + run_number?: number; + run_started_at?: string; + status?: string; + triggering_actor?: OneOf<[{ + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }, null]>; + updated_at?: string; + url?: string; + workflow_id?: number; + workflow_url?: string; + }); }; - /** release deleted event */ - "webhook-release-deleted": { + /** workflow_run in_progress event */ + "webhook-workflow-run-in-progress": { /** @enum {string} */ - action: "deleted"; + action: "in_progress"; enterprise?: components["schemas"]["enterprise"]; installation?: components["schemas"]["simple-installation"]; organization?: components["schemas"]["organization-simple"]; - /** - * Release - * @description The [release](https://docs.github.com/rest/reference/repos/#get-a-release) object. - */ - release: { - assets: ({ - /** Format: uri */ - browser_download_url: string; - content_type: string; - /** Format: date-time */ - created_at: string; - download_count: number; - id: number; - label: OneOf<[string, null]>; - /** @description The file name of the asset. */ - name: string; - node_id: string; - size: number; - /** - * @description State of the release asset. - * @enum {string} - */ - state: "uploaded"; - /** Format: date-time */ - updated_at: string; - /** User */ - uploader?: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** Format: uri */ - url: string; - })[]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + /** Workflow */ + workflow: OneOf<[{ /** Format: uri */ - assets_url: string; + badge_url: string; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + html_url: string; + id: number; + name: string; + node_id: string; + path: string; + state: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }, null]>; + workflow_run: ({ /** User */ - author: OneOf<[{ + actor: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -75306,291 +82843,361 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - body: OneOf<[string, null]>; - /** Format: date-time */ - created_at: OneOf<[string, null]>; /** Format: uri */ - discussion_url?: string; - /** @description Whether the release is a draft or published */ - draft: boolean; + artifacts_url: string; /** Format: uri */ - html_url: string; - id: number; - name: OneOf<[string, null]>; - node_id: string; - /** @description Whether the release is identified as a prerelease or a full release. */ - prerelease: boolean; + cancel_url: string; + check_suite_id: number; + check_suite_node_id: string; + /** Format: uri */ + check_suite_url: string; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | "skipped" | "" | null; /** Format: date-time */ - published_at: OneOf<[string, null]>; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; + created_at: string; + event: string; + head_branch: OneOf<[string, null]>; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: OneOf<[string, null]>; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: OneOf<[string, null]>; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** Repository Lite */ + head_repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: OneOf<[string, null]>; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; /** Format: uri */ url: string; }; - /** @description The name of the tag. */ - tag_name: string; + head_sha: string; /** Format: uri */ - tarball_url: OneOf<[string, null]>; - /** @description Specifies the commitish value that determines where the Git tag is created from. */ - target_commitish: string; - /** Format: uri-template */ - upload_url: string; + html_url: string; + id: number; /** Format: uri */ - url: string; + jobs_url: string; /** Format: uri */ - zipball_url: OneOf<[string, null]>; - }; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** release edited event */ - "webhook-release-edited": { - /** @enum {string} */ - action: "edited"; - changes: { - body?: { - /** @description The previous version of the body if the action was `edited`. */ - from: string; - }; - name?: { - /** @description The previous version of the name if the action was `edited`. */ - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - /** - * Release - * @description The [release](https://docs.github.com/rest/reference/repos/#get-a-release) object. - */ - release: { - assets: ({ - /** Format: uri */ - browser_download_url: string; - content_type: string; - /** Format: date-time */ - created_at: string; - download_count: number; + logs_url: string; + name: OneOf<[string, null]>; + node_id: string; + path: string; + /** Format: uri */ + previous_attempt_url: OneOf<[string, null]>; + pull_requests: ({ + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; id: number; - label: OneOf<[string, null]>; - /** @description The file name of the asset. */ - name: string; - node_id: string; - size: number; - /** - * @description State of the release asset. - * @enum {string} - */ - state: "uploaded"; - /** Format: date-time */ - updated_at: string; - /** User */ - uploader?: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; + number: number; + /** Format: uri */ + url: string; + })[]; + referenced_workflows?: OneOf<[({ + path: string; + ref?: string; + sha: string; + })[], null]>; + /** Repository Lite */ + repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: OneOf<[string, null]>; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; /** Format: uri */ - url: string; - })[]; - /** Format: uri */ - assets_url: string; - /** User */ - author: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** @description Whether the repository is private or public. */ + private: boolean; /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; + pulls_url: string; /** Format: uri-template */ - following_url?: string; + releases_url: string; + /** Format: uri */ + stargazers_url: string; /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + statuses_url: string; /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; + subscribers_url: string; /** Format: uri */ - organizations_url?: string; + subscription_url: string; /** Format: uri */ - received_events_url?: string; + tags_url: string; /** Format: uri */ - repos_url?: string; - site_admin?: boolean; + teams_url: string; /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - body: OneOf<[string, null]>; - /** Format: date-time */ - created_at: OneOf<[string, null]>; - /** Format: uri */ - discussion_url?: string; - /** @description Whether the release is a draft or published */ - draft: boolean; - /** Format: uri */ - html_url: string; - id: number; - name: OneOf<[string, null]>; - node_id: string; - /** @description Whether the release is identified as a prerelease or a full release. */ - prerelease: boolean; - /** Format: date-time */ - published_at: OneOf<[string, null]>; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; + trees_url: string; /** Format: uri */ url: string; }; - /** @description The name of the tag. */ - tag_name: string; - /** Format: uri */ - tarball_url: OneOf<[string, null]>; - /** @description Specifies the commitish value that determines where the Git tag is created from. */ - target_commitish: string; - /** Format: uri-template */ - upload_url: string; - /** Format: uri */ - url: string; - /** Format: uri */ - zipball_url: OneOf<[string, null]>; - }; - repository: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; - }; - /** release prereleased event */ - "webhook-release-prereleased": { - /** @enum {string} */ - action: "prereleased"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - release: ({ - assets: ({ - /** Format: uri */ - browser_download_url: string; - content_type: string; - /** Format: date-time */ - created_at: string; - download_count: number; - id: number; - label: OneOf<[string, null]>; - /** @description The file name of the asset. */ - name: string; - node_id: string; - size: number; - /** - * @description State of the release asset. - * @enum {string} - */ - state: "uploaded"; - /** Format: date-time */ - updated_at: string; - /** User */ - uploader?: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** Format: uri */ - url: string; - })[]; /** Format: uri */ - assets_url: string; + rerun_url: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: "requested" | "in_progress" | "completed" | "queued" | "pending"; /** User */ - author: OneOf<[{ + triggering_actor: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -75626,52 +83233,15 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - body: OneOf<[string, null]>; - /** Format: date-time */ - created_at: OneOf<[string, null]>; - /** Format: uri */ - discussion_url?: string; - /** @description Whether the release is a draft or published */ - draft: boolean; - /** Format: uri */ - html_url: string; - id: number; - name: OneOf<[string, null]>; - node_id: string; - /** @description Whether the release is identified as a prerelease or a full release. */ - prerelease: boolean; /** Format: date-time */ - published_at: OneOf<[string, null]>; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** @description The name of the tag. */ - tag_name: string; - /** Format: uri */ - tarball_url: OneOf<[string, null]>; - /** @description Specifies the commitish value that determines where the Git tag is created from. */ - target_commitish: string; - /** Format: uri-template */ - upload_url: string; + updated_at: string; /** Format: uri */ url: string; + workflow_id: number; /** Format: uri */ - zipball_url: OneOf<[string, null]>; - }) & { - assets?: (OneOf<[Record, null]>)[]; - assets_url?: string; - author?: { + workflow_url: string; + }) & ({ + actor?: { avatar_url?: string; events_url?: string; followers_url?: string; @@ -75691,101 +83261,241 @@ export interface components { type?: string; url?: string; }; - body?: OneOf<[string, null]>; + artifacts_url?: string; + cancel_url?: string; + check_suite_id?: number; + check_suite_node_id?: string; + check_suite_url?: string; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "skipped" | "stale" | "" | null; created_at?: string; - draft?: boolean; + event?: string; + head_branch?: OneOf<[string, null]>; + head_commit?: { + author?: { + email?: string; + name?: string; + }; + committer?: { + email?: string; + name?: string; + }; + id?: string; + message?: string; + timestamp?: string; + tree_id?: string; + }; + head_repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: OneOf<[string, null]>; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: OneOf<[string, null]>; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + head_sha?: string; html_url?: string; id?: number; + jobs_url?: string; + logs_url?: string; name?: OneOf<[string, null]>; node_id?: string; - /** - * @description Whether the release is identified as a prerelease or a full release. - * @enum {boolean} - */ - prerelease: true; - published_at?: OneOf<[string, null]>; - tag_name?: string; - tarball_url?: OneOf<[string, null]>; - target_commitish?: string; - upload_url?: string; - url?: string; - zipball_url?: OneOf<[string, null]>; - }; - repository: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; - }; - /** release published event */ - "webhook-release-published": { - /** @enum {string} */ - action: "published"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - release: ({ - assets: ({ - /** Format: uri */ - browser_download_url: string; - content_type: string; - /** Format: date-time */ - created_at: string; - download_count: number; - id: number; - label: OneOf<[string, null]>; - /** @description The file name of the asset. */ - name: string; - node_id: string; - size: number; - /** - * @description State of the release asset. - * @enum {string} - */ - state: "uploaded"; - /** Format: date-time */ - updated_at: string; - /** User */ - uploader?: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** Format: uri */ - url: string; - })[]; + path?: string; + previous_attempt_url?: OneOf<[string, null]>; + pull_requests?: (OneOf<[Record, null]>)[]; + referenced_workflows?: OneOf<[({ + path: string; + ref?: string; + sha: string; + })[], null]>; + repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: OneOf<[string, null]>; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + rerun_url?: string; + run_attempt?: number; + run_number?: number; + run_started_at?: string; + status?: string; + triggering_actor?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + updated_at?: string; + url?: string; + workflow_id?: number; + workflow_url?: string; + }); + }; + /** workflow_run requested event */ + "webhook-workflow-run-requested": { + /** @enum {string} */ + action: "requested"; + enterprise?: components["schemas"]["enterprise"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple"]; + repository: components["schemas"]["repository"]; + sender: components["schemas"]["simple-user"]; + /** Workflow */ + workflow: OneOf<[{ /** Format: uri */ - assets_url: string; + badge_url: string; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + html_url: string; + id: number; + name: string; + node_id: string; + path: string; + state: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }, null]>; + /** Workflow Run */ + workflow_run: { /** User */ - author: OneOf<[{ + actor: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -75821,320 +83531,361 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - body: OneOf<[string, null]>; - /** Format: date-time */ - created_at: OneOf<[string, null]>; /** Format: uri */ - discussion_url?: string; - /** @description Whether the release is a draft or published */ - draft: boolean; + artifacts_url: string; /** Format: uri */ - html_url: string; - id: number; - name: OneOf<[string, null]>; - node_id: string; - /** @description Whether the release is identified as a prerelease or a full release. */ - prerelease: boolean; + cancel_url: string; + check_suite_id: number; + check_suite_node_id: string; + /** Format: uri */ + check_suite_url: string; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | "" | "skipped" | "startup_failure" | null; /** Format: date-time */ - published_at: OneOf<[string, null]>; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; + created_at: string; + event: string; + head_branch: OneOf<[string, null]>; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: OneOf<[string, null]>; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: OneOf<[string, null]>; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** Repository Lite */ + head_repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: OneOf<[string, null]>; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; /** Format: uri */ url: string; }; - /** @description The name of the tag. */ - tag_name: string; + head_sha: string; /** Format: uri */ - tarball_url: OneOf<[string, null]>; - /** @description Specifies the commitish value that determines where the Git tag is created from. */ - target_commitish: string; - /** Format: uri-template */ - upload_url: string; + html_url: string; + id: number; /** Format: uri */ - url: string; + jobs_url: string; /** Format: uri */ - zipball_url: OneOf<[string, null]>; - }) & { - assets?: (OneOf<[Record, null]>)[]; - assets_url?: string; - author?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - body?: OneOf<[string, null]>; - created_at?: string; - draft?: boolean; - html_url?: string; - id?: number; - name?: OneOf<[string, null]>; - node_id?: string; - prerelease?: boolean; - /** Format: date-time */ - published_at: OneOf<[string, null]>; - tag_name?: string; - tarball_url?: OneOf<[string, null]>; - target_commitish?: string; - upload_url?: string; - url?: string; - zipball_url?: OneOf<[string, null]>; - }; - repository: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; - }; - /** release released event */ - "webhook-release-released": { - /** @enum {string} */ - action: "released"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - /** - * Release - * @description The [release](https://docs.github.com/rest/reference/repos/#get-a-release) object. - */ - release: { - assets: ({ - /** Format: uri */ - browser_download_url: string; - content_type: string; - /** Format: date-time */ - created_at: string; - download_count: number; + logs_url: string; + name: OneOf<[string, null]>; + node_id: string; + path: string; + /** Format: uri */ + previous_attempt_url: OneOf<[string, null]>; + pull_requests: ({ + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; id: number; - label: OneOf<[string, null]>; - /** @description The file name of the asset. */ - name: string; - node_id: string; - size: number; - /** - * @description State of the release asset. - * @enum {string} - */ - state: "uploaded"; - /** Format: date-time */ - updated_at: string; - /** User */ - uploader?: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; + number: number; /** Format: uri */ url: string; })[]; - /** Format: uri */ - assets_url: string; - /** User */ - author: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; + referenced_workflows?: OneOf<[({ + path: string; + ref?: string; + sha: string; + })[], null]>; + /** Repository Lite */ + repository: { /** Format: uri-template */ - events_url?: string; + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; /** Format: uri */ - followers_url?: string; + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: OneOf<[string, null]>; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; /** Format: uri-template */ - following_url?: string; + git_commits_url: string; /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; /** Format: uri */ - html_url?: string; + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ id: number; - login: string; - name?: string; - node_id?: string; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; /** Format: uri */ - organizations_url?: string; + languages_url: string; /** Format: uri */ - received_events_url?: string; + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: OneOf<[{ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: OneOf<[string, null]>; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + }, null]>; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; /** Format: uri */ - repos_url?: string; - site_admin?: boolean; + stargazers_url: string; /** Format: uri-template */ - starred_url?: string; + statuses_url: string; /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + subscribers_url: string; /** Format: uri */ - url?: string; - }, null]>; - body: OneOf<[string, null]>; - /** Format: date-time */ - created_at: OneOf<[string, null]>; - /** Format: uri */ - discussion_url?: string; - /** @description Whether the release is a draft or published */ - draft: boolean; - /** Format: uri */ - html_url: string; - id: number; - name: OneOf<[string, null]>; - node_id: string; - /** @description Whether the release is identified as a prerelease or a full release. */ - prerelease: boolean; - /** Format: date-time */ - published_at: OneOf<[string, null]>; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; /** Format: uri */ url: string; }; - /** @description The name of the tag. */ - tag_name: string; - /** Format: uri */ - tarball_url: OneOf<[string, null]>; - /** @description Specifies the commitish value that determines where the Git tag is created from. */ - target_commitish: string; - /** Format: uri-template */ - upload_url: string; - /** Format: uri */ - url: string; - /** Format: uri */ - zipball_url: OneOf<[string, null]>; - }; - repository: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; - }; - /** release unpublished event */ - "webhook-release-unpublished": { - /** @enum {string} */ - action: "unpublished"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - release: ({ - assets: ({ - /** Format: uri */ - browser_download_url: string; - content_type: string; - /** Format: date-time */ - created_at: string; - download_count: number; - id: number; - label: OneOf<[string, null]>; - /** @description The file name of the asset. */ - name: string; - node_id: string; - size: number; - /** - * @description State of the release asset. - * @enum {string} - */ - state: "uploaded"; - /** Format: date-time */ - updated_at: string; - /** User */ - uploader?: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** Format: uri */ - url: string; - })[]; /** Format: uri */ - assets_url: string; + rerun_url: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: "requested" | "in_progress" | "completed" | "queued" | "pending" | "waiting"; /** User */ - author: OneOf<[{ + triggering_actor: OneOf<[{ /** Format: uri */ avatar_url?: string; deleted?: boolean; @@ -76170,6583 +83921,5030 @@ export interface components { /** Format: uri */ url?: string; }, null]>; - body: OneOf<[string, null]>; /** Format: date-time */ - created_at: OneOf<[string, null]>; + updated_at: string; /** Format: uri */ - discussion_url?: string; - /** @description Whether the release is a draft or published */ - draft: boolean; + url: string; + workflow_id: number; /** Format: uri */ - html_url: string; - id: number; - name: OneOf<[string, null]>; - node_id: string; - /** @description Whether the release is identified as a prerelease or a full release. */ - prerelease: boolean; - /** Format: date-time */ - published_at: OneOf<[string, null]>; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; + workflow_url: string; + display_title: string; + }; + }; + }; + responses: { + /** @description Resource not found */ + not_found: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Validation failed, or the endpoint has been spammed. */ + validation_failed_simple: { + content: { + "application/json": components["schemas"]["validation-error-simple"]; + }; + }; + /** @description Bad Request */ + bad_request: { + content: { + "application/json": components["schemas"]["basic-error"]; + "application/scim+json": components["schemas"]["scim-error"]; + }; + }; + /** @description Validation failed, or the endpoint has been spammed. */ + validation_failed: { + content: { + "application/json": components["schemas"]["validation-error"]; + }; + }; + /** @description Accepted */ + accepted: { + content: { + "application/json": Record; + }; + }; + /** @description Forbidden */ + forbidden: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Requires authentication */ + requires_authentication: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Not modified */ + not_modified: never; + /** @description Response */ + actions_runner_labels: { + content: { + "application/json": { total_count: number; - /** Format: uri */ - url: string; + labels: (components["schemas"]["runner-label"])[]; }; - /** @description The name of the tag. */ - tag_name: string; - /** Format: uri */ - tarball_url: OneOf<[string, null]>; - /** @description Specifies the commitish value that determines where the Git tag is created from. */ - target_commitish: string; - /** Format: uri-template */ - upload_url: string; - /** Format: uri */ - url: string; - /** Format: uri */ - zipball_url: OneOf<[string, null]>; - }) & { - assets?: (OneOf<[Record, null]>)[]; - assets_url?: string; - author?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; + }; + }; + /** @description Response */ + actions_runner_labels_readonly: { + content: { + "application/json": { + total_count: number; + labels: (components["schemas"]["runner-label"])[]; + }; + }; + }; + /** @description Service unavailable */ + service_unavailable: { + content: { + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + }; + }; + }; + /** @description Response if GitHub Advanced Security is not enabled for this repository */ + code_scanning_forbidden_read: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Forbidden Gist */ + forbidden_gist: { + content: { + "application/json": { + block?: { + reason?: string; + created_at?: string; + html_url?: OneOf<[string, null]>; + }; + message?: string; + documentation_url?: string; + }; + }; + }; + /** @description Moved permanently */ + moved_permanently: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Conflict */ + conflict: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Internal Error */ + internal_error: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Gone */ + gone: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Temporary Redirect */ + temporary_redirect: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Response if the repository is archived or if GitHub Advanced Security is not enabled for this repository */ + code_scanning_forbidden_write: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Found */ + found: never; + /** @description Unavailable due to service under maintenance. */ + porter_maintenance: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description A header with no content is returned. */ + no_content: never; + }; + parameters: { + /** @description The number of results per page (max 100). */ + "per-page": number; + /** @description Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors. */ + cursor: string; + "delivery-id": number; + /** @description Page number of the results to fetch. */ + page: number; + /** @description Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since: string; + /** @description The unique identifier of the installation. */ + "installation-id": number; + /** @description The client ID of the GitHub app. */ + "client-id": string; + "app-slug": string; + /** @description The slug version of the enterprise name or the login of an organization. */ + "enterprise-or-org": string; + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: string; + /** @description The unique identifier of the organization. */ + "org-id": number; + /** @description Only return runner groups that are allowed to be used by this organization. */ + "visible-to-organization": string; + /** @description Unique identifier of the self-hosted runner group. */ + "runner-group-id": number; + /** @description Unique identifier of the self-hosted runner. */ + "runner-id": number; + /** @description The name of a self-hosted runner's custom label. */ + "runner-label-name": string; + /** @description The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ + "tool-name": components["schemas"]["code-scanning-analysis-tool-name"]; + /** @description The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ + "tool-guid": components["schemas"]["code-scanning-analysis-tool-guid"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for results before this cursor. */ + "pagination-before": string; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for results after this cursor. */ + "pagination-after": string; + /** @description The direction to sort the results by. */ + direction: "asc" | "desc"; + /** + * @description A comma-separated list of states. If specified, only alerts with these states will be returned. + * + * Can be: `dismissed`, `fixed`, `open` + */ + "dependabot-alert-comma-separated-states": string; + /** + * @description A comma-separated list of severities. If specified, only alerts with these severities will be returned. + * + * Can be: `low`, `medium`, `high`, `critical` + */ + "dependabot-alert-comma-separated-severities": string; + /** + * @description A comma-separated list of ecosystems. If specified, only alerts for these ecosystems will be returned. + * + * Can be: `composer`, `go`, `maven`, `npm`, `nuget`, `pip`, `pub`, `rubygems`, `rust` + */ + "dependabot-alert-comma-separated-ecosystems": string; + /** @description A comma-separated list of package names. If specified, only alerts for these packages will be returned. */ + "dependabot-alert-comma-separated-packages": string; + /** @description The scope of the vulnerable dependency. If specified, only alerts with this scope will be returned. */ + "dependabot-alert-scope": "development" | "runtime"; + /** + * @description The property by which to sort the results. + * `created` means when the alert was created. + * `updated` means when the alert's state last changed. + */ + "dependabot-alert-sort": "created" | "updated"; + /** + * @description The number of results per page (max 100), starting from the first matching result. + * This parameter must not be used in combination with `last`. + */ + "pagination-first": number; + /** + * @description The number of results per page (max 100), starting from the last matching result. + * This parameter must not be used in combination with `first`. + */ + "pagination-last": number; + /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ + "secret-scanning-alert-state": "open" | "resolved"; + /** + * @description A comma-separated list of secret types to return. By default all secret types are returned. + * See "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)" + * for a complete list of secret types. + */ + "secret-scanning-alert-secret-type": string; + /** @description A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */ + "secret-scanning-alert-resolution": string; + /** @description The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved. */ + "secret-scanning-alert-sort": "created" | "updated"; + /** @description The unique identifier of the gist. */ + "gist-id": string; + /** @description The unique identifier of the comment. */ + "comment-id": number; + /** @description A list of comma separated label names. Example: `bug,ui,@high` */ + labels: string; + /** @description account_id parameter */ + "account-id": number; + /** @description The unique identifier of the plan. */ + "plan-id": number; + /** @description The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. */ + sort: "created" | "updated"; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + /** @description If `true`, show notifications marked as read. */ + all: boolean; + /** @description If `true`, only shows notifications in which the user is directly participating or mentioned. */ + participating: boolean; + /** @description Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + before: string; + /** @description The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/reference/activity#list-notifications-for-the-authenticated-user)). */ + "thread-id": number; + /** @description An organization ID. Only return organizations with an ID greater than this ID. */ + "since-org": number; + /** @description The organization name. The name is not case sensitive. */ + org: string; + /** @description The unique identifier of the repository. */ + "repository-id": number; + /** @description Only return runner groups that are allowed to be used by this repository. */ + "visible-to-repository": string; + /** @description The name of the secret. */ + "secret-name": string; + /** @description The handle for the GitHub user account. */ + username: string; + /** @description The unique identifier of the role. */ + "role-id": number; + /** @description The unique identifier of the hook. */ + "hook-id": number; + /** @description The unique identifier of the invitation. */ + "invitation-id": number; + /** @description The name of the codespace. */ + "codespace-name": string; + /** @description The unique identifier of the migration. */ + "migration-id": number; + /** @description repo_name parameter */ + "repo-name": string; + /** @description The selected visibility of the packages. Only `container` package_types currently support `internal` visibility properly. For other ecosystems `internal` is synonymous with `private`. This parameter is optional and only filters an existing result set. */ + "package-visibility": "public" | "private" | "internal"; + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + "package-type": "npm" | "maven" | "rubygems" | "docker" | "nuget" | "container"; + /** @description The name of the package. */ + "package-name": string; + /** @description Unique identifier of the package version. */ + "package-version-id": number; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. To receive an initial cursor on your first request, include an empty "before" query string. */ + "secret-scanning-pagination-before-org-repo": string; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. To receive an initial cursor on your first request, include an empty "after" query string. */ + "secret-scanning-pagination-after-org-repo": string; + /** @description The slug of the team name. */ + "team-slug": string; + /** @description The number that identifies the discussion. */ + "discussion-number": number; + /** @description The number that identifies the comment. */ + "comment-number": number; + /** @description The unique identifier of the reaction. */ + "reaction-id": number; + /** @description The unique identifier of the project. */ + "project-id": number; + /** @description The security feature to enable or disable. */ + "security-product": "dependency_graph" | "dependabot_alerts" | "dependabot_security_updates" | "advanced_security" | "secret_scanning" | "secret_scanning_push_protection"; + /** + * @description The action to take. + * + * `enable_all` means to enable the specified security feature for all repositories in the organization. + * `disable_all` means to disable the specified security feature for all repositories in the organization. + */ + "org-security-product-enablement": "enable_all" | "disable_all"; + /** @description The unique identifier of the card. */ + "card-id": number; + /** @description The unique identifier of the column. */ + "column-id": number; + /** @description The unique identifier of the artifact. */ + "artifact-id": number; + /** @description The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ + "git-ref": components["schemas"]["code-scanning-ref"]; + /** @description An explicit key or prefix for identifying the cache */ + "actions-cache-key": string; + /** @description The property to sort the results by. `created_at` means when the cache was created. `last_accessed_at` means when the cache was last accessed. `size_in_bytes` is the size of the cache in bytes. */ + "actions-cache-list-sort": "created_at" | "last_accessed_at" | "size_in_bytes"; + /** @description A key for identifying the cache. */ + "actions-cache-key-required": string; + /** @description The unique identifier of the GitHub Actions cache. */ + "cache-id": number; + /** @description The unique identifier of the job. */ + "job-id": number; + /** @description Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. */ + actor: string; + /** @description Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ + "workflow-run-branch": string; + /** @description Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://docs.github.com/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ + event: string; + /** @description Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`. */ + "workflow-run-status": "completed" | "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | "in_progress" | "queued" | "requested" | "waiting"; + /** @description Returns workflow runs created within the given date-time range. For more information on the syntax, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ + created: string; + /** @description If `true` pull requests are omitted from the response (empty array). */ + "exclude-pull-requests": boolean; + /** @description Returns workflow runs with the `check_suite_id` that you specify. */ + "workflow-run-check-suite-id": number; + /** @description Only returns workflow runs that are associated with the specified `head_sha`. */ + "workflow-run-head-sha": string; + /** @description The unique identifier of the workflow run. */ + "run-id": number; + /** @description The attempt number of the workflow run. */ + "attempt-number": number; + /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ + "workflow-id": number | string; + /** @description The unique identifier of the autolink. */ + "autolink-id": number; + /** @description The name of the branch. */ + branch: string; + /** @description The unique identifier of the check run. */ + "check-run-id": number; + /** @description The unique identifier of the check suite. */ + "check-suite-id": number; + /** @description Returns check runs with the specified `name`. */ + "check-name": string; + /** @description Returns check runs with the specified `status`. */ + status: "queued" | "in_progress" | "completed"; + /** @description The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + "alert-number": components["schemas"]["alert-number"]; + /** @description The SHA of the commit. */ + "commit-sha": string; + /** @description A comma-separated list of full manifest paths. If specified, only alerts for these manifests will be returned. */ + "dependabot-alert-comma-separated-manifests": string; + /** + * @description The number that identifies a Dependabot alert in its repository. + * You can find this at the end of the URL for a Dependabot alert within GitHub, + * or in `number` fields in the response from the + * `GET /repos/{owner}/{repo}/dependabot/alerts` operation. + */ + "dependabot-alert-number": components["schemas"]["alert-number"]; + /** @description The full path, relative to the repository root, of the dependency manifest file. */ + "manifest-path": string; + /** @description deployment_id parameter */ + "deployment-id": number; + /** @description The name of the environment. */ + "environment-name": string; + /** @description The unique identifier of the branch policy. */ + "branch-policy-id": number; + /** @description A user ID. Only return users with an ID greater than this ID. */ + "since-user": number; + /** @description The number that identifies the issue. */ + "issue-number": number; + /** @description The unique identifier of the key. */ + "key-id": number; + /** @description The number that identifies the milestone. */ + "milestone-number": number; + /** @description The number that identifies the pull request. */ + "pull-number": number; + /** @description The unique identifier of the review. */ + "review-id": number; + /** @description The unique identifier of the asset. */ + "asset-id": number; + /** @description The unique identifier of the release. */ + "release-id": number; + /** @description The unique identifier of the tag protection. */ + "tag-protection-id": number; + /** @description The time frame to display results for. */ + per: "" | "day" | "week"; + /** @description A repository ID. Only return repositories with an ID greater than this ID. */ + "since-repo": number; + /** @description Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ + order: "desc" | "asc"; + /** @description The unique identifier of the team. */ + "team-id": number; + /** @description ID of the Repository to filter on */ + "repository-id-in-query": number; + /** @description The ID of the export operation, or `latest`. Currently only `latest` is currently supported. */ + "export-id": string; + /** @description The unique identifier of the GPG key. */ + "gpg-key-id": number; + /** @description The unique identifier of the SSH signing key. */ + "ssh-signing-key-id": number; + }; + requestBodies: never; + headers: { + /** @example ; rel="next", ; rel="last" */ + link: string; + /** @example text/html */ + "content-type": string; + /** @example 0.17.4 */ + "x-common-marker-version": string; + /** @example 5000 */ + "x-rate-limit-limit": number; + /** @example 4999 */ + "x-rate-limit-remaining": number; + /** @example 1590701888 */ + "x-rate-limit-reset": number; + /** @example https://pipelines.actions.githubusercontent.com/OhgS4QRKqmgx7bKC27GKU83jnQjyeqG8oIMTge8eqtheppcmw8/_apis/pipelines/1/runs/176/signedlogcontent?urlExpires=2020-01-24T18%3A10%3A31.5729946Z&urlSigningMethod=HMACV1&urlSignature=agG73JakPYkHrh06seAkvmH7rBR4Ji4c2%2B6a2ejYh3E%3D */ + location: string; + }; + pathItems: never; +} + +export type external = Record; + +export interface operations { + + "meta/root": { + /** + * GitHub API Root + * @description Get Hypermedia links to resources accessible in GitHub's REST API + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["root"]; }; - body?: OneOf<[string, null]>; - created_at?: string; - draft?: boolean; - html_url?: string; - id?: number; - name?: OneOf<[string, null]>; - node_id?: string; - prerelease?: boolean; - published_at: OneOf<[string, null]>; - tag_name?: string; - tarball_url?: OneOf<[string, null]>; - target_commitish?: string; - upload_url?: string; - url?: string; - zipball_url?: OneOf<[string, null]>; }; - repository: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; }; - /** repository archived event */ - "webhook-repository-archived": { - /** @enum {string} */ - action: "archived"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + }; + "apps/get-authenticated": { + /** + * Get the authenticated app + * @description Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app's installations, see the "[List installations for the authenticated app](https://docs.github.com/rest/reference/apps#list-installations-for-the-authenticated-app)" endpoint. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["integration"]; + }; + }; }; - /** repository created event */ - "webhook-repository-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + }; + "apps/create-from-manifest": { + /** + * Create a GitHub App from a manifest + * @description Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://docs.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`. + */ + parameters: { + path: { + code: string; + }; }; - /** repository deleted event */ - "webhook-repository-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["integration"] & ({ + client_id: string; + client_secret: string; + webhook_secret: OneOf<[string, null]>; + pem: string; + [key: string]: unknown | undefined; + }); + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; }; - /** repository_dispatch event */ - "webhook-repository-dispatch-sample": { - action: string; - branch: string; - client_payload: OneOf<[{ - [key: string]: unknown | undefined; - }, null]>; - enterprise?: components["schemas"]["enterprise"]; - installation: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + }; + "apps/get-webhook-config-for-app": { + /** + * Get a webhook configuration for an app + * @description Returns the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; }; - /** repository edited event */ - "webhook-repository-edited": { - /** @enum {string} */ - action: "edited"; - changes: { - default_branch?: { - from: string; + }; + "apps/update-webhook-config-for-app": { + /** + * Update a webhook configuration for an app + * @description Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + requestBody: { + content: { + "application/json": { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; }; - description?: { - from: OneOf<[string, null]>; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["webhook-config"]; }; - homepage?: { - from: OneOf<[string, null]>; + }; + }; + }; + "apps/list-webhook-deliveries": { + /** + * List deliveries for an app webhook + * @description Returns a list of webhook deliveries for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": (components["schemas"]["hook-delivery-item"])[]; }; - topics?: { - from?: OneOf<[(string)[], null]>; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "apps/get-webhook-delivery": { + /** + * Get a delivery for an app webhook + * @description Returns a delivery for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["hook-delivery"]; }; }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; }; - /** repository_import event */ - "webhook-repository-import": { - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - /** @enum {string} */ - status: "success" | "cancelled" | "failure"; + }; + "apps/redeliver-webhook-delivery": { + /** + * Redeliver a delivery for an app webhook + * @description Redeliver a delivery for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + responses: { + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; }; - /** repository privatized event */ - "webhook-repository-privatized": { - /** @enum {string} */ - action: "privatized"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + }; + "apps/list-installations": { + /** + * List installations for the authenticated app + * @description You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * + * The permissions the installation has are included under the `permissions` key. + */ + parameters?: { + query?: { + outdated?: string; + }; }; - /** repository publicized event */ - "webhook-repository-publicized": { - /** @enum {string} */ - action: "publicized"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + responses: { + /** @description The permissions the installation has are included under the `permissions` key. */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": (components["schemas"]["installation"])[]; + }; + }; }; - /** repository renamed event */ - "webhook-repository-renamed": { - /** @enum {string} */ - action: "renamed"; - changes: { - repository: { - name: { - from: string; - }; + }; + "apps/get-installation": { + /** + * Get an installation for the authenticated app + * @description Enables an authenticated GitHub App to find an installation's information using the installation id. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["installation"]; }; }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + 404: components["responses"]["not_found"]; }; - /** repository transferred event */ - "webhook-repository-transferred": { - /** @enum {string} */ - action: "transferred"; - changes: { - owner: { - from: { - /** Organization */ - organization?: { - /** Format: uri */ - avatar_url: string; - description: OneOf<[string, null]>; - /** Format: uri */ - events_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url?: string; - id: number; - /** Format: uri */ - issues_url: string; - login: string; - /** Format: uri-template */ - members_url: string; - node_id: string; - /** Format: uri-template */ - public_members_url: string; - /** Format: uri */ - repos_url: string; - /** Format: uri */ - url: string; - }; - /** User */ - user?: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - }; + }; + "apps/delete-installation": { + /** + * Delete an installation for the authenticated app + * @description Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/rest/reference/apps/#suspend-an-app-installation)" endpoint. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + responses: { + /** @description Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + "apps/create-installation-access-token": { + /** + * Create an installation access token for an app + * @description Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + requestBody?: { + content: { + "application/json": { + /** @description List of repository names that the token should have access to */ + repositories?: (string)[]; + /** @description List of repository IDs that the token should have access to */ + repository_ids?: (number)[]; + permissions?: components["schemas"]["app-permissions"]; }; }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - }; - /** repository unarchived event */ - "webhook-repository-unarchived": { - /** @enum {string} */ - action: "unarchived"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; }; - /** repository_vulnerability_alert create event */ - "webhook-repository-vulnerability-alert-create": { - /** @enum {string} */ - action: "create"; - alert: ({ - affected_package_name: string; - affected_range: string; - created_at: string; - dismiss_reason?: string; - dismissed_at?: string; - /** User */ - dismisser?: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - external_identifier: string; - /** Format: uri */ - external_reference: OneOf<[string, null]>; - fix_reason?: string; - /** Format: date-time */ - fixed_at?: string; - fixed_in?: string; - ghsa_id: string; - id: number; - node_id: string; - number: number; - severity: string; - /** @enum {string} */ - state: "open" | "dismissed" | "fixed"; - }) & { - affected_package_name?: string; - affected_range?: string; - created_at?: string; - external_identifier?: string; - external_reference?: OneOf<[string, null]>; - fixed_in?: string; - ghsa_id?: string; - id?: number; - node_id?: string; - number?: number; - severity?: string; - /** @enum {string} */ - state: "open"; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["installation-token"]; + }; }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; - /** repository_vulnerability_alert dismiss event */ - "webhook-repository-vulnerability-alert-dismiss": { - /** @enum {string} */ - action: "dismiss"; - alert: ({ - affected_package_name: string; - affected_range: string; - created_at: string; - dismiss_comment?: OneOf<[string, null]>; - dismiss_reason?: string; - dismissed_at?: string; - /** User */ - dismisser?: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - external_identifier: string; - /** Format: uri */ - external_reference: OneOf<[string, null]>; - fix_reason?: string; - /** Format: date-time */ - fixed_at?: string; - fixed_in?: string; - ghsa_id: string; - id: number; - node_id: string; - number: number; - severity: string; - /** @enum {string} */ - state: "open" | "dismissed" | "fixed"; - }) & ({ - affected_package_name?: string; - affected_range?: string; - created_at?: string; - dismiss_comment?: OneOf<[string, null]>; - dismiss_reason: string; - dismissed_at: string; - /** User */ - dismisser: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - external_identifier?: string; - external_reference?: OneOf<[string, null]>; - fixed_in?: string; - ghsa_id?: string; - id?: number; - node_id?: string; - number?: number; - severity?: string; - /** @enum {string} */ - state: "dismissed"; - }); - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + }; + "apps/suspend-installation": { + /** + * Suspend an app installation + * @description Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + responses: { + /** @description Response */ + 204: never; + 404: components["responses"]["not_found"]; }; - /** repository_vulnerability_alert reopen event */ - "webhook-repository-vulnerability-alert-reopen": { - /** @enum {string} */ - action: "reopen"; - alert: ({ - affected_package_name: string; - affected_range: string; - created_at: string; - dismiss_reason?: string; - dismissed_at?: string; - /** User */ - dismisser?: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - external_identifier: string; - /** Format: uri */ - external_reference: OneOf<[string, null]>; - fix_reason?: string; - /** Format: date-time */ - fixed_at?: string; - fixed_in?: string; - ghsa_id: string; - id: number; - node_id: string; - number: number; - severity: string; - /** @enum {string} */ - state: "open" | "dismissed" | "fixed"; - }) & { - affected_package_name?: string; - affected_range?: string; - created_at?: string; - external_identifier?: string; - external_reference?: OneOf<[string, null]>; - fixed_in?: string; - ghsa_id?: string; - id?: number; - node_id?: string; - number?: number; - severity?: string; - /** @enum {string} */ - state: "open"; + }; + "apps/unsuspend-installation": { + /** + * Unsuspend an app installation + * @description Removes a GitHub App installation suspension. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + responses: { + /** @description Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + "apps/delete-authorization": { + /** + * Delete an app authorization + * @description OAuth application owners can revoke a grant for their OAuth application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. + * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). + */ + requestBody: { + content: { + "application/json": { + /** @description The OAuth access token used to authenticate to the GitHub API. */ + access_token: string; + }; }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; }; - /** repository_vulnerability_alert resolve event */ - "webhook-repository-vulnerability-alert-resolve": { - /** @enum {string} */ - action: "resolve"; - alert: ({ - affected_package_name: string; - affected_range: string; - created_at: string; - dismiss_reason?: string; - dismissed_at?: string; - /** User */ - dismisser?: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - external_identifier: string; - /** Format: uri */ - external_reference: OneOf<[string, null]>; - fix_reason?: string; - /** Format: date-time */ - fixed_at?: string; - fixed_in?: string; - ghsa_id: string; - id: number; - node_id: string; - number: number; - severity: string; - /** @enum {string} */ - state: "open" | "dismissed" | "fixed"; - }) & ({ - affected_package_name?: string; - affected_range?: string; - created_at?: string; - external_identifier?: string; - external_reference?: OneOf<[string, null]>; - fix_reason?: string; - /** Format: date-time */ - fixed_at?: string; - fixed_in?: string; - ghsa_id?: string; - id?: number; - node_id?: string; - number?: number; - severity?: string; - /** @enum {string} */ - state: "fixed" | "open"; - }); - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + responses: { + /** @description Response */ + 204: never; + 422: components["responses"]["validation_failed"]; }; - /** secret_scanning_alert created event */ - "webhook-secret-scanning-alert-created": { - /** @enum {string} */ - action: "created"; - alert: components["schemas"]["secret-scanning-alert"]; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; + }; + "apps/check-token": { + /** + * Check a token + * @description OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the OAuth application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. + */ + requestBody: { + content: { + "application/json": { + /** @description The access_token of the OAuth application. */ + access_token: string; + }; + }; }; - /** Secret Scanning Alert Location Created Event */ - "webhook-secret-scanning-alert-location-created": { - /** @enum {string} */ - action?: "created"; - alert: components["schemas"]["secret-scanning-alert"]; - installation?: components["schemas"]["simple-installation"]; - location: components["schemas"]["secret-scanning-location"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; - /** Secret Scanning Alert Location Created Event */ - "webhook-secret-scanning-alert-location-created-form-encoded": { - /** @description A URL-encoded string of the secret_scanning_alert_location.created JSON payload. The decoded payload is a JSON object. */ - payload: string; + }; + "apps/delete-token": { + /** + * Delete an app token + * @description OAuth application owners can revoke a single token for an OAuth application. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. + */ + requestBody: { + content: { + "application/json": { + /** @description The OAuth access token used to authenticate to the GitHub API. */ + access_token: string; + }; + }; }; - /** secret_scanning_alert reopened event */ - "webhook-secret-scanning-alert-reopened": { - /** @enum {string} */ - action: "reopened"; - alert: components["schemas"]["secret-scanning-alert"]; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; + responses: { + /** @description Response */ + 204: never; + 422: components["responses"]["validation_failed"]; + }; + }; + "apps/reset-token": { + /** + * Reset a token + * @description OAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + */ + requestBody: { + content: { + "application/json": { + /** @description The access_token of the OAuth application. */ + access_token: string; + }; + }; }; - /** secret_scanning_alert resolved event */ - "webhook-secret-scanning-alert-resolved": { - /** @enum {string} */ - action: "resolved"; - alert: { - created_at?: components["schemas"]["alert-created-at"]; - html_url?: components["schemas"]["alert-html-url"]; - /** - * Format: uri - * @description The REST API URL of the code locations for this alert. - */ - locations_url?: string; - number?: components["schemas"]["alert-number"]; - /** @description Whether push protection was bypassed for the detected secret. */ - push_protection_bypassed?: OneOf<[boolean, null]>; - /** - * Format: date-time - * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - push_protection_bypassed_at?: OneOf<[string, null]>; - push_protection_bypassed_by?: null | components["schemas"]["simple-user"]; - /** - * @description **Required when the `state` is `resolved`.** The reason for resolving the alert. - * @enum {string|null} - */ - resolution?: "" | "false_positive" | "wont_fix" | "revoked" | "used_in_tests" | "pattern_deleted" | "pattern_edited" | null; - /** - * Format: date-time - * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - resolved_at?: OneOf<[string, null]>; - resolved_by?: null | components["schemas"]["simple-user"]; - /** @description An optional comment to resolve an alert. */ - resolution_comment?: OneOf<[string, null]>; - /** @description The secret that was detected. */ - secret?: string; - /** @description The type of secret that secret scanning detected. */ - secret_type?: string; - /** - * @description User-friendly name for the detected secret, matching the `secret_type`. - * For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." - */ - secret_type_display_name?: string; - state?: components["schemas"]["secret-scanning-alert-state"]; - updated_at?: components["schemas"]["alert-updated-at"]; - url?: components["schemas"]["alert-url"]; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["authorization"]; + }; }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; + 422: components["responses"]["validation_failed"]; }; - /** secret_scanning_alert revoked event */ - "webhook-secret-scanning-alert-revoked": { - /** @enum {string} */ - action: "revoked"; - alert: components["schemas"]["secret-scanning-alert"]; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; + }; + "apps/scope-token": { + /** + * Create a scoped access token + * @description Use a non-scoped user-to-server OAuth access token to create a repository scoped and/or permission scoped user-to-server OAuth access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + */ + requestBody: { + content: { + "application/json": { + /** @description The OAuth access token used to authenticate to the GitHub API. */ + access_token: string; + /** @description The name of the user or organization to scope the user-to-server access token to. **Required** unless `target_id` is specified. */ + target?: string; + /** @description The ID of the user or organization to scope the user-to-server access token to. **Required** unless `target` is specified. */ + target_id?: number; + /** @description The list of repository names to scope the user-to-server access token to. `repositories` may not be specified if `repository_ids` is specified. */ + repositories?: (string)[]; + /** @description The list of repository IDs to scope the user-to-server access token to. `repository_ids` may not be specified if `repositories` is specified. */ + repository_ids?: (number)[]; + permissions?: components["schemas"]["app-permissions"]; + }; + }; }; - /** security_advisory performed event */ - "webhook-security-advisory-performed": { - /** @enum {string} */ - action: "performed"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - /** @description The details of the security advisory, including summary, description, and severity. */ - security_advisory: { - cvss: { - score: number; - vector_string: OneOf<[string, null]>; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["authorization"]; }; - cwes: ({ - cwe_id: string; - name: string; - })[]; - description: string; - ghsa_id: string; - identifiers: ({ - type: string; - value: string; - })[]; - published_at: string; - references: ({ - /** Format: uri */ - url: string; - })[]; - severity: string; - summary: string; - updated_at: string; - vulnerabilities: ({ - first_patched_version: OneOf<[{ - identifier: string; - }, null]>; - package: { - ecosystem: string; - name: string; - }; - severity: string; - vulnerable_version_range: string; - })[]; - withdrawn_at: OneOf<[string, null]>; }; - sender?: components["schemas"]["simple-user"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; - /** security_advisory published event */ - "webhook-security-advisory-published": { - /** @enum {string} */ - action: "published"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - /** @description The details of the security advisory, including summary, description, and severity. */ - security_advisory: { - cvss: { - score: number; - vector_string: OneOf<[string, null]>; + }; + "apps/get-by-slug": { + /** + * Get an app + * @description **Note**: The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`). + * + * If the GitHub App you specify is public, you can access this endpoint without authenticating. If the GitHub App you specify is private, you must authenticate with a [personal access token](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["integration"]; }; - cwes: ({ - cwe_id: string; - name: string; - })[]; - description: string; - ghsa_id: string; - identifiers: ({ - type: string; - value: string; - })[]; - published_at: string; - references: ({ - /** Format: uri */ - url: string; - })[]; - severity: string; - summary: string; - updated_at: string; - vulnerabilities: ({ - first_patched_version: OneOf<[{ - identifier: string; - }, null]>; - package: { - ecosystem: string; - name: string; - }; - severity: string; - vulnerable_version_range: string; - })[]; - withdrawn_at: OneOf<[string, null]>; }; - sender?: components["schemas"]["simple-user"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; - /** security_advisory updated event */ - "webhook-security-advisory-updated": { - /** @enum {string} */ - action: "updated"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - /** @description The details of the security advisory, including summary, description, and severity. */ - security_advisory: { - cvss: { - score: number; - vector_string: OneOf<[string, null]>; + }; + "codes-of-conduct/get-all-codes-of-conduct": { + /** Get all codes of conduct */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": (components["schemas"]["code-of-conduct"])[]; }; - cwes: ({ - cwe_id: string; - name: string; - })[]; - description: string; - ghsa_id: string; - identifiers: ({ - type: string; - value: string; - })[]; - published_at: string; - references: ({ - /** Format: uri */ - url: string; - })[]; - severity: string; - summary: string; - updated_at: string; - vulnerabilities: ({ - first_patched_version: OneOf<[{ - identifier: string; - }, null]>; - package: { - ecosystem: string; - name: string; - }; - severity: string; - vulnerable_version_range: string; - })[]; - withdrawn_at: OneOf<[string, null]>; }; - sender?: components["schemas"]["simple-user"]; + 304: components["responses"]["not_modified"]; }; - /** security_advisory withdrawn event */ - "webhook-security-advisory-withdrawn": { - /** @enum {string} */ - action: "withdrawn"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - /** @description The details of the security advisory, including summary, description, and severity. */ - security_advisory: { - cvss: { - score: number; - vector_string: OneOf<[string, null]>; + }; + "codes-of-conduct/get-conduct-code": { + /** Get a code of conduct */ + parameters: { + path: { + key: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-of-conduct"]; }; - cwes: ({ - cwe_id: string; - name: string; - })[]; - description: string; - ghsa_id: string; - identifiers: ({ - type: string; - value: string; - })[]; - published_at: string; - references: ({ - /** Format: uri */ - url: string; - })[]; - severity: string; - summary: string; - updated_at: string; - vulnerabilities: ({ - first_patched_version: OneOf<[{ - identifier: string; - }, null]>; - package: { - ecosystem: string; - name: string; - }; - severity: string; - vulnerable_version_range: string; - })[]; - withdrawn_at: string; }; - sender?: components["schemas"]["simple-user"]; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; }; - /** security_and_analysis event */ - "webhook-security-and-analysis": { - changes: { - from?: { - security_and_analysis?: components["schemas"]["security-and-analysis"]; + }; + "emojis/get": { + /** + * Get emojis + * @description Lists all the emojis available to use on GitHub. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + [key: string]: string | undefined; + }; }; }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["full-repository"]; - sender?: components["schemas"]["simple-user"]; + 304: components["responses"]["not_modified"]; }; - /** sponsorship cancelled event */ - "webhook-sponsorship-cancelled": { - /** @enum {string} */ - action: "cancelled"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - sponsorship: { - created_at: string; - maintainer?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; + }; + "enterprise-admin/get-server-statistics": { + /** + * Get GitHub Enterprise Server statistics + * @description Returns aggregate usage metrics for your GitHub Enterprise Server 3.5+ instance for a specified time period up to 365 days. + * + * To use this endpoint, your GitHub Enterprise Server instance must be connected to GitHub Enterprise Cloud using GitHub Connect. You must enable Server Statistics, and for the API request provide your enterprise account name or organization name connected to the GitHub Enterprise Server. For more information, see "[Enabling Server Statistics for your enterprise](/admin/configuration/configuring-github-connect/enabling-server-statistics-for-your-enterprise)" in the GitHub Enterprise Server documentation. + * + * You'll need to use a personal access token: + * - If you connected your GitHub Enterprise Server to an enterprise account and enabled Server Statistics, you'll need a personal access token with the `read:enterprise` permission. + * - If you connected your GitHub Enterprise Server to an organization account and enabled Server Statistics, you'll need a personal access token with the `read:org` permission. + * + * For more information on creating a personal access token, see "[Creating a personal access token](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." + */ + parameters?: { + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ + query?: { + date_start?: string; + date_end?: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["server-statistics"]; }; - node_id: string; - privacy_level: string; - /** User */ - sponsor: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** User */ - sponsorable: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** - * Sponsorship Tier - * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. - */ - tier: { - created_at: string; - description: string; - is_custom_ammount?: boolean; - is_custom_amount?: boolean; - is_one_time: boolean; - monthly_price_in_cents: number; - monthly_price_in_dollars: number; - name: string; - node_id: string; + }; + }; + }; + "actions/get-actions-cache-usage-for-enterprise": { + /** + * Get GitHub Actions cache usage for an enterprise + * @description Gets the total GitHub Actions cache usage for an enterprise. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["actions-cache-usage-org-enterprise"]; }; }; }; - /** sponsorship created event */ - "webhook-sponsorship-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - sponsorship: { - created_at: string; - maintainer?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - node_id: string; - privacy_level: string; - /** User */ - sponsor: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** User */ - sponsorable: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** - * Sponsorship Tier - * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. - */ - tier: { - created_at: string; - description: string; - is_custom_ammount?: boolean; - is_custom_amount?: boolean; - is_one_time: boolean; - monthly_price_in_cents: number; - monthly_price_in_dollars: number; - name: string; - node_id: string; + }; + "enterprise-admin/get-github-actions-permissions-enterprise": { + /** + * Get GitHub Actions permissions for an enterprise + * @description Gets the GitHub Actions permissions policy for organizations and allowed actions and reusable workflows in an enterprise. + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-enterprise-permissions"]; }; }; }; - /** sponsorship edited event */ - "webhook-sponsorship-edited": { - /** @enum {string} */ - action: "edited"; - changes: { - privacy_level?: { - /** @description The `edited` event types include the details about the change when someone edits a sponsorship to change the privacy. */ - from: string; + }; + "enterprise-admin/set-github-actions-permissions-enterprise": { + /** + * Set GitHub Actions permissions for an enterprise + * @description Sets the GitHub Actions permissions policy for organizations and allowed actions and reusable workflows in an enterprise. + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + requestBody: { + content: { + "application/json": { + enabled_organizations: components["schemas"]["enabled-organizations"]; + allowed_actions?: components["schemas"]["allowed-actions"]; }; }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - sponsorship: { - created_at: string; - maintainer?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; + }; + responses: { + /** @description Response */ + 204: never; + }; + }; + "enterprise-admin/list-selected-organizations-enabled-github-actions-enterprise": { + /** + * List selected organizations enabled for GitHub Actions in an enterprise + * @description Lists the organizations that are selected to have GitHub Actions enabled in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + organizations: (components["schemas"]["organization-simple"])[]; + }; }; - node_id: string; - privacy_level: string; - /** User */ - sponsor: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** User */ - sponsorable: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** - * Sponsorship Tier - * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. - */ - tier: { - created_at: string; - description: string; - is_custom_ammount?: boolean; - is_custom_amount?: boolean; - is_one_time: boolean; - monthly_price_in_cents: number; - monthly_price_in_dollars: number; - name: string; - node_id: string; + }; + }; + }; + "enterprise-admin/set-selected-organizations-enabled-github-actions-enterprise": { + /** + * Set selected organizations enabled for GitHub Actions in an enterprise + * @description Replaces the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + requestBody: { + content: { + "application/json": { + /** @description List of organization IDs to enable for GitHub Actions. */ + selected_organization_ids: (number)[]; }; }; }; - /** sponsorship pending_cancellation event */ - "webhook-sponsorship-pending-cancellation": { - /** @enum {string} */ - action: "pending_cancellation"; - /** @description The `pending_cancellation` and `pending_tier_change` event types will include the date the cancellation or tier change will take effect. */ - effective_date?: string; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - sponsorship: { - created_at: string; - maintainer?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; + responses: { + /** @description Response */ + 204: never; + }; + }; + "enterprise-admin/enable-selected-organization-github-actions-enterprise": { + /** + * Enable a selected organization for GitHub Actions in an enterprise + * @description Adds an organization to the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + responses: { + /** @description Response */ + 204: never; + }; + }; + "enterprise-admin/disable-selected-organization-github-actions-enterprise": { + /** + * Disable a selected organization for GitHub Actions in an enterprise + * @description Removes an organization from the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + responses: { + /** @description Response */ + 204: never; + }; + }; + "enterprise-admin/get-allowed-actions-enterprise": { + /** + * Get allowed actions and reusable workflows for an enterprise + * @description Gets the selected actions and reusable workflows that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["selected-actions"]; }; - node_id: string; - privacy_level: string; - /** User */ - sponsor: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** User */ - sponsorable: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** - * Sponsorship Tier - * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. - */ - tier: { - created_at: string; - description: string; - is_custom_ammount?: boolean; - is_custom_amount?: boolean; - is_one_time: boolean; - monthly_price_in_cents: number; - monthly_price_in_dollars: number; - name: string; - node_id: string; + }; + }; + }; + "enterprise-admin/set-allowed-actions-enterprise": { + /** + * Set allowed actions and reusable workflows for an enterprise + * @description Sets the actions and reusable workflows that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + requestBody: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + responses: { + /** @description Response */ + 204: never; + }; + }; + "actions/get-github-actions-default-workflow-permissions-enterprise": { + /** + * Get default workflow permissions for an enterprise + * @description Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an enterprise, + * as well as whether GitHub Actions can submit approving pull request reviews. For more information, see + * "[Enforcing a policy for workflow permissions in your enterprise](https://docs.github.com/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-workflow-permissions-in-your-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint. + */ + responses: { + /** @description Success response */ + 200: { + content: { + "application/json": components["schemas"]["actions-get-default-workflow-permissions"]; }; }; }; - /** sponsorship pending_tier_change event */ - "webhook-sponsorship-pending-tier-change": { - /** @enum {string} */ - action: "pending_tier_change"; - changes: { - tier: { - /** - * Sponsorship Tier - * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. - */ - from: { - created_at: string; - description: string; - is_custom_ammount?: boolean; - is_custom_amount?: boolean; - is_one_time: boolean; - monthly_price_in_cents: number; - monthly_price_in_dollars: number; - name: string; - node_id: string; + }; + "actions/set-github-actions-default-workflow-permissions-enterprise": { + /** + * Set default workflow permissions for an enterprise + * @description Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an enterprise, and sets + * whether GitHub Actions can submit approving pull request reviews. For more information, see + * "[Enforcing a policy for workflow permissions in your enterprise](https://docs.github.com/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-workflow-permissions-in-your-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint. + */ + requestBody: { + content: { + "application/json": components["schemas"]["actions-set-default-workflow-permissions"]; + }; + }; + responses: { + /** @description Success response */ + 204: never; + }; + }; + "enterprise-admin/list-self-hosted-runner-groups-for-enterprise": { + /** + * List self-hosted runner groups for an enterprise + * @description Lists all self-hosted runner groups for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + runner_groups: (components["schemas"]["runner-groups-enterprise"])[]; }; }; }; - /** @description The `pending_cancellation` and `pending_tier_change` event types will include the date the cancellation or tier change will take effect. */ - effective_date?: string; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - sponsorship: { - created_at: string; - maintainer?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - node_id: string; - privacy_level: string; - /** User */ - sponsor: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** User */ - sponsorable: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** - * Sponsorship Tier - * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. - */ - tier: { - created_at: string; - description: string; - is_custom_ammount?: boolean; - is_custom_amount?: boolean; - is_one_time: boolean; - monthly_price_in_cents: number; - monthly_price_in_dollars: number; - name: string; - node_id: string; - }; - }; }; - /** sponsorship tier_changed event */ - "webhook-sponsorship-tier-changed": { - /** @enum {string} */ - action: "tier_changed"; - changes: { - tier: { + }; + "enterprise-admin/create-self-hosted-runner-group-for-enterprise": { + /** + * Create a self-hosted runner group for an enterprise + * @description Creates a new self-hosted runner group for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + requestBody: { + content: { + "application/json": { + /** @description Name of the runner group. */ + name: string; /** - * Sponsorship Tier - * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. + * @description Visibility of a runner group. You can select all organizations or select individual organization. + * @enum {string} */ - from: { - created_at: string; - description: string; - is_custom_ammount?: boolean; - is_custom_amount?: boolean; - is_one_time: boolean; - monthly_price_in_cents: number; - monthly_price_in_dollars: number; - name: string; - node_id: string; - }; + visibility?: "selected" | "all"; + /** @description List of organization IDs that can access the runner group. */ + selected_organization_ids?: (number)[]; + /** @description List of runner IDs to add to the runner group. */ + runners?: (number)[]; + /** + * @description Whether the runner group can be used by `public` repositories. + * @default false + */ + allows_public_repositories?: boolean; + /** + * @description If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array. + * @default false + */ + restricted_to_workflows?: boolean; + /** @description List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`. */ + selected_workflows?: (string)[]; }; }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - sponsorship: { - created_at: string; - maintainer?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - node_id: string; - privacy_level: string; - /** User */ - sponsor: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** User */ - sponsorable: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** - * Sponsorship Tier - * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. - */ - tier: { - created_at: string; - description: string; - is_custom_ammount?: boolean; - is_custom_amount?: boolean; - is_one_time: boolean; - monthly_price_in_cents: number; - monthly_price_in_dollars: number; - name: string; - node_id: string; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["runner-groups-enterprise"]; }; }; }; - /** star created event */ - "webhook-star-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - /** @description The time the star was created. This is a timestamp in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. Will be `null` for the `deleted` action. */ - starred_at: OneOf<[string, null]>; + }; + "enterprise-admin/get-self-hosted-runner-group-for-enterprise": { + /** + * Get a self-hosted runner group for an enterprise + * @description Gets a specific self-hosted runner group for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["runner-groups-enterprise"]; + }; + }; }; - /** star deleted event */ - "webhook-star-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - /** @description The time the star was created. This is a timestamp in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. Will be `null` for the `deleted` action. */ - starred_at: null; + }; + "enterprise-admin/delete-self-hosted-runner-group-from-enterprise": { + /** + * Delete a self-hosted runner group from an enterprise + * @description Deletes a self-hosted runner group for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + responses: { + /** @description Response */ + 204: never; }; - /** status event */ - "webhook-status": { - /** Format: uri */ - avatar_url?: OneOf<[string, null]>; - /** @description An array of branch objects containing the status' SHA. Each branch contains the given SHA, but the SHA may or may not be the head of the branch. The array includes a maximum of 10 branches. */ - branches: ({ - commit: { - sha: OneOf<[string, null]>; - /** Format: uri */ - url: OneOf<[string, null]>; - }; - name: string; - protected: boolean; - })[]; - commit: { - /** User */ - author: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id?: number; - login?: string; + }; + "enterprise-admin/update-self-hosted-runner-group-for-enterprise": { + /** + * Update a self-hosted runner group for an enterprise + * @description Updates the `name` and `visibility` of a self-hosted runner group in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + requestBody?: { + content: { + "application/json": { + /** @description Name of the runner group. */ name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** Format: uri */ - comments_url: string; - commit: { - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: OneOf<[string, null]>; - /** @description The git author's name. */ - name: string; - username?: string; - } & { - date: string; - email?: string; - name?: string; - }; - comment_count: number; - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: OneOf<[string, null]>; - /** @description The git author's name. */ - name: string; - username?: string; - } & { - date: string; - email?: string; - name?: string; - }; - message: string; - tree: { - sha: string; - /** Format: uri */ - url: string; + /** + * @description Visibility of a runner group. You can select all organizations or select individual organizations. + * @default all + * @enum {string} + */ + visibility?: "selected" | "all"; + /** + * @description Whether the runner group can be used by `public` repositories. + * @default false + */ + allows_public_repositories?: boolean; + /** + * @description If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array. + * @default false + */ + restricted_to_workflows?: boolean; + /** @description List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`. */ + selected_workflows?: (string)[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["runner-groups-enterprise"]; + }; + }; + }; + }; + "enterprise-admin/list-org-access-to-self-hosted-runner-group-in-enterprise": { + /** + * List organization access to a self-hosted runner group in an enterprise + * @description Lists the organizations with access to a self-hosted runner group. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + organizations: (components["schemas"]["organization-simple"])[]; }; - /** Format: uri */ - url: string; - verification: { - payload: OneOf<[string, null]>; - /** @enum {string} */ - reason: "expired_key" | "not_signing_key" | "gpgverify_error" | "gpgverify_unavailable" | "unsigned" | "unknown_signature_type" | "no_user" | "unverified_email" | "bad_email" | "unknown_key" | "malformed_signature" | "invalid" | "valid" | "bad_cert" | "ocsp_pending"; - signature: OneOf<[string, null]>; - verified: boolean; + }; + }; + }; + }; + "enterprise-admin/set-org-access-to-self-hosted-runner-group-in-enterprise": { + /** + * Set organization access for a self-hosted runner group in an enterprise + * @description Replaces the list of organizations that have access to a self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + requestBody: { + content: { + "application/json": { + /** @description List of organization IDs that can access the runner group. */ + selected_organization_ids: (number)[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: never; + }; + }; + "enterprise-admin/add-org-access-to-self-hosted-runner-group-in-enterprise": { + /** + * Add organization access to a self-hosted runner group in an enterprise + * @description Adds an organization to the list of selected organizations that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an enterprise](#create-a-self-hosted-runner-group-for-an-enterprise)." + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + responses: { + /** @description Response */ + 204: never; + }; + }; + "enterprise-admin/remove-org-access-to-self-hosted-runner-group-in-enterprise": { + /** + * Remove organization access to a self-hosted runner group in an enterprise + * @description Removes an organization from the list of selected organizations that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an enterprise](#create-a-self-hosted-runner-group-for-an-enterprise)." + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + responses: { + /** @description Response */ + 204: never; + }; + }; + "enterprise-admin/list-self-hosted-runners-in-group-for-enterprise": { + /** + * List self-hosted runners in a group for an enterprise + * @description Lists the self-hosted runners that are in a specific enterprise group. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + runners: (components["schemas"]["runner"])[]; }; }; - /** User */ - committer: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id?: number; - login?: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** Format: uri */ - html_url: string; - node_id: string; - parents: ({ - /** Format: uri */ - html_url: string; - sha: string; - /** Format: uri */ - url: string; - })[]; - sha: string; - /** Format: uri */ - url: string; }; - context: string; - created_at: string; - /** @description The optional human-readable description added to the status. */ - description: OneOf<[string, null]>; - enterprise?: components["schemas"]["enterprise"]; - /** @description The unique identifier of the status. */ - id: number; - installation?: components["schemas"]["simple-installation"]; - name: string; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - /** @description The Commit SHA. */ - sha: string; - /** - * @description The new state. Can be `pending`, `success`, `failure`, or `error`. - * @enum {string} - */ - state: "pending" | "success" | "failure" | "error"; - /** @description The optional link added to the status. */ - target_url: OneOf<[string, null]>; - updated_at: string; }; - /** team_add event */ - "webhook-team-add": { - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - team: { - deleted?: boolean; - /** @description Description of the team */ - description?: OneOf<[string, null]>; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: OneOf<[{ - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, null]>; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; + }; + "enterprise-admin/set-self-hosted-runners-in-group-for-enterprise": { + /** + * Set self-hosted runners in a group for an enterprise + * @description Replaces the list of self-hosted runners that are part of an enterprise runner group. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + requestBody: { + content: { + "application/json": { + /** @description List of runner IDs to add to the runner group. */ + runners: (number)[]; + }; }; }; - /** team added_to_repository event */ - "webhook-team-added-to-repository": { - /** @enum {string} */ - action: "added_to_repository"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple"]; - /** - * Repository - * @description A git repository - */ - repository?: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: OneOf<[string, null]>; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: OneOf<[string, null]>; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: OneOf<[string, null]>; - /** Format: uri */ - languages_url: string; - /** License */ - license: OneOf<[{ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: OneOf<[string, null]>; - }, null]>; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: OneOf<[string, null]>; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; + responses: { + /** @description Response */ + 204: never; + }; + }; + "enterprise-admin/add-self-hosted-runner-to-group-for-enterprise": { + /** + * Add a self-hosted runner to a group for an enterprise + * @description Adds a self-hosted runner to a runner group configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` + * scope to use this endpoint. + */ + responses: { + /** @description Response */ + 204: never; + }; + }; + "enterprise-admin/remove-self-hosted-runner-from-group-for-enterprise": { + /** + * Remove a self-hosted runner from a group for an enterprise + * @description Removes a self-hosted runner from a group configured in an enterprise. The runner is then returned to the default group. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + responses: { + /** @description Response */ + 204: never; + }; + }; + "enterprise-admin/list-self-hosted-runners-for-enterprise": { + /** + * List self-hosted runners for an enterprise + * @description Lists all self-hosted runners configured for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count?: number; + runners?: (components["schemas"]["runner"])[]; + }; + }; + }; + }; + }; + "enterprise-admin/list-runner-applications-for-enterprise": { + /** + * List runner applications for an enterprise + * @description Lists binaries for the runner application that you can download and run. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": (components["schemas"]["runner-application"])[]; + }; + }; + }; + }; + "enterprise-admin/create-registration-token-for-enterprise": { + /** + * Create a registration token for an enterprise + * @description Returns a token that you can pass to the `config` script. The token expires after one hour. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + * + * #### Example using registration token + * + * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * + * ``` + * ./config.sh --url https://github.com/enterprises/octo-enterprise --token TOKEN + * ``` + */ + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["authentication-token"]; }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string; - /** Format: uri-template */ - releases_url: string; - role_name?: OneOf<[string, null]>; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: (string)[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; }; - sender?: components["schemas"]["simple-user"]; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - team: { - deleted?: boolean; - /** @description Description of the team */ - description?: OneOf<[string, null]>; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: OneOf<[{ - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, null]>; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; + }; + }; + "enterprise-admin/create-remove-token-for-enterprise": { + /** + * Create a remove token for an enterprise + * @description Returns a token that you can pass to the `config` script to remove a self-hosted runner from an enterprise. The token expires after one hour. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + * + * #### Example using remove token + * + * To remove your self-hosted runner from an enterprise, replace `TOKEN` with the remove token provided by this + * endpoint. + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + */ + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["authentication-token"]; + }; }; }; - /** team created event */ - "webhook-team-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple"]; - /** - * Repository - * @description A git repository - */ - repository?: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: OneOf<[string, null]>; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: OneOf<[string, null]>; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: OneOf<[string, null]>; - /** Format: uri */ - languages_url: string; - /** License */ - license: OneOf<[{ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: OneOf<[string, null]>; - }, null]>; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: OneOf<[string, null]>; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; + }; + "enterprise-admin/get-self-hosted-runner-for-enterprise": { + /** + * Get a self-hosted runner for an enterprise + * @description Gets a specific self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["runner"]; + }; + }; + }; + }; + "enterprise-admin/delete-self-hosted-runner-from-enterprise": { + /** + * Delete a self-hosted runner from an enterprise + * @description Forces the removal of a self-hosted runner from an enterprise. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + responses: { + /** @description Response */ + 204: never; + }; + }; + "enterprise-admin/list-labels-for-self-hosted-runner-for-enterprise": { + /** + * List labels for a self-hosted runner for an enterprise + * @description Lists all labels for a self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + }; + }; + "enterprise-admin/set-custom-labels-for-self-hosted-runner-for-enterprise": { + /** + * Set custom labels for a self-hosted runner for an enterprise + * @description Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels. */ + labels: (string)[]; + }; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "enterprise-admin/add-custom-labels-to-self-hosted-runner-for-enterprise": { + /** + * Add custom labels to a self-hosted runner for an enterprise + * @description Add custom labels to a self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to add to the runner. */ + labels: (string)[]; + }; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "enterprise-admin/remove-all-custom-labels-from-self-hosted-runner-for-enterprise": { + /** + * Remove all custom labels from a self-hosted runner for an enterprise + * @description Remove all custom labels from a self-hosted runner configured in an + * enterprise. Returns the remaining read-only labels from the runner. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + responses: { + 200: components["responses"]["actions_runner_labels_readonly"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "enterprise-admin/remove-custom-label-from-self-hosted-runner-for-enterprise": { + /** + * Remove a custom label from a self-hosted runner for an enterprise + * @description Remove a custom label from a self-hosted runner configured + * in an enterprise. Returns the remaining labels from the runner. + * + * This endpoint returns a `404 Not Found` status if the custom label is not + * present on the runner. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "code-scanning/list-alerts-for-enterprise": { + /** + * List code scanning alerts for an enterprise + * @description Lists code scanning alerts for the default branch for all eligible repositories in an enterprise. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * To use this endpoint, you must be a member of the enterprise, + * and you must use an access token with the `repo` scope or `security_events` scope. + */ + parameters?: { + /** @description If specified, only code scanning alerts with this state will be returned. */ + /** @description The property by which to sort the results. */ + query?: { + state?: components["schemas"]["code-scanning-alert-state"]; + sort?: "created" | "updated"; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": (components["schemas"]["code-scanning-organization-alert-items"])[]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "dependabot/list-alerts-for-enterprise": { + /** + * List Dependabot alerts for an enterprise + * @description Lists Dependabot alerts for repositories that are owned by the specified enterprise. + * To use this endpoint, you must be a member of the enterprise, and you must use an + * access token with the `repo` scope or `security_events` scope. + * Alerts are only returned for organizations in the enterprise for which you are an organization owner or a security manager. For more information about security managers, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": (components["schemas"]["dependabot-alert-with-repository"])[]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "secret-scanning/list-alerts-for-enterprise": { + /** + * List secret scanning alerts for an enterprise + * @description Lists secret scanning alerts for eligible repositories in an enterprise, from newest to oldest. + * To use this endpoint, you must be a member of the enterprise, and you must use an access token with the `repo` scope or `security_events` scope. Alerts are only returned for organizations in the enterprise for which you are an organization owner or a [security manager](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization). + */ + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": (components["schemas"]["organization-secret-scanning-alert"])[]; }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string; - /** Format: uri-template */ - releases_url: string; - role_name?: OneOf<[string, null]>; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: (string)[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; }; - sender: components["schemas"]["simple-user"]; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - team: { - deleted?: boolean; - /** @description Description of the team */ - description?: OneOf<[string, null]>; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: OneOf<[{ - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, null]>; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "billing/get-github-advanced-security-billing-ghe": { + /** + * Get GitHub Advanced Security active committers for an enterprise + * @description Gets the GitHub Advanced Security active committers for an enterprise per repository. + * + * 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. + * + * The total number of repositories with committer information is tracked by the `total_count` field. + */ + responses: { + /** @description Success */ + 200: { + content: { + "application/json": components["schemas"]["advanced-security-active-committers"]; + }; }; + 403: components["responses"]["code_scanning_forbidden_read"]; }; - /** team deleted event */ - "webhook-team-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple"]; - /** - * Repository - * @description A git repository - */ - repository?: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: OneOf<[string, null]>; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: OneOf<[string, null]>; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: OneOf<[string, null]>; - /** Format: uri */ - languages_url: string; - /** License */ - license: OneOf<[{ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: OneOf<[string, null]>; - }, null]>; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: OneOf<[string, null]>; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; + }; + "activity/list-public-events": { + /** + * List public events + * @description We delay the public events feed by five minutes, which means the most recent event returned by the public events API actually occurred at least five minutes ago. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": (components["schemas"]["event"])[]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "activity/get-feeds": { + /** + * Get feeds + * @description GitHub provides several timeline resources in [Atom](http://en.wikipedia.org/wiki/Atom_(standard)) format. The Feeds API lists all the feeds available to the authenticated user: + * + * * **Timeline**: The GitHub global public timeline + * * **User**: The public timeline for any user, using [URI template](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) + * * **Current user public**: The public timeline for the authenticated user + * * **Current user**: The private timeline for the authenticated user + * * **Current user actor**: The private timeline for activity created by the authenticated user + * * **Current user organizations**: The private timeline for the organizations the authenticated user is a member of. + * * **Security advisories**: A collection of public announcements that provide information about security-related vulnerabilities in software on GitHub. + * + * **Note**: Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) since current feed URIs use the older, non revocable auth tokens. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["feed"]; + }; + }; + }; + }; + "gists/list": { + /** + * List gists for the authenticated user + * @description Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists: + */ + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": (components["schemas"]["base-gist"])[]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + }; + }; + "gists/create": { + /** + * Create a gist + * @description Allows you to add a new gist with one or more files. + * + * **Note:** Don't name your files "gistfile" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally. + */ + requestBody: { + content: { + "application/json": { + /** @description Description of the gist */ + description?: string; + /** @description Names and content for the files that make up the gist */ + files: { + [key: string]: { + /** @description Content of the file */ + content: string; + } | undefined; + }; + public?: boolean | ("true" | "false"); + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/gists/aa5a315d61ae9438b18d */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["gist-simple"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "gists/list-public": { + /** + * List public gists + * @description List public gists sorted by most recently updated to least recently updated. + * + * Note: With [pagination](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page. + */ + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": (components["schemas"]["base-gist"])[]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "gists/list-starred": { + /** + * List starred gists + * @description List the authenticated user's starred gists: + */ + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": (components["schemas"]["base-gist"])[]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "gists/get": { + /** Get a gist */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["gist-simple"]; }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string; - /** Format: uri-template */ - releases_url: string; - role_name?: OneOf<[string, null]>; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: (string)[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; }; - sender?: components["schemas"]["simple-user"]; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - team: { - deleted?: boolean; - /** @description Description of the team */ - description?: OneOf<[string, null]>; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: OneOf<[{ - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden_gist"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/delete": { + /** Delete a gist */ + responses: { + /** @description Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/update": { + /** + * Update a gist + * @description Allows you to update a gist's description and to update, delete, or rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged. + */ + requestBody: { + content: { + "application/json": OneOf<[({ + /** @description The description of the gist. */ + description?: string; /** - * Format: uri - * @description URL for the team + * @description The gist files to be updated, renamed, or deleted. Each `key` must match the current filename + * (including extension) of the targeted gist file. For example: `hello.py`. + * + * To delete a file, set the whole file to null. For example: `hello.py : null`. */ - url: string; - }, null]>; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; + files?: { + [key: string]: (OneOf<[{ + /** @description The new content of the file. */ + content?: string; + /** @description The new filename for the file. */ + filename?: OneOf<[string, null]>; + } & (Record | Record | Record), null]>) | undefined; + }; + }) & (Record | Record), null]>; }; }; - /** team edited event */ - "webhook-team-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the team if the action was `edited`. */ - changes: { - description?: { - /** @description The previous version of the description if the action was `edited`. */ - from: string; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["gist-simple"]; }; - name?: { - /** @description The previous version of the name if the action was `edited`. */ - from: string; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "gists/list-comments": { + /** List gist comments */ + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; }; - privacy?: { - /** @description The previous version of the team's privacy if the action was `edited`. */ - from: string; + content: { + "application/json": (components["schemas"]["gist-comment"])[]; }; - repository?: { - permissions: { - from: { - /** @description The previous version of the team member's `admin` permission on a repository, if the action was `edited`. */ - admin?: boolean; - /** @description The previous version of the team member's `pull` permission on a repository, if the action was `edited`. */ - pull?: boolean; - /** @description The previous version of the team member's `push` permission on a repository, if the action was `edited`. */ - push?: boolean; - }; - }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/create-comment": { + /** Create a gist comment */ + requestBody: { + content: { + "application/json": { + /** @description The comment text. */ + body: string; }; }; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple"]; - /** - * Repository - * @description A git repository - */ - repository?: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: OneOf<[string, null]>; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: OneOf<[string, null]>; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: OneOf<[string, null]>; - /** Format: uri */ - languages_url: string; - /** License */ - license: OneOf<[{ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: OneOf<[string, null]>; - }, null]>; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: OneOf<[string, null]>; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/gists/a6db0bec360bb87e9418/comments/1 */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["gist-comment"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/get-comment": { + /** Get a gist comment */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["gist-comment"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden_gist"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/delete-comment": { + /** Delete a gist comment */ + responses: { + /** @description Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/update-comment": { + /** Update a gist comment */ + requestBody: { + content: { + "application/json": { + /** @description The comment text. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["gist-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "gists/list-commits": { + /** List gist commits */ + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next" */ + Link?: string; + }; + content: { + "application/json": (components["schemas"]["gist-commit"])[]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/list-forks": { + /** List gist forks */ + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": (components["schemas"]["gist-simple"])[]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/fork": { + /** Fork a gist */ + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/gists/aa5a315d61ae9438b18d */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["base-gist"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "gists/check-is-starred": { + /** Check if a gist is starred */ + responses: { + /** @description Response if gist is starred */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + /** @description Not Found if gist is not starred */ + 404: { + content: { + "application/json": Record; + }; + }; + }; + }; + "gists/star": { + /** + * Star a gist + * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + responses: { + /** @description Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/unstar": { + /** Unstar a gist */ + responses: { + /** @description Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/get-revision": { + /** Get a gist revision */ + parameters: { + path: { + sha: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["gist-simple"]; }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string; - /** Format: uri-template */ - releases_url: string; - role_name?: OneOf<[string, null]>; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: (string)[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; }; - sender: components["schemas"]["simple-user"]; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - team: { - deleted?: boolean; - /** @description Description of the team */ - description?: OneOf<[string, null]>; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "gitignore/get-all-templates": { + /** + * Get all gitignore templates + * @description List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/reference/repos#create-a-repository-for-the-authenticated-user). + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": (string)[]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "gitignore/get-template": { + /** + * Get a gitignore template + * @description The API also allows fetching the source of a single template. + * Use the raw [media type](https://docs.github.com/rest/overview/media-types/) to get the raw contents. + */ + parameters: { + path: { name: string; - node_id?: string; - parent?: OneOf<[{ - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["gitignore-template"]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "apps/list-repos-accessible-to-installation": { + /** + * List repositories accessible to the app installation + * @description List repositories that an app installation can access. + * + * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + repositories: (components["schemas"]["repository"])[]; + repository_selection?: string; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "apps/revoke-installation-access-token": { + /** + * Revoke an installation access token + * @description Revokes the installation token you're using to authenticate as an installation and access this endpoint. + * + * Once an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the "[Create an installation access token for an app](https://docs.github.com/rest/reference/apps#create-an-installation-access-token-for-an-app)" endpoint. + * + * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + responses: { + /** @description Response */ + 204: never; + }; + }; + "issues/list": { + /** + * List issues assigned to the authenticated user + * @description List issues assigned to the authenticated user across all visible repositories including owned repositories, member + * repositories, and organization repositories. You can use the `filter` query parameter to fetch issues that are not + * necessarily assigned to you. + * + * + * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + parameters?: { + /** @description Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. */ + /** @description Indicates the state of the issues to return. */ + /** @description What to sort results by. */ + query?: { + filter?: "assigned" | "created" | "mentioned" | "subscribed" | "repos" | "all"; + state?: "open" | "closed" | "all"; + sort?: "created" | "updated" | "comments"; + collab?: boolean; + orgs?: boolean; + owned?: boolean; + pulls?: boolean; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": (components["schemas"]["issue"])[]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "licenses/get-all-commonly-used": { + /** Get all commonly used licenses */ + parameters?: { + query?: { + featured?: boolean; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": (components["schemas"]["license-simple"])[]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "licenses/get": { + /** Get a license */ + parameters: { + path: { + license: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["license"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "markdown/render": { + /** Render a Markdown document */ + requestBody: { + content: { + "application/json": { + /** @description The Markdown text to render in HTML. */ + text: string; /** - * Format: uri - * @description URL for the team + * @description The rendering mode. + * @default markdown + * @enum {string} */ - url: string; - }, null]>; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; + mode?: "markdown" | "gfm"; + /** @description The repository context to use when creating references in `gfm` mode. For example, setting `context` to `octo-org/octo-repo` will change the text `#42` into an HTML link to issue 42 in the `octo-org/octo-repo` repository. */ + context?: string; + }; }; }; - /** team removed_from_repository event */ - "webhook-team-removed-from-repository": { - /** @enum {string} */ - action: "removed_from_repository"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple"]; - /** - * Repository - * @description A git repository - */ - repository?: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: OneOf<[string, null]>; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: OneOf<[string, null]>; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: OneOf<[string, null]>; - /** Format: uri */ - languages_url: string; - /** License */ - license: OneOf<[{ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: OneOf<[string, null]>; - }, null]>; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: OneOf<[string, null]>; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; + responses: { + /** @description Response */ + 200: { + headers: { + "Content-Type": components["headers"]["content-type"]; + /** @example 279 */ + "Content-Length"?: string; + "X-CommonMarker-Version": components["headers"]["x-common-marker-version"]; + }; + content: { + "text/html": string; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "markdown/render-raw": { + /** + * Render a Markdown document in raw mode + * @description You must send Markdown as plain text (using a `Content-Type` header of `text/plain` or `text/x-markdown`) to this endpoint, rather than using JSON format. In raw mode, [GitHub Flavored Markdown](https://github.github.com/gfm/) is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less. + */ + requestBody?: { + content: { + "text/plain": string; + "text/x-markdown": string; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + "X-CommonMarker-Version": components["headers"]["x-common-marker-version"]; + }; + content: { + "text/html": string; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "apps/get-subscription-plan-for-account": { + /** + * Get a subscription plan for an account + * @description Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["marketplace-purchase"]; }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string; - /** Format: uri-template */ - releases_url: string; - role_name?: OneOf<[string, null]>; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: (string)[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; }; - sender: components["schemas"]["simple-user"]; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - team: { - deleted?: boolean; - /** @description Description of the team */ - description?: OneOf<[string, null]>; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: OneOf<[{ - /** @description Description of the team */ - description: OneOf<[string, null]>; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; + 401: components["responses"]["requires_authentication"]; + /** @description Not Found when the account has not purchased the listing */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + "apps/list-plans": { + /** + * List plans + * @description Lists all plans that are part of your GitHub Marketplace listing. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": (components["schemas"]["marketplace-listing-plan"])[]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 404: components["responses"]["not_found"]; + }; + }; + "apps/list-accounts-for-plan": { + /** + * List accounts for a plan + * @description Returns user and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + parameters?: { + /** @description To return the oldest accounts first, set to `asc`. Ignored without the `sort` parameter. */ + query?: { + direction?: "asc" | "desc"; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": (components["schemas"]["marketplace-purchase"])[]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "apps/get-subscription-plan-for-account-stubbed": { + /** + * Get a subscription plan for an account (stubbed) + * @description Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["marketplace-purchase"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + /** @description Not Found when the account has not purchased the listing */ + 404: never; + }; + }; + "apps/list-plans-stubbed": { + /** + * List plans (stubbed) + * @description Lists all plans that are part of your GitHub Marketplace listing. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": (components["schemas"]["marketplace-listing-plan"])[]; + }; + }; + 401: components["responses"]["requires_authentication"]; + }; + }; + "apps/list-accounts-for-plan-stubbed": { + /** + * List accounts for a plan (stubbed) + * @description Returns repository and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + parameters?: { + /** @description To return the oldest accounts first, set to `asc`. Ignored without the `sort` parameter. */ + query?: { + direction?: "asc" | "desc"; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": (components["schemas"]["marketplace-purchase"])[]; + }; + }; + 401: components["responses"]["requires_authentication"]; + }; + }; + "meta/get": { + /** + * Get GitHub meta information + * @description Returns meta information about GitHub, including a list of GitHub's IP addresses. For more information, see "[About GitHub's IP addresses](https://docs.github.com/articles/about-github-s-ip-addresses/)." + * + * **Note:** The IP addresses shown in the documentation's response are only example values. You must always query the API directly to get the latest list of IP addresses. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["api-overview"]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "activity/list-public-events-for-repo-network": { + /** List public events for a network of repositories */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": (components["schemas"]["event"])[]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "activity/list-notifications-for-authenticated-user": { + /** + * List notifications for the authenticated user + * @description List all notifications for the current user, sorted by most recently updated. + */ + parameters?: { + /** @description The number of results per page (max 50). */ + query?: { + per_page?: number; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": (components["schemas"]["thread"])[]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "activity/mark-notifications-as-read": { + /** + * Mark notifications as read + * @description Marks all notifications as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List notifications for the authenticated user](https://docs.github.com/rest/reference/activity#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. + */ + requestBody?: { + content: { + "application/json": { /** - * Format: uri - * @description URL for the team + * Format: date-time + * @description Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. */ - url: string; - }, null]>; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; + last_read_at?: string; + /** @description Whether the notification has been read. */ + read?: boolean; + }; }; }; - "webhook-user-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository?: components["schemas"]["repository"]; - sender?: components["schemas"]["simple-user"]; - /** User */ - user?: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; + responses: { + /** @description Response */ + 202: { + content: { + "application/json": { + message?: string; + }; + }; + }; + /** @description Reset Content */ + 205: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; }; - /** watch started event */ - "webhook-watch-started": { - /** @enum {string} */ - action: "started"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; + }; + "activity/get-thread": { + /** + * Get a thread + * @description Gets information about a notification thread. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["thread"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; }; - /** workflow_dispatch event */ - "webhook-workflow-dispatch": { - enterprise?: components["schemas"]["enterprise"]; - inputs: OneOf<[{ - name?: string; - number?: string; - }, null]>; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - ref: string; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - workflow: string; + }; + "activity/mark-thread-as-read": { + /** + * Mark a thread as read + * @description Marks a thread as "read." Marking a thread as "read" is equivalent to clicking a notification in your notification inbox on GitHub: https://github.com/notifications. + */ + responses: { + /** @description Reset Content */ + 205: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; }; - /** workflow_job completed event */ - "webhook-workflow-job-completed": { - /** @enum {string} */ - action: "completed"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - workflow_job: ({ - /** Format: uri */ - check_run_url: string; - completed_at: OneOf<[string, null]>; - /** @enum {string|null} */ - conclusion: "success" | "failure" | "" | "skipped" | "cancelled" | "action_required" | "neutral" | "timed_out" | null; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - /** @description Custom labels for the job. Specified by the [`"runs-on"` attribute](https://docs.github.com/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on) in the workflow YAML. */ - labels: (string)[]; - name: string; - node_id: string; - run_attempt: number; - run_id: number; - /** Format: uri */ - run_url: string; - /** @description The ID of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_group_id: OneOf<[number, null]>; - /** @description The name of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_group_name: OneOf<[string, null]>; - /** @description The ID of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_id: OneOf<[number, null]>; - /** @description The name of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_name: OneOf<[string, null]>; - started_at: string; - /** - * @description The current status of the job. Can be `queued`, `in_progress`, or `completed`. - * @enum {string} - */ - status: "queued" | "in_progress" | "completed" | "waiting"; - steps: ({ - completed_at: OneOf<[string, null]>; - /** @enum {string|null} */ - conclusion: "failure" | "skipped" | "success" | "cancelled" | "" | null; - name: string; - number: number; - started_at: OneOf<[string, null]>; - /** @enum {string} */ - status: "in_progress" | "completed" | "queued"; - })[]; - /** Format: uri */ - url: string; - }) & ({ - check_run_url?: string; - completed_at?: string; - /** @enum {string} */ - conclusion: "success" | "failure" | "skipped" | "cancelled" | "action_required" | "neutral" | "timed_out"; - head_sha?: string; - html_url?: string; - id?: number; - labels?: (OneOf<[string, null]>)[]; - name?: string; - node_id?: string; - run_attempt?: number; - run_id?: number; - run_url?: string; - runner_group_id?: OneOf<[number, null]>; - runner_group_name?: OneOf<[string, null]>; - runner_id?: OneOf<[number, null]>; - runner_name?: OneOf<[string, null]>; - started_at?: string; - status?: string; - steps?: (OneOf<[Record, null]>)[]; - url?: string; - }); + }; + "activity/get-thread-subscription-for-authenticated-user": { + /** + * Get a thread subscription for the authenticated user + * @description This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://docs.github.com/rest/reference/activity#get-a-repository-subscription). + * + * Note that subscriptions are only generated if a user is participating in a conversation--for example, they've replied to the thread, were **@mentioned**, or manually subscribe to a thread. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["thread-subscription"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "activity/set-thread-subscription": { + /** + * Set a thread subscription + * @description If you are watching a repository, you receive notifications for all threads by default. Use this endpoint to ignore future notifications for threads until you comment on the thread or get an **@mention**. + * + * You can also use this endpoint to subscribe to threads that you are currently not receiving notifications for or to subscribed to threads that you have previously ignored. + * + * Unsubscribing from a conversation in a repository that you are not watching is functionally equivalent to the [Delete a thread subscription](https://docs.github.com/rest/reference/activity#delete-a-thread-subscription) endpoint. + */ + requestBody?: { + content: { + "application/json": { + /** + * @description Whether to block all notifications from a thread. + * @default false + */ + ignored?: boolean; + }; + }; }; - /** workflow_job in_progress event */ - "webhook-workflow-job-in-progress": { - /** @enum {string} */ - action: "in_progress"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - workflow_job: ({ - /** Format: uri */ - check_run_url: string; - completed_at: OneOf<[string, null]>; - /** @enum {string|null} */ - conclusion: "success" | "failure" | "" | "cancelled" | "neutral" | null; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - /** @description Custom labels for the job. Specified by the [`"runs-on"` attribute](https://docs.github.com/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on) in the workflow YAML. */ - labels: (string)[]; - name: string; - node_id: string; - run_attempt: number; - run_id: number; - /** Format: uri */ - run_url: string; - /** @description The ID of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_group_id: OneOf<[number, null]>; - /** @description The name of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_group_name: OneOf<[string, null]>; - /** @description The ID of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_id: OneOf<[number, null]>; - /** @description The name of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_name: OneOf<[string, null]>; - started_at: string; - /** - * @description The current status of the job. Can be `queued`, `in_progress`, or `completed`. - * @enum {string} - */ - status: "queued" | "in_progress" | "completed"; - steps: ({ - completed_at: OneOf<[string, null]>; - /** @enum {string|null} */ - conclusion: "failure" | "skipped" | "success" | "" | "cancelled" | null; - name: string; - number: number; - started_at: OneOf<[string, null]>; - /** @enum {string} */ - status: "in_progress" | "completed" | "queued" | "pending"; - })[]; - /** Format: uri */ - url: string; - }) & ({ - check_run_url?: string; - completed_at?: OneOf<[string, null]>; - conclusion?: OneOf<[string, null]>; - head_sha?: string; - html_url?: string; - id?: number; - labels?: (string)[]; - name?: string; - node_id?: string; - run_attempt?: number; - run_id?: number; - run_url?: string; - runner_group_id?: OneOf<[number, null]>; - runner_group_name?: OneOf<[string, null]>; - runner_id?: OneOf<[number, null]>; - runner_name?: OneOf<[string, null]>; - started_at?: string; - /** @enum {string} */ - status: "in_progress" | "completed" | "queued"; - steps: ({ - completed_at: OneOf<[string, null]>; - conclusion: OneOf<[string, null]>; - name: string; - number: number; - started_at: OneOf<[string, null]>; - /** @enum {string} */ - status: "in_progress" | "completed" | "pending" | "queued"; - })[]; - url?: string; - }); + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["thread-subscription"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; }; - /** workflow_job queued event */ - "webhook-workflow-job-queued": { - /** @enum {string} */ - action: "queued"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - workflow_job: { - /** Format: uri */ - check_run_url: string; - completed_at: OneOf<[string, null]>; - conclusion: OneOf<[string, null]>; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - labels: (string)[]; - name: string; - node_id: string; - run_attempt: number; - run_id: number; - /** Format: uri */ - run_url: string; - runner_group_id: OneOf<[number, null]>; - runner_group_name: OneOf<[string, null]>; - runner_id: OneOf<[number, null]>; - runner_name: OneOf<[string, null]>; - /** Format: date-time */ - started_at: string; - /** @enum {string} */ - status: "queued" | "in_progress" | "completed" | "waiting"; - steps: ({ - completed_at: OneOf<[string, null]>; - /** @enum {string|null} */ - conclusion: "failure" | "skipped" | "success" | "cancelled" | "" | null; - name: string; - number: number; - started_at: OneOf<[string, null]>; - /** @enum {string} */ - status: "completed" | "in_progress" | "queued" | "pending"; - })[]; - /** Format: uri */ - url: string; + }; + "activity/delete-thread-subscription": { + /** + * Delete a thread subscription + * @description Mutes all future notifications for a conversation until you comment on the thread or get an **@mention**. If you are watching the repository of the thread, you will still receive notifications. To ignore future notifications for a repository you are watching, use the [Set a thread subscription](https://docs.github.com/rest/reference/activity#set-a-thread-subscription) endpoint and set `ignore` to `true`. + */ + responses: { + /** @description Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "meta/get-octocat": { + /** + * Get Octocat + * @description Get the octocat as ASCII art + */ + parameters?: { + /** @description The words to show in Octocat's speech bubble */ + query?: { + s?: string; }; }; - /** workflow_run completed event */ - "webhook-workflow-run-completed": { - /** @enum {string} */ - action: "completed"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - /** Workflow */ - workflow: OneOf<[{ - /** Format: uri */ - badge_url: string; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - html_url: string; - id: number; - name: string; - node_id: string; - path: string; - state: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }, null]>; - workflow_run: ({ - /** User */ - actor: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; + responses: { + /** @description Response */ + 200: { + content: { + "application/octocat-stream": string; + }; + }; + }; + }; + "orgs/list": { + /** + * List organizations + * @description Lists all organizations, in the order that they were created on GitHub. + * + * **Note:** Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of organizations. + */ + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next" */ + Link?: string; + }; + content: { + "application/json": (components["schemas"]["organization-simple"])[]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "orgs/list-custom-roles": { + /** + * List custom repository roles in an organization + * @description List the custom repository roles available in this organization. In order to see custom + * repository roles in an organization, the authenticated user must be an organization owner. + * + * To use this endpoint the authenticated user must be an administrator for the organization or of an repository of the organizaiton and must use an access token with `admin:org repo` scope. + * GitHub Apps must have the `organization_custom_roles:read` organization permission to use this endpoint. + * + * For more information on custom repository roles, see "[About custom repository roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-repository-roles)." + */ + parameters: { + /** @description The unique identifier of the organization. */ + path: { + organization_id: string; + }; + }; + responses: { + /** @description Response - list of custom role names */ + 200: { + content: { + "application/json": { + /** @description The number of custom roles in this organization */ + total_count?: number; + custom_roles?: (components["schemas"]["organization-custom-repository-role"])[]; + }; + }; + }; + }; + }; + "orgs/get": { + /** + * Get an organization + * @description To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). + * + * GitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub plan. See "[Authenticating with GitHub Apps](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/)" for details. For an example response, see 'Response with GitHub plan information' below." + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["organization-full"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/update": { + /** + * Update an organization + * @description **Parameter Deprecation Notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). + * + * Enables an authenticated organization owner with the `admin:org` scope to update the organization's profile and member privileges. + */ + requestBody?: { + content: { + "application/json": { + /** @description Billing email address. This address is not publicized. */ + billing_email?: string; + /** @description The company name. */ + company?: string; + /** @description The publicly visible email address. */ + email?: string; + /** @description The Twitter username of the company. */ + twitter_username?: string; + /** @description The location. */ + location?: string; + /** @description The shorthand name of the company. */ name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** Format: uri */ - artifacts_url: string; - /** Format: uri */ - cancel_url: string; - check_suite_id: number; - check_suite_node_id: string; - /** Format: uri */ - check_suite_url: string; - /** @enum {string|null} */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | "" | "skipped" | null; - /** Format: date-time */ - created_at: string; - event: string; - head_branch: OneOf<[string, null]>; - /** SimpleCommit */ - head_commit: { + /** @description The description of the company. */ + description?: string; + /** @description Whether an organization can use organization projects. */ + has_organization_projects?: boolean; + /** @description Whether repositories that belong to the organization can use repository projects. */ + has_repository_projects?: boolean; /** - * Committer - * @description Metaproperties for Git author/committer information. + * @description Default permission level members have for organization repositories. + * @default read + * @enum {string} */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: OneOf<[string, null]>; - /** @description The git author's name. */ - name: string; - username?: string; - }; + default_repository_permission?: "read" | "write" | "admin" | "none"; /** - * Committer - * @description Metaproperties for Git author/committer information. + * @description Whether of non-admin organization members can create repositories. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. + * @default true */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: OneOf<[string, null]>; - /** @description The git author's name. */ - name: string; - username?: string; + members_can_create_repositories?: boolean; + /** @description Whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ + members_can_create_internal_repositories?: boolean; + /** @description Whether organization members can create private repositories, which are visible to organization members with permission. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ + members_can_create_private_repositories?: boolean; + /** @description Whether organization members can create public repositories, which are visible to anyone. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ + members_can_create_public_repositories?: boolean; + /** + * @description Specifies which types of repositories non-admin organization members can create. `private` is only available to repositories that are part of an organization on GitHub Enterprise Cloud. + * **Note:** This parameter is deprecated and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See the parameter deprecation notice in the operation description for details. + * @enum {string} + */ + members_allowed_repository_creation_type?: "all" | "private" | "none"; + /** + * @description Whether organization members can create GitHub Pages sites. Existing published sites will not be impacted. + * @default true + */ + members_can_create_pages?: boolean; + /** + * @description Whether organization members can create public GitHub Pages sites. Existing published sites will not be impacted. + * @default true + */ + members_can_create_public_pages?: boolean; + /** + * @description Whether organization members can create private GitHub Pages sites. Existing published sites will not be impacted. + * @default true + */ + members_can_create_private_pages?: boolean; + /** + * @description Whether organization members can fork private organization repositories. + * @default false + */ + members_can_fork_private_repositories?: boolean; + /** + * @description Whether contributors to organization repositories are required to sign off on commits they make through GitHub's web interface. + * @default false + */ + web_commit_signoff_required?: boolean; + blog?: string; + /** + * @description Whether GitHub Advanced Security is automatically enabled for new repositories. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. + */ + advanced_security_enabled_for_new_repositories?: boolean; + /** + * @description Whether Dependabot alerts is automatically enabled for new repositories. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. + */ + dependabot_alerts_enabled_for_new_repositories?: boolean; + /** + * @description Whether Dependabot security updates is automatically enabled for new repositories. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. + */ + dependabot_security_updates_enabled_for_new_repositories?: boolean; + /** + * @description Whether dependency graph is automatically enabled for new repositories. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. + */ + dependency_graph_enabled_for_new_repositories?: boolean; + /** + * @description Whether secret scanning is automatically enabled for new repositories. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. + */ + secret_scanning_enabled_for_new_repositories?: boolean; + /** + * @description Whether secret scanning push protection is automatically enabled for new repositories. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. + */ + secret_scanning_push_protection_enabled_for_new_repositories?: boolean; + /** @description Whether a custom link is shown to contributors who are blocked from pushing a secret by push protection. */ + secret_scanning_push_protection_custom_link_enabled?: boolean; + /** @description If `secret_scanning_push_protection_custom_link_enabled` is true, the URL that will be displayed to contributors who are blocked from pushing a secret. */ + secret_scanning_push_protection_custom_link?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["organization-full"]; + }; + }; + 409: components["responses"]["conflict"]; + /** @description Validation failed */ + 422: { + content: { + "application/json": components["schemas"]["validation-error"] | components["schemas"]["validation-error-simple"]; + }; + }; + }; + }; + "actions/get-actions-cache-usage-for-org": { + /** + * Get GitHub Actions cache usage for an organization + * @description Gets the total GitHub Actions cache usage for an organization. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. + */ + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["actions-cache-usage-org-enterprise"]; + }; + }; + }; + }; + "actions/get-actions-cache-usage-by-repo-for-org": { + /** + * List repositories with GitHub Actions cache usage for an organization + * @description Lists repositories and their GitHub Actions cache usage for an organization. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. + */ + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + repository_cache_usages: (components["schemas"]["actions-cache-usage-by-repository"])[]; }; - id: string; - message: string; - timestamp: string; - tree_id: string; }; - /** Repository Lite */ - head_repository: { - /** Format: uri-template */ - archive_url: string; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - description: OneOf<[string, null]>; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** @description Whether the repository is private or public. */ - private: boolean; - /** Format: uri-template */ - pulls_url: string; - /** Format: uri-template */ - releases_url: string; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - /** Format: uri-template */ - trees_url: string; - /** Format: uri */ - url: string; + }; + }; + }; + "actions/get-github-actions-permissions-organization": { + /** + * Get GitHub Actions permissions for an organization + * @description Gets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-organization-permissions"]; }; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - jobs_url: string; - /** Format: uri */ - logs_url: string; - name: OneOf<[string, null]>; - node_id: string; - path: string; - /** Format: uri */ - previous_attempt_url: OneOf<[string, null]>; - pull_requests: ({ - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - })[]; - referenced_workflows?: OneOf<[({ - path: string; - ref?: string; - sha: string; - })[], null]>; - /** Repository Lite */ - repository: { - /** Format: uri-template */ - archive_url: string; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - description: OneOf<[string, null]>; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** @description Whether the repository is private or public. */ - private: boolean; - /** Format: uri-template */ - pulls_url: string; - /** Format: uri-template */ - releases_url: string; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - /** Format: uri-template */ - trees_url: string; - /** Format: uri */ - url: string; + }; + }; + }; + "actions/set-github-actions-permissions-organization": { + /** + * Set GitHub Actions permissions for an organization + * @description Sets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. + * + * If the organization belongs to an enterprise that has set restrictive permissions at the enterprise level, such as `allowed_actions` to `selected` actions and reusable workflows, then you cannot override them for the organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + requestBody: { + content: { + "application/json": { + enabled_repositories: components["schemas"]["enabled-repositories"]; + allowed_actions?: components["schemas"]["allowed-actions"]; }; - /** Format: uri */ - rerun_url: string; - run_attempt: number; - run_number: number; - /** Format: date-time */ - run_started_at: string; - /** @enum {string} */ - status: "requested" | "in_progress" | "completed" | "queued" | "pending" | "waiting"; - /** User */ - triggering_actor: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - workflow_id: number; - /** Format: uri */ - workflow_url: string; - }) & ({ - actor?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; + }; + }; + responses: { + /** @description Response */ + 204: never; + }; + }; + "actions/list-selected-repositories-enabled-github-actions-organization": { + /** + * List selected repositories enabled for GitHub Actions in an organization + * @description Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + repositories: (components["schemas"]["repository"])[]; + }; + }; + }; + }; + }; + "actions/set-selected-repositories-enabled-github-actions-organization": { + /** + * Set selected repositories enabled for GitHub Actions in an organization + * @description Replaces the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + requestBody: { + content: { + "application/json": { + /** @description List of repository IDs to enable for GitHub Actions. */ + selected_repository_ids: (number)[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: never; + }; + }; + "actions/enable-selected-repository-github-actions-organization": { + /** + * Enable a selected repository for GitHub Actions in an organization + * @description Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + responses: { + /** @description Response */ + 204: never; + }; + }; + "actions/disable-selected-repository-github-actions-organization": { + /** + * Disable a selected repository for GitHub Actions in an organization + * @description Removes a repository from the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + responses: { + /** @description Response */ + 204: never; + }; + }; + "actions/get-allowed-actions-organization": { + /** + * Get allowed actions and reusable workflows for an organization + * @description Gets the selected actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)."" + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + }; + }; + "actions/set-allowed-actions-organization": { + /** + * Set allowed actions and reusable workflows for an organization + * @description Sets the actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * If the organization belongs to an enterprise that has `selected` actions and reusable workflows set at the enterprise level, then you cannot override any of the enterprise's allowed actions and reusable workflows settings. + * + * To use the `patterns_allowed` setting for private repositories, the organization must belong to an enterprise. If the organization does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories in the organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + requestBody?: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + responses: { + /** @description Response */ + 204: never; + }; + }; + "actions/get-github-actions-default-workflow-permissions-organization": { + /** + * Get default workflow permissions for an organization + * @description Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, + * as well as whether GitHub Actions can submit approving pull request reviews. For more information, see + * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-get-default-workflow-permissions"]; }; - artifacts_url?: string; - cancel_url?: string; - check_suite_id?: number; - check_suite_node_id?: string; - check_suite_url?: string; - /** @enum {string} */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | "skipped"; - created_at?: string; - event?: string; - head_branch?: OneOf<[string, null]>; - head_commit?: { - author?: { - email?: string; - name?: string; - }; - committer?: { - email?: string; - name?: string; + }; + }; + }; + "actions/set-github-actions-default-workflow-permissions-organization": { + /** + * Set default workflow permissions for an organization + * @description Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, and sets if GitHub Actions + * can submit approving pull request reviews. For more information, see + * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + requestBody?: { + content: { + "application/json": components["schemas"]["actions-set-default-workflow-permissions"]; + }; + }; + responses: { + /** @description Success response */ + 204: never; + /** @description Conflict response when changing a setting is prevented by the owning enterprise */ + 409: never; + }; + }; + "actions/list-self-hosted-runner-groups-for-org": { + /** + * List self-hosted runner groups for an organization + * @description The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Lists all self-hosted runner groups configured in an organization and inherited from an enterprise. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + runner_groups: (components["schemas"]["runner-groups-org"])[]; }; - id?: string; - message?: string; - timestamp?: string; - tree_id?: string; }; - head_repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: OneOf<[string, null]>; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; + }; + }; + }; + "actions/create-self-hosted-runner-group-for-org": { + /** + * Create a self-hosted runner group for an organization + * @description The self-hosted runner groups REST API is available with GitHub Enterprise Cloud and GitHub Enterprise Server. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Creates a new self-hosted runner group for an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + requestBody: { + content: { + "application/json": { + /** @description Name of the runner group. */ + name: string; + /** + * @description Visibility of a runner group. You can select all repositories, select individual repositories, or limit access to private repositories. + * @default all + * @enum {string} + */ + visibility?: "selected" | "all" | "private"; + /** @description List of repository IDs that can access the runner group. */ + selected_repository_ids?: (number)[]; + /** @description List of runner IDs to add to the runner group. */ + runners?: (number)[]; + /** + * @description Whether the runner group can be used by `public` repositories. + * @default false + */ + allows_public_repositories?: boolean; + /** + * @description If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array. + * @default false + */ + restricted_to_workflows?: boolean; + /** @description List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`. */ + selected_workflows?: (string)[]; }; - head_sha?: string; - html_url?: string; - id?: number; - jobs_url?: string; - logs_url?: string; - name?: OneOf<[string, null]>; - node_id?: string; - path?: string; - previous_attempt_url?: OneOf<[string, null]>; - pull_requests?: (OneOf<[Record, null]>)[]; - referenced_workflows?: OneOf<[({ - path: string; - ref?: string; - sha: string; - })[], null]>; - repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: OneOf<[string, null]>; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["runner-groups-org"]; }; - rerun_url?: string; - run_attempt?: number; - run_number?: number; - run_started_at?: string; - status?: string; - triggering_actor?: OneOf<[{ - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }, null]>; - updated_at?: string; - url?: string; - workflow_id?: number; - workflow_url?: string; - }); + }; }; - /** workflow_run in_progress event */ - "webhook-workflow-run-in-progress": { - /** @enum {string} */ - action: "in_progress"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - /** Workflow */ - workflow: OneOf<[{ - /** Format: uri */ - badge_url: string; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - html_url: string; - id: number; - name: string; - node_id: string; - path: string; - state: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }, null]>; - workflow_run: ({ - /** User */ - actor: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** Format: uri */ - artifacts_url: string; - /** Format: uri */ - cancel_url: string; - check_suite_id: number; - check_suite_node_id: string; - /** Format: uri */ - check_suite_url: string; - /** @enum {string|null} */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | "skipped" | "" | null; - /** Format: date-time */ - created_at: string; - event: string; - head_branch: OneOf<[string, null]>; - /** SimpleCommit */ - head_commit: { + }; + "actions/get-self-hosted-runner-group-for-org": { + /** + * Get a self-hosted runner group for an organization + * @description The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Gets a specific self-hosted runner group for an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["runner-groups-org"]; + }; + }; + }; + }; + "actions/delete-self-hosted-runner-group-from-org": { + /** + * Delete a self-hosted runner group from an organization + * @description The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Deletes a self-hosted runner group for an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + responses: { + /** @description Response */ + 204: never; + }; + }; + "actions/update-self-hosted-runner-group-for-org": { + /** + * Update a self-hosted runner group for an organization + * @description The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Updates the `name` and `visibility` of a self-hosted runner group in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + requestBody: { + content: { + "application/json": { + /** @description Name of the runner group. */ + name: string; /** - * Committer - * @description Metaproperties for Git author/committer information. + * @description Visibility of a runner group. You can select all repositories, select individual repositories, or all private repositories. + * @enum {string} */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: OneOf<[string, null]>; - /** @description The git author's name. */ - name: string; - username?: string; + visibility?: "selected" | "all" | "private"; + /** + * @description Whether the runner group can be used by `public` repositories. + * @default false + */ + allows_public_repositories?: boolean; + /** + * @description If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array. + * @default false + */ + restricted_to_workflows?: boolean; + /** @description List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`. */ + selected_workflows?: (string)[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["runner-groups-org"]; + }; + }; + }; + }; + "actions/list-repo-access-to-self-hosted-runner-group-in-org": { + /** + * List repository access to a self-hosted runner group in an organization + * @description The self-hosted runner groups REST API is available with GitHub Enterprise Cloud and GitHub Enterprise Server. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Lists the repositories with access to a self-hosted runner group configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + repositories: (components["schemas"]["minimal-repository"])[]; + }; + }; + }; + }; + }; + "actions/set-repo-access-to-self-hosted-runner-group-in-org": { + /** + * Set repository access for a self-hosted runner group in an organization + * @description The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Replaces the list of repositories that have access to a self-hosted runner group configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + requestBody: { + content: { + "application/json": { + /** @description List of repository IDs that can access the runner group. */ + selected_repository_ids: (number)[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: never; + }; + }; + "actions/remove-repo-access-to-self-hosted-runner-group-in-org": { + /** + * Remove repository access to a self-hosted runner group in an organization + * @description The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * + * Removes a repository from the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + responses: { + /** @description Response */ + 204: never; + }; + }; + "actions/list-self-hosted-runners-in-group-for-org": { + /** + * List self-hosted runners in a group for an organization + * @description The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Lists self-hosted runners that are in a specific organization group. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + runners: (components["schemas"]["runner"])[]; }; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: OneOf<[string, null]>; - /** @description The git author's name. */ - name: string; - username?: string; + }; + }; + }; + }; + "actions/set-self-hosted-runners-in-group-for-org": { + /** + * Set self-hosted runners in a group for an organization + * @description The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Replaces the list of self-hosted runners that are part of an organization runner group. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + requestBody: { + content: { + "application/json": { + /** @description List of runner IDs to add to the runner group. */ + runners: (number)[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: never; + }; + }; + "actions/add-self-hosted-runner-to-group-for-org": { + /** + * Add a self-hosted runner to a group for an organization + * @description The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * + * Adds a self-hosted runner to a runner group configured in an organization. + * + * You must authenticate using an access token with the `admin:org` + * scope to use this endpoint. + */ + responses: { + /** @description Response */ + 204: never; + }; + }; + "actions/remove-self-hosted-runner-from-group-for-org": { + /** + * Remove a self-hosted runner from a group for an organization + * @description The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * + * Removes a self-hosted runner from a group configured in an organization. The runner is then returned to the default group. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + responses: { + /** @description Response */ + 204: never; + }; + }; + "actions/list-self-hosted-runners-for-org": { + /** + * List self-hosted runners for an organization + * @description Lists all self-hosted runners configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + runners: (components["schemas"]["runner"])[]; }; - id: string; - message: string; - timestamp: string; - tree_id: string; }; - /** Repository Lite */ - head_repository: { - /** Format: uri-template */ - archive_url: string; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - description: OneOf<[string, null]>; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** @description Whether the repository is private or public. */ - private: boolean; - /** Format: uri-template */ - pulls_url: string; - /** Format: uri-template */ - releases_url: string; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - /** Format: uri-template */ - trees_url: string; - /** Format: uri */ - url: string; + }; + }; + }; + "actions/list-runner-applications-for-org": { + /** + * List runner applications for an organization + * @description Lists binaries for the runner application that you can download and run. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": (components["schemas"]["runner-application"])[]; }; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - jobs_url: string; - /** Format: uri */ - logs_url: string; - name: OneOf<[string, null]>; - node_id: string; - path: string; - /** Format: uri */ - previous_attempt_url: OneOf<[string, null]>; - pull_requests: ({ - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - })[]; - referenced_workflows?: OneOf<[({ - path: string; - ref?: string; - sha: string; - })[], null]>; - /** Repository Lite */ - repository: { - /** Format: uri-template */ - archive_url: string; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - description: OneOf<[string, null]>; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** @description Whether the repository is private or public. */ - private: boolean; - /** Format: uri-template */ - pulls_url: string; - /** Format: uri-template */ - releases_url: string; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - /** Format: uri-template */ - trees_url: string; - /** Format: uri */ - url: string; + }; + }; + }; + "actions/create-registration-token-for-org": { + /** + * Create a registration token for an organization + * @description Returns a token that you can pass to the `config` script. The token expires after one hour. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * + * #### Example using registration token + * + * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * + * ``` + * ./config.sh --url https://github.com/octo-org --token TOKEN + * ``` + */ + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + }; + "actions/create-remove-token-for-org": { + /** + * Create a remove token for an organization + * @description Returns a token that you can pass to the `config` script to remove a self-hosted runner from an organization. The token expires after one hour. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * + * #### Example using remove token + * + * To remove your self-hosted runner from an organization, replace `TOKEN` with the remove token provided by this + * endpoint. + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + */ + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + }; + "actions/get-self-hosted-runner-for-org": { + /** + * Get a self-hosted runner for an organization + * @description Gets a specific self-hosted runner configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["runner"]; + }; + }; + }; + }; + "actions/delete-self-hosted-runner-from-org": { + /** + * Delete a self-hosted runner from an organization + * @description Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + responses: { + /** @description Response */ + 204: never; + }; + }; + "actions/list-labels-for-self-hosted-runner-for-org": { + /** + * List labels for a self-hosted runner for an organization + * @description Lists all labels for a self-hosted runner configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + }; + }; + "actions/set-custom-labels-for-self-hosted-runner-for-org": { + /** + * Set custom labels for a self-hosted runner for an organization + * @description Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels. */ + labels: (string)[]; }; - /** Format: uri */ - rerun_url: string; - run_attempt: number; - run_number: number; - /** Format: date-time */ - run_started_at: string; - /** @enum {string} */ - status: "requested" | "in_progress" | "completed" | "queued" | "pending"; - /** User */ - triggering_actor: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - workflow_id: number; - /** Format: uri */ - workflow_url: string; - }) & ({ - actor?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/add-custom-labels-to-self-hosted-runner-for-org": { + /** + * Add custom labels to a self-hosted runner for an organization + * @description Add custom labels to a self-hosted runner configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to add to the runner. */ + labels: (string)[]; }; - artifacts_url?: string; - cancel_url?: string; - check_suite_id?: number; - check_suite_node_id?: string; - check_suite_url?: string; - /** @enum {string|null} */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "skipped" | "stale" | "" | null; - created_at?: string; - event?: string; - head_branch?: OneOf<[string, null]>; - head_commit?: { - author?: { - email?: string; - name?: string; - }; - committer?: { - email?: string; - name?: string; - }; - id?: string; - message?: string; - timestamp?: string; - tree_id?: string; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/remove-all-custom-labels-from-self-hosted-runner-for-org": { + /** + * Remove all custom labels from a self-hosted runner for an organization + * @description Remove all custom labels from a self-hosted runner configured in an + * organization. Returns the remaining read-only labels from the runner. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + responses: { + 200: components["responses"]["actions_runner_labels_readonly"]; + 404: components["responses"]["not_found"]; + }; + }; + "actions/remove-custom-label-from-self-hosted-runner-for-org": { + /** + * Remove a custom label from a self-hosted runner for an organization + * @description Remove a custom label from a self-hosted runner configured + * in an organization. Returns the remaining labels from the runner. + * + * This endpoint returns a `404 Not Found` status if the custom label is not + * present on the runner. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/list-org-secrets": { + /** + * List organization secrets + * @description Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + */ + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; }; - head_repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: OneOf<[string, null]>; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: OneOf<[string, null]>; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; + content: { + "application/json": { + total_count: number; + secrets: (components["schemas"]["organization-actions-secret"])[]; }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; }; - head_sha?: string; - html_url?: string; - id?: number; - jobs_url?: string; - logs_url?: string; - name?: OneOf<[string, null]>; - node_id?: string; - path?: string; - previous_attempt_url?: OneOf<[string, null]>; - pull_requests?: (OneOf<[Record, null]>)[]; - referenced_workflows?: OneOf<[({ - path: string; - ref?: string; - sha: string; - })[], null]>; - repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: OneOf<[string, null]>; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; + }; + }; + }; + "actions/get-org-public-key": { + /** + * Get an organization public key + * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-public-key"]; }; - rerun_url?: string; - run_attempt?: number; - run_number?: number; - run_started_at?: string; - status?: string; - triggering_actor?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; + }; + }; + }; + "actions/get-org-secret": { + /** + * Get an organization secret + * @description Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["organization-actions-secret"]; }; - updated_at?: string; - url?: string; - workflow_id?: number; - workflow_url?: string; - }); + }; }; - /** workflow_run requested event */ - "webhook-workflow-run-requested": { - /** @enum {string} */ - action: "requested"; - enterprise?: components["schemas"]["enterprise"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple"]; - repository: components["schemas"]["repository"]; - sender: components["schemas"]["simple-user"]; - /** Workflow */ - workflow: OneOf<[{ - /** Format: uri */ - badge_url: string; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - html_url: string; - id: number; - name: string; - node_id: string; - path: string; - state: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }, null]>; - /** Workflow Run */ - workflow_run: { - /** User */ - actor: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** Format: uri */ - artifacts_url: string; - /** Format: uri */ - cancel_url: string; - check_suite_id: number; - check_suite_node_id: string; - /** Format: uri */ - check_suite_url: string; - /** @enum {string|null} */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | "" | "skipped" | "startup_failure" | null; - /** Format: date-time */ - created_at: string; - event: string; - head_branch: OneOf<[string, null]>; - /** SimpleCommit */ - head_commit: { - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: OneOf<[string, null]>; - /** @description The git author's name. */ - name: string; - username?: string; - }; + }; + "actions/create-or-update-org-secret": { + /** + * Create or update an organization secret + * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to + * use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [libsodium-wrappers](https://www.npmjs.com/package/libsodium-wrappers) library. + * + * ``` + * const sodium = require('libsodium-wrappers') + * const secret = 'plain-text-secret' // replace with the secret you want to encrypt + * const key = 'base64-encoded-public-key' // replace with the Base64 encoded public key + * + * //Check if libsodium is ready and then proceed. + * sodium.ready.then(() => { + * // Convert Secret & Base64 key to Uint8Array. + * let binkey = sodium.from_base64(key, sodium.base64_variants.ORIGINAL) + * let binsec = sodium.from_string(secret) + * + * //Encrypt the secret using LibSodium + * let encBytes = sodium.crypto_box_seal(binsec, binkey) + * + * // Convert encrypted Uint8Array to Base64 + * let output = sodium.to_base64(encBytes, sodium.base64_variants.ORIGINAL) + * + * console.log(output) + * }); + * ``` + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/reference/actions#get-an-organization-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; /** - * Committer - * @description Metaproperties for Git author/committer information. + * @description Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret. + * @enum {string} */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: OneOf<[string, null]>; - /** @description The git author's name. */ - name: string; - username?: string; + visibility: "all" | "private" | "selected"; + /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/reference/actions#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/actions#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids?: (number)[]; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: never; + }; + }; + "actions/delete-org-secret": { + /** + * Delete an organization secret + * @description Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + */ + responses: { + /** @description Response */ + 204: never; + }; + }; + "actions/list-selected-repos-for-org-secret": { + /** + * List selected repositories for an organization secret + * @description Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + repositories: (components["schemas"]["minimal-repository"])[]; }; - id: string; - message: string; - timestamp: string; - tree_id: string; }; - /** Repository Lite */ - head_repository: { - /** Format: uri-template */ - archive_url: string; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - description: OneOf<[string, null]>; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** @description Whether the repository is private or public. */ - private: boolean; - /** Format: uri-template */ - pulls_url: string; - /** Format: uri-template */ - releases_url: string; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - /** Format: uri-template */ - trees_url: string; - /** Format: uri */ - url: string; + }; + }; + }; + "actions/set-selected-repos-for-org-secret": { + /** + * Set selected repositories for an organization secret + * @description Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + */ + requestBody: { + content: { + "application/json": { + /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Add selected repository to an organization secret](https://docs.github.com/rest/actions/secrets#add-selected-repository-to-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids: (number)[]; }; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - jobs_url: string; - /** Format: uri */ - logs_url: string; - name: OneOf<[string, null]>; - node_id: string; - path: string; - /** Format: uri */ - previous_attempt_url: OneOf<[string, null]>; - pull_requests: ({ - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - })[]; - referenced_workflows?: OneOf<[({ - path: string; - ref?: string; - sha: string; - })[], null]>; - /** Repository Lite */ - repository: { - /** Format: uri-template */ - archive_url: string; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - description: OneOf<[string, null]>; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - /** User */ - owner: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** @description Whether the repository is private or public. */ - private: boolean; - /** Format: uri-template */ - pulls_url: string; - /** Format: uri-template */ - releases_url: string; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - /** Format: uri-template */ - trees_url: string; - /** Format: uri */ - url: string; + }; + }; + responses: { + /** @description Response */ + 204: never; + }; + }; + "actions/add-selected-repo-to-org-secret": { + /** + * Add selected repository to an organization secret + * @description Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + */ + parameters: { + path: { + repository_id: number; + }; + }; + responses: { + /** @description No Content when repository was added to the selected list */ + 204: never; + /** @description Conflict when visibility type is not set to selected */ + 409: never; + }; + }; + "actions/remove-selected-repo-from-org-secret": { + /** + * Remove selected repository from an organization secret + * @description Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + */ + parameters: { + path: { + repository_id: number; + }; + }; + responses: { + /** @description Response when repository was removed from the selected list */ + 204: never; + /** @description Conflict when visibility type not set to selected */ + 409: never; + }; + }; + "orgs/list-blocked-users": { + /** + * List users blocked by an organization + * @description List the users blocked by an organization. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": (components["schemas"]["simple-user"])[]; + }; + }; + }; + }; + "orgs/check-blocked-user": { + /** Check if a user is blocked by an organization */ + responses: { + /** @description If the user is blocked */ + 204: never; + /** @description If the user is not blocked */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + "orgs/block-user": { + /** Block a user from an organization */ + responses: { + /** @description Response */ + 204: never; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/unblock-user": { + /** Unblock a user from an organization */ + responses: { + /** @description Response */ + 204: never; + }; + }; + "code-scanning/list-alerts-for-org": { + /** + * List code scanning alerts for an organization + * @description Lists code scanning alerts for the default branch for all eligible repositories in an organization. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. + * + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `security_events` read permission to use this endpoint. + */ + parameters?: { + /** @description If specified, only code scanning alerts with this state will be returned. */ + /** @description The property by which to sort the results. */ + query?: { + state?: components["schemas"]["code-scanning-alert-state"]; + sort?: "created" | "updated"; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": (components["schemas"]["code-scanning-organization-alert-items"])[]; }; - /** Format: uri */ - rerun_url: string; - run_attempt: number; - run_number: number; - /** Format: date-time */ - run_started_at: string; - /** @enum {string} */ - status: "requested" | "in_progress" | "completed" | "queued" | "pending" | "waiting"; - /** User */ - triggering_actor: OneOf<[{ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: OneOf<[string, null]>; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }, null]>; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - workflow_id: number; - /** Format: uri */ - workflow_url: string; - display_title: string; }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; }; }; - responses: { - /** @description Resource not found */ - not_found: { - content: { - "application/json": components["schemas"]["basic-error"]; + "codespaces/list-in-organization": { + /** + * List codespaces for the organization + * @description Lists the codespaces associated to a specified organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + codespaces: (components["schemas"]["codespace"])[]; + }; + }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; }; - /** @description Validation failed, or the endpoint has been spammed. */ - validation_failed_simple: { + }; + "codespaces/set-codespaces-billing": { + /** + * Manage access control for organization codespaces + * @description Sets which users can access codespaces in an organization. This is synonymous with granting or revoking codespaces billing permissions for users according to the visibility. + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + requestBody: { content: { - "application/json": components["schemas"]["validation-error-simple"]; + "application/json": { + /** + * @description Which users can access codespaces in the organization. `disabled` means that no users can access codespaces in the organization. + * @enum {string} + */ + visibility: "disabled" | "selected_members" | "all_members" | "all_members_and_outside_collaborators"; + /** @description The usernames of the organization members who should be granted access to codespaces in the organization. Required when `visibility` is `selected_members`. */ + selected_usernames?: (string)[]; + }; }; }; - /** @description Bad Request */ - bad_request: { - content: { - "application/json": components["schemas"]["basic-error"]; - "application/scim+json": components["schemas"]["scim-error"]; + responses: { + /** @description Response when successfully modifying permissions. */ + 204: never; + 304: components["responses"]["not_modified"]; + /** @description Users are neither members nor collaborators of this organization. */ + 400: never; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/list-org-secrets": { + /** + * List organization secrets + * @description Lists all Codespaces secrets available at the organization-level without revealing their encrypted values. + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + secrets: (components["schemas"]["codespaces-org-secret"])[]; + }; + }; }; }; - /** @description Validation failed, or the endpoint has been spammed. */ - validation_failed: { - content: { - "application/json": components["schemas"]["validation-error"]; + }; + "codespaces/get-org-public-key": { + /** + * Get an organization public key + * @description Gets a public key for an organization, which is required in order to encrypt secrets. You need to encrypt the value of a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["codespaces-public-key"]; + }; }; }; - /** @description Accepted */ - accepted: { + }; + "codespaces/get-org-secret": { + /** + * Get an organization secret + * @description Gets an organization secret without revealing its encrypted value. + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["codespaces-org-secret"]; + }; + }; + }; + }; + "codespaces/create-or-update-org-secret": { + /** + * Create or update an organization secret + * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `admin:org` scope to use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [libsodium-wrappers](https://www.npmjs.com/package/libsodium-wrappers) library. + * + * ``` + * const sodium = require('libsodium-wrappers') + * const secret = 'plain-text-secret' // replace with the secret you want to encrypt + * const key = 'base64-encoded-public-key' // replace with the Base64 encoded public key + * + * //Check if libsodium is ready and then proceed. + * sodium.ready.then(() => { + * // Convert Secret & Base64 key to Uint8Array. + * let binkey = sodium.from_base64(key, sodium.base64_variants.ORIGINAL) + * let binsec = sodium.from_string(secret) + * + * //Encrypt the secret using LibSodium + * let encBytes = sodium.crypto_box_seal(binsec, binkey) + * + * // Convert encrypted Uint8Array to Base64 + * let output = sodium.to_base64(encBytes, sodium.base64_variants.ORIGINAL) + * + * console.log(output) + * }); + * ``` + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + requestBody: { content: { - "application/json": Record; + "application/json": { + /** @description The value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/reference/codespaces#get-an-organization-public-key) endpoint. */ + encrypted_value?: string; + /** @description The ID of the key you used to encrypt the secret. */ + key_id?: string; + /** + * @description Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** @description An array of repository IDs that can access the organization secret. You can only provide a list of repository IDs when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/reference/codespaces#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/codespaces#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/codespaces#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids?: (number)[]; + }; }; }; - /** @description Forbidden */ - forbidden: { + responses: { + /** @description Response when creating a secret */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: never; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "codespaces/delete-org-secret": { + /** + * Delete an organization secret + * @description Deletes an organization secret using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + responses: { + /** @description Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + "codespaces/list-selected-repos-for-org-secret": { + /** + * List selected repositories for an organization secret + * @description Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + repositories: (components["schemas"]["minimal-repository"])[]; + }; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "codespaces/set-selected-repos-for-org-secret": { + /** + * Set selected repositories for an organization secret + * @description Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/codespaces#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + requestBody: { content: { - "application/json": components["schemas"]["basic-error"]; + "application/json": { + /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/codespaces#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/codespaces#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids: (number)[]; + }; }; }; - /** @description Requires authentication */ - requires_authentication: { + responses: { + /** @description Response */ + 204: never; + 404: components["responses"]["not_found"]; + /** @description Conflict when visibility type not set to selected */ + 409: never; + }; + }; + "codespaces/add-selected-repo-to-org-secret": { + /** + * Add selected repository to an organization secret + * @description Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/codespaces#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + parameters: { + path: { + repository_id: number; + }; + }; + responses: { + /** @description No Content when repository was added to the selected list */ + 204: never; + 404: components["responses"]["not_found"]; + /** @description Conflict when visibility type is not set to selected */ + 409: never; + 422: components["responses"]["validation_failed"]; + }; + }; + "codespaces/remove-selected-repo-from-org-secret": { + /** + * Remove selected repository from an organization secret + * @description Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/codespaces#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + parameters: { + path: { + repository_id: number; + }; + }; + responses: { + /** @description Response when repository was removed from the selected list */ + 204: never; + 404: components["responses"]["not_found"]; + /** @description Conflict when visibility type not set to selected */ + 409: never; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/create-custom-role": { + /** + * Create a custom role + * @description **Note**: This operation is in beta and is subject to change. + * + * Creates a custom repository role that can be used by all repositories owned by the organization. + * + * To use this endpoint the authenticated user must be an administrator for the organization and must use an access token with `admin:org` scope. + * GitHub Apps must have the `organization_custom_roles:write` organization permission to use this endpoint. + * + * For more information on custom repository roles, see "[About custom repository roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-repository-roles)." + */ + requestBody: { content: { - "application/json": components["schemas"]["basic-error"]; + "application/json": { + /** @description The name of the custom role. */ + name: string; + /** @description A short description about the intended usage of this role or what permissions it grants. */ + description?: string; + /** + * @description The system role from which this role inherits permissions. + * @enum {string} + */ + base_role: "read" | "triage" | "write" | "maintain"; + /** @description A list of additional permissions included in this role. */ + permissions: (string)[]; + }; }; }; - /** @description Not modified */ - not_modified: never; - /** @description Response */ - actions_runner_labels: { + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["organization-custom-repository-role"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/get-custom-role": { + /** + * Get a custom role + * @description **Note**: This operation is in beta and is subject to change. + * + * Gets a custom repository role that is available to all repositories owned by the organization. + * + * To use this operation, the authenticated user must be an administrator for the organization and must use an access token with `admin:org` scope. + * GitHub Apps must have the `organization_custom_roles:write` organization permission to use this endpoint. + * + * For more information on custom repository roles, see "[About custom repository roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-repository-roles)." + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["organization-custom-repository-role"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/delete-custom-role": { + /** + * Delete a custom role + * @description **Note**: This operation is in beta and is subject to change. + * + * Deletes a custom role from an organization. Once the custom role has been deleted, any + * user, team, or invitation with the deleted custom role will be reassigned the inherited role. + * + * To use this endpoint the authenticated user must be an administrator for the organization and must use an access token with `admin:org` scope. + * GitHub Apps must have the `organization_custom_roles:write` organization permission to use this endpoint. + * + * For more information about custom repository roles, see "[About custom repository roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-repository-roles)." + */ + responses: { + /** @description Response */ + 204: never; + }; + }; + "orgs/update-custom-role": { + /** + * Update a custom role + * @description **Note**: This operation is in beta and subject to change. + * + * Updates a custom repository role that can be used by all repositories owned by the organization. + * + * To use this endpoint the authenticated user must be an administrator for the organization and must use an access token with `admin:org` scope. + * GitHub Apps must have the `organization_custom_roles:write` organization permission to use this endpoint. + * + * For more information about custom repository roles, see "[About custom repository roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-repository-roles)." + */ + requestBody: { content: { "application/json": { - total_count: number; - labels: (components["schemas"]["runner-label"])[]; + /** @description The name of the custom role. */ + name?: string; + /** @description A short description about who this role is for or what permissions it grants. */ + description?: string; + /** + * @description The system role from which this role inherits permissions. + * @enum {string} + */ + base_role?: "read" | "triage" | "write" | "maintain"; + /** @description A list of additional permissions included in this role. If specified, these permissions will replace any currently set on the role. */ + permissions?: (string)[]; }; }; }; - /** @description Response */ - actions_runner_labels_readonly: { - content: { - "application/json": { - total_count: number; - labels: (components["schemas"]["runner-label"])[]; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["organization-custom-repository-role"]; }; }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; - /** @description Service unavailable */ - service_unavailable: { - content: { - "application/json": { - code?: string; - message?: string; - documentation_url?: string; + }; + "dependabot/list-alerts-for-org": { + /** + * List Dependabot alerts for an organization + * @description Lists Dependabot alerts for an organization. + * + * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. + * + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": (components["schemas"]["dependabot-alert-with-repository"])[]; }; }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; }; - /** @description Response if GitHub Advanced Security is not enabled for this repository */ - code_scanning_forbidden_read: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Forbidden Gist */ - forbidden_gist: { - content: { - "application/json": { - block?: { - reason?: string; - created_at?: string; - html_url?: OneOf<[string, null]>; + }; + "dependabot/list-org-secrets": { + /** + * List organization secrets + * @description Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. + */ + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + secrets: (components["schemas"]["organization-dependabot-secret"])[]; }; - message?: string; - documentation_url?: string; }; }; }; - /** @description Moved permanently */ - moved_permanently: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Conflict */ - conflict: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Internal Error */ - internal_error: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Gone */ - gone: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Temporary Redirect */ - temporary_redirect: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Response if the repository is archived or if GitHub Advanced Security is not enabled for this repository */ - code_scanning_forbidden_write: { - content: { - "application/json": components["schemas"]["basic-error"]; + }; + "dependabot/get-org-public-key": { + /** + * Get an organization public key + * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["dependabot-public-key"]; + }; }; }; - /** @description Found */ - found: never; - /** @description Unavailable due to service under maintenance. */ - porter_maintenance: { - content: { - "application/json": components["schemas"]["basic-error"]; + }; + "dependabot/get-org-secret": { + /** + * Get an organization secret + * @description Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["organization-dependabot-secret"]; + }; }; }; - /** @description A header with no content is returned. */ - no_content: never; }; - parameters: { - /** @description The number of results per page (max 100). */ - "per-page": number; - /** @description Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors. */ - cursor: string; - "delivery-id": number; - /** @description Page number of the results to fetch. */ - page: number; - /** @description Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - since: string; - /** @description The unique identifier of the installation. */ - "installation-id": number; - /** @description The client ID of the GitHub app. */ - "client-id": string; - "app-slug": string; - /** @description The slug version of the enterprise name or the login of an organization. */ - "enterprise-or-org": string; - /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: string; - /** @description The unique identifier of the organization. */ - "org-id": number; - /** @description Only return runner groups that are allowed to be used by this organization. */ - "visible-to-organization": string; - /** @description Unique identifier of the self-hosted runner group. */ - "runner-group-id": number; - /** @description Unique identifier of the self-hosted runner. */ - "runner-id": number; - /** @description The name of a self-hosted runner's custom label. */ - "runner-label-name": string; - /** @description The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ - "tool-name": components["schemas"]["code-scanning-analysis-tool-name"]; - /** @description The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ - "tool-guid": components["schemas"]["code-scanning-analysis-tool-guid"]; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for results before this cursor. */ - "pagination-before": string; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for results after this cursor. */ - "pagination-after": string; - /** @description The direction to sort the results by. */ - direction: "asc" | "desc"; + "dependabot/create-or-update-org-secret": { /** - * @description A comma-separated list of states. If specified, only alerts with these states will be returned. + * Create or update an organization secret + * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization + * permission to use this endpoint. * - * Can be: `dismissed`, `fixed`, `open` - */ - "dependabot-alert-comma-separated-states": string; - /** - * @description A comma-separated list of severities. If specified, only alerts with these severities will be returned. + * #### Example encrypting a secret using Node.js * - * Can be: `low`, `medium`, `high`, `critical` - */ - "dependabot-alert-comma-separated-severities": string; - /** - * @description A comma-separated list of ecosystems. If specified, only alerts for these ecosystems will be returned. + * Encrypt your secret using the [libsodium-wrappers](https://www.npmjs.com/package/libsodium-wrappers) library. * - * Can be: `composer`, `go`, `maven`, `npm`, `nuget`, `pip`, `pub`, `rubygems`, `rust` - */ - "dependabot-alert-comma-separated-ecosystems": string; - /** @description A comma-separated list of package names. If specified, only alerts for these packages will be returned. */ - "dependabot-alert-comma-separated-packages": string; - /** @description The scope of the vulnerable dependency. If specified, only alerts with this scope will be returned. */ - "dependabot-alert-scope": "development" | "runtime"; - /** - * @description The property by which to sort the results. - * `created` means when the alert was created. - * `updated` means when the alert's state last changed. - */ - "dependabot-alert-sort": "created" | "updated"; - /** - * @description The number of results per page (max 100), starting from the first matching result. - * This parameter must not be used in combination with `last`. - */ - "pagination-first": number; - /** - * @description The number of results per page (max 100), starting from the last matching result. - * This parameter must not be used in combination with `first`. - */ - "pagination-last": number; - /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ - "secret-scanning-alert-state": "open" | "resolved"; - /** - * @description A comma-separated list of secret types to return. By default all secret types are returned. - * See "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)" - * for a complete list of secret types. - */ - "secret-scanning-alert-secret-type": string; - /** @description A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */ - "secret-scanning-alert-resolution": string; - /** @description The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved. */ - "secret-scanning-alert-sort": "created" | "updated"; - /** @description The unique identifier of the gist. */ - "gist-id": string; - /** @description The unique identifier of the comment. */ - "comment-id": number; - /** @description A list of comma separated label names. Example: `bug,ui,@high` */ - labels: string; - /** @description account_id parameter */ - "account-id": number; - /** @description The unique identifier of the plan. */ - "plan-id": number; - /** @description The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. */ - sort: "created" | "updated"; - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; - /** @description The name of the repository. The name is not case sensitive. */ - repo: string; - /** @description If `true`, show notifications marked as read. */ - all: boolean; - /** @description If `true`, only shows notifications in which the user is directly participating or mentioned. */ - participating: boolean; - /** @description Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - before: string; - /** @description The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/reference/activity#list-notifications-for-the-authenticated-user)). */ - "thread-id": number; - /** @description An organization ID. Only return organizations with an ID greater than this ID. */ - "since-org": number; - /** @description The organization name. The name is not case sensitive. */ - org: string; - /** @description The unique identifier of the repository. */ - "repository-id": number; - /** @description Only return runner groups that are allowed to be used by this repository. */ - "visible-to-repository": string; - /** @description The name of the secret. */ - "secret-name": string; - /** @description The handle for the GitHub user account. */ - username: string; - /** @description The unique identifier of the role. */ - "role-id": number; - /** @description The unique identifier of the hook. */ - "hook-id": number; - /** @description The unique identifier of the invitation. */ - "invitation-id": number; - /** @description The name of the codespace. */ - "codespace-name": string; - /** @description The unique identifier of the migration. */ - "migration-id": number; - /** @description repo_name parameter */ - "repo-name": string; - /** @description The selected visibility of the packages. Only `container` package_types currently support `internal` visibility properly. For other ecosystems `internal` is synonymous with `private`. This parameter is optional and only filters an existing result set. */ - "package-visibility": "public" | "private" | "internal"; - /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ - "package-type": "npm" | "maven" | "rubygems" | "docker" | "nuget" | "container"; - /** @description The name of the package. */ - "package-name": string; - /** @description Unique identifier of the package version. */ - "package-version-id": number; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. To receive an initial cursor on your first request, include an empty "before" query string. */ - "secret-scanning-pagination-before-org-repo": string; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. To receive an initial cursor on your first request, include an empty "after" query string. */ - "secret-scanning-pagination-after-org-repo": string; - /** @description The slug of the team name. */ - "team-slug": string; - /** @description The number that identifies the discussion. */ - "discussion-number": number; - /** @description The number that identifies the comment. */ - "comment-number": number; - /** @description The unique identifier of the reaction. */ - "reaction-id": number; - /** @description The unique identifier of the project. */ - "project-id": number; - /** @description The security feature to enable or disable. */ - "security-product": "dependency_graph" | "dependabot_alerts" | "dependabot_security_updates" | "advanced_security" | "secret_scanning" | "secret_scanning_push_protection"; - /** - * @description The action to take. + * ``` + * const sodium = require('libsodium-wrappers') + * const secret = 'plain-text-secret' // replace with the secret you want to encrypt + * const key = 'base64-encoded-public-key' // replace with the Base64 encoded public key * - * `enable_all` means to enable the specified security feature for all repositories in the organization. - * `disable_all` means to disable the specified security feature for all repositories in the organization. - */ - "org-security-product-enablement": "enable_all" | "disable_all"; - /** @description The unique identifier of the card. */ - "card-id": number; - /** @description The unique identifier of the column. */ - "column-id": number; - /** @description The unique identifier of the artifact. */ - "artifact-id": number; - /** @description The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ - "git-ref": components["schemas"]["code-scanning-ref"]; - /** @description An explicit key or prefix for identifying the cache */ - "actions-cache-key": string; - /** @description The property to sort the results by. `created_at` means when the cache was created. `last_accessed_at` means when the cache was last accessed. `size_in_bytes` is the size of the cache in bytes. */ - "actions-cache-list-sort": "created_at" | "last_accessed_at" | "size_in_bytes"; - /** @description A key for identifying the cache. */ - "actions-cache-key-required": string; - /** @description The unique identifier of the GitHub Actions cache. */ - "cache-id": number; - /** @description The unique identifier of the job. */ - "job-id": number; - /** @description Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. */ - actor: string; - /** @description Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ - "workflow-run-branch": string; - /** @description Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://docs.github.com/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ - event: string; - /** @description Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`. */ - "workflow-run-status": "completed" | "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | "in_progress" | "queued" | "requested" | "waiting"; - /** @description Returns workflow runs created within the given date-time range. For more information on the syntax, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ - created: string; - /** @description If `true` pull requests are omitted from the response (empty array). */ - "exclude-pull-requests": boolean; - /** @description Returns workflow runs with the `check_suite_id` that you specify. */ - "workflow-run-check-suite-id": number; - /** @description Only returns workflow runs that are associated with the specified `head_sha`. */ - "workflow-run-head-sha": string; - /** @description The unique identifier of the workflow run. */ - "run-id": number; - /** @description The attempt number of the workflow run. */ - "attempt-number": number; - /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ - "workflow-id": number | string; - /** @description The unique identifier of the autolink. */ - "autolink-id": number; - /** @description The name of the branch. */ - branch: string; - /** @description The unique identifier of the check run. */ - "check-run-id": number; - /** @description The unique identifier of the check suite. */ - "check-suite-id": number; - /** @description Returns check runs with the specified `name`. */ - "check-name": string; - /** @description Returns check runs with the specified `status`. */ - status: "queued" | "in_progress" | "completed"; - /** @description The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ - "alert-number": components["schemas"]["alert-number"]; - /** @description The SHA of the commit. */ - "commit-sha": string; - /** @description A comma-separated list of full manifest paths. If specified, only alerts for these manifests will be returned. */ - "dependabot-alert-comma-separated-manifests": string; - /** - * @description The number that identifies a Dependabot alert in its repository. - * You can find this at the end of the URL for a Dependabot alert within GitHub, - * or in `number` fields in the response from the - * `GET /repos/{owner}/{repo}/dependabot/alerts` operation. + * //Check if libsodium is ready and then proceed. + * sodium.ready.then(() => { + * // Convert Secret & Base64 key to Uint8Array. + * let binkey = sodium.from_base64(key, sodium.base64_variants.ORIGINAL) + * let binsec = sodium.from_string(secret) + * + * //Encrypt the secret using LibSodium + * let encBytes = sodium.crypto_box_seal(binsec, binkey) + * + * // Convert encrypted Uint8Array to Base64 + * let output = sodium.to_base64(encBytes, sodium.base64_variants.ORIGINAL) + * + * console.log(output) + * }); + * ``` + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` */ - "dependabot-alert-number": components["schemas"]["alert-number"]; - /** @description The full path, relative to the repository root, of the dependency manifest file. */ - "manifest-path": string; - /** @description deployment_id parameter */ - "deployment-id": number; - /** @description The name of the environment. */ - "environment-name": string; - /** @description The unique identifier of the branch policy. */ - "branch-policy-id": number; - /** @description A user ID. Only return users with an ID greater than this ID. */ - "since-user": number; - /** @description The number that identifies the issue. */ - "issue-number": number; - /** @description The unique identifier of the key. */ - "key-id": number; - /** @description The number that identifies the milestone. */ - "milestone-number": number; - /** @description The number that identifies the pull request. */ - "pull-number": number; - /** @description The unique identifier of the review. */ - "review-id": number; - /** @description The unique identifier of the asset. */ - "asset-id": number; - /** @description The unique identifier of the release. */ - "release-id": number; - /** @description The unique identifier of the tag protection. */ - "tag-protection-id": number; - /** @description The time frame to display results for. */ - per: "" | "day" | "week"; - /** @description A repository ID. Only return repositories with an ID greater than this ID. */ - "since-repo": number; - /** @description Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ - order: "desc" | "asc"; - /** @description The unique identifier of the team. */ - "team-id": number; - /** @description ID of the Repository to filter on */ - "repository-id-in-query": number; - /** @description The ID of the export operation, or `latest`. Currently only `latest` is currently supported. */ - "export-id": string; - /** @description The unique identifier of the GPG key. */ - "gpg-key-id": number; - /** @description The unique identifier of the SSH signing key. */ - "ssh-signing-key-id": number; - }; - requestBodies: never; - headers: { - /** @example ; rel="next", ; rel="last" */ - link: string; - /** @example text/html */ - "content-type": string; - /** @example 0.17.4 */ - "x-common-marker-version": string; - /** @example 5000 */ - "x-rate-limit-limit": number; - /** @example 4999 */ - "x-rate-limit-remaining": number; - /** @example 1590701888 */ - "x-rate-limit-reset": number; - /** @example https://pipelines.actions.githubusercontent.com/OhgS4QRKqmgx7bKC27GKU83jnQjyeqG8oIMTge8eqtheppcmw8/_apis/pipelines/1/runs/176/signedlogcontent?urlExpires=2020-01-24T18%3A10%3A31.5729946Z&urlSigningMethod=HMACV1&urlSignature=agG73JakPYkHrh06seAkvmH7rBR4Ji4c2%2B6a2ejYh3E%3D */ - location: string; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/reference/dependabot#get-an-organization-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; + /** + * @description Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/reference/dependabot#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/dependabot#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/dependabot#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids?: (string)[]; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: never; + }; }; - pathItems: never; -} - -export type external = Record; - -export interface operations { - - "meta/root": { + "dependabot/delete-org-secret": { /** - * GitHub API Root - * @description Get Hypermedia links to resources accessible in GitHub's REST API + * Delete an organization secret + * @description Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ responses: { /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["root"]; - }; - }; + 204: never; }; }; - "apps/get-authenticated": { + "dependabot/list-selected-repos-for-org-secret": { /** - * Get the authenticated app - * @description Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app's installations, see the "[List installations for the authenticated app](https://docs.github.com/rest/reference/apps#list-installations-for-the-authenticated-app)" endpoint. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * List selected repositories for an organization secret + * @description Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["integration"]; + "application/json": { + total_count: number; + repositories: (components["schemas"]["minimal-repository"])[]; + }; }; }; }; }; - "apps/create-from-manifest": { + "dependabot/set-selected-repos-for-org-secret": { /** - * Create a GitHub App from a manifest - * @description Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://docs.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`. + * Set selected repositories for an organization secret + * @description Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/dependabot#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ - parameters: { - path: { - code: string; + requestBody: { + content: { + "application/json": { + /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/dependabot#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/dependabot#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids: (number)[]; + }; }; }; responses: { /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["integration"] & ({ - client_id: string; - client_secret: string; - webhook_secret: OneOf<[string, null]>; - pem: string; - [key: string]: unknown | undefined; - }); - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; + 204: never; }; }; - "apps/get-webhook-config-for-app": { + "dependabot/add-selected-repo-to-org-secret": { /** - * Get a webhook configuration for an app - * @description Returns the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * Add selected repository to an organization secret + * @description Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/dependabot#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["webhook-config"]; - }; + parameters: { + path: { + repository_id: number; }; }; + responses: { + /** @description No Content when repository was added to the selected list */ + 204: never; + /** @description Conflict when visibility type is not set to selected */ + 409: never; + }; }; - "apps/update-webhook-config-for-app": { + "dependabot/remove-selected-repo-from-org-secret": { /** - * Update a webhook configuration for an app - * @description Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * Remove selected repository from an organization secret + * @description Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/dependabot#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ - requestBody: { - content: { - "application/json": { - url?: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - }; + parameters: { + path: { + repository_id: number; }; }; + responses: { + /** @description Response when repository was removed from the selected list */ + 204: never; + /** @description Conflict when visibility type not set to selected */ + 409: never; + }; + }; + "activity/list-public-org-events": { + /** List public organization events */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["webhook-config"]; + "application/json": (components["schemas"]["event"])[]; }; }; }; }; - "apps/list-webhook-deliveries": { + "orgs/list-failed-invitations": { /** - * List deliveries for an app webhook - * @description Returns a list of webhook deliveries for the webhook configured for a GitHub App. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * List failed organization invitations + * @description The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure. */ responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": (components["schemas"]["hook-delivery-item"])[]; + "application/json": (components["schemas"]["organization-invitation"])[]; }; }; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; + 404: components["responses"]["not_found"]; }; }; - "apps/get-webhook-delivery": { + "orgs/list-fine-grained-permissions": { /** - * Get a delivery for an app webhook - * @description Returns a delivery for the webhook configured for a GitHub App. + * List fine-grained permissions for an organization + * @description **Note**: This operation is in beta and subject to change. * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * Lists the fine-grained permissions available for an organization. + * + * To use this endpoint the authenticated user must be an administrator for the organization or of an repository of the organizaiton and must use an access token with `admin:org repo` scope. + * GitHub Apps must have the `organization_custom_roles:read` organization permission to use this endpoint. */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["hook-delivery"]; + "application/json": (components["schemas"]["organization-fine-grained-permission"])[]; }; }; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; }; }; - "apps/redeliver-webhook-delivery": { - /** - * Redeliver a delivery for an app webhook - * @description Redeliver a delivery for the webhook configured for a GitHub App. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ + "orgs/list-webhooks": { + /** List organization webhooks */ responses: { - 202: components["responses"]["accepted"]; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": (components["schemas"]["org-hook"])[]; + }; + }; + 404: components["responses"]["not_found"]; }; }; - "apps/list-installations": { + "orgs/create-webhook": { /** - * List installations for the authenticated app - * @description You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - * - * The permissions the installation has are included under the `permissions` key. + * Create an organization webhook + * @description Here's how you can create a hook that posts payloads in JSON format: */ - parameters?: { - query?: { - outdated?: string; + requestBody: { + content: { + "application/json": { + /** @description Must be passed as "web". */ + name: string; + /** @description Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/orgs#create-hook-config-params). */ + config: { + url: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + username?: string; + password?: string; + }; + /** + * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. Set to `["*"]` to receive all possible events. + * @default [ + * "push" + * ] + */ + events?: (string)[]; + /** + * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + * @default true + */ + active?: boolean; + }; }; }; responses: { - /** @description The permissions the installation has are included under the `permissions` key. */ - 200: { + /** @description Response */ + 201: { headers: { - Link: components["headers"]["link"]; + /** @example https://api.github.com/orgs/octocat/hooks/1 */ + Location?: string; }; content: { - "application/json": (components["schemas"]["installation"])[]; + "application/json": components["schemas"]["org-hook"]; }; }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - "apps/get-installation": { + "orgs/get-webhook": { /** - * Get an installation for the authenticated app - * @description Enables an authenticated GitHub App to find an installation's information using the installation id. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * Get an organization webhook + * @description Returns a webhook configured in an organization. To get only the webhook `config` properties, see "[Get a webhook configuration for an organization](/rest/reference/orgs#get-a-webhook-configuration-for-an-organization)." */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["installation"]; + "application/json": components["schemas"]["org-hook"]; }; }; 404: components["responses"]["not_found"]; }; }; - "apps/delete-installation": { - /** - * Delete an installation for the authenticated app - * @description Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/rest/reference/apps/#suspend-an-app-installation)" endpoint. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ + "orgs/delete-webhook": { + /** Delete an organization webhook */ responses: { /** @description Response */ 204: never; 404: components["responses"]["not_found"]; }; }; - "apps/create-installation-access-token": { + "orgs/update-webhook": { /** - * Create an installation access token for an app - * @description Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * Update an organization webhook + * @description Updates a webhook configured in an organization. When you update a webhook, the `secret` will be overwritten. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for an organization](/rest/reference/orgs#update-a-webhook-configuration-for-an-organization)." */ requestBody?: { content: { "application/json": { - /** @description List of repository names that the token should have access to */ - repositories?: (string)[]; - /** @description List of repository IDs that the token should have access to */ - repository_ids?: (number)[]; - permissions?: components["schemas"]["app-permissions"]; + /** @description Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/orgs#update-hook-config-params). */ + config?: { + url: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + /** + * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. + * @default [ + * "push" + * ] + */ + events?: (string)[]; + /** + * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + * @default true + */ + active?: boolean; + name?: string; }; }; }; responses: { /** @description Response */ - 201: { + 200: { content: { - "application/json": components["schemas"]["installation-token"]; + "application/json": components["schemas"]["org-hook"]; }; }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; }; }; - "apps/suspend-installation": { + "orgs/get-webhook-config-for-org": { /** - * Suspend an app installation - * @description Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account. + * Get a webhook configuration for an organization + * @description Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use "[Get an organization webhook ](/rest/reference/orgs#get-an-organization-webhook)." * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:read` permission. */ responses: { /** @description Response */ - 204: never; - 404: components["responses"]["not_found"]; + 200: { + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; }; }; - "apps/unsuspend-installation": { + "orgs/update-webhook-config-for-org": { /** - * Unsuspend an app installation - * @description Removes a GitHub App installation suspension. + * Update a webhook configuration for an organization + * @description Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use "[Update an organization webhook ](/rest/reference/orgs#update-an-organization-webhook)." * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - responses: { - /** @description Response */ - 204: never; - 404: components["responses"]["not_found"]; - }; - }; - "apps/delete-authorization": { - /** - * Delete an app authorization - * @description OAuth application owners can revoke a grant for their OAuth application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. - * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). + * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:write` permission. */ - requestBody: { + requestBody?: { content: { "application/json": { - /** @description The OAuth access token used to authenticate to the GitHub API. */ - access_token: string; + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; }; }; }; responses: { /** @description Response */ - 204: never; - 422: components["responses"]["validation_failed"]; + 200: { + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; }; }; - "apps/check-token": { + "orgs/list-webhook-deliveries": { /** - * Check a token - * @description OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the OAuth application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. + * List deliveries for an organization webhook + * @description Returns a list of webhook deliveries for a webhook configured in an organization. */ - requestBody: { - content: { - "application/json": { - /** @description The access_token of the OAuth application. */ - access_token: string; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": (components["schemas"]["hook-delivery-item"])[]; }; }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; }; + }; + "orgs/get-webhook-delivery": { + /** + * Get a webhook delivery for an organization webhook + * @description Returns a delivery for a webhook configured in an organization. + */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["authorization"]; + "application/json": components["schemas"]["hook-delivery"]; }; }; - 404: components["responses"]["not_found"]; + 400: components["responses"]["bad_request"]; 422: components["responses"]["validation_failed"]; }; }; - "apps/delete-token": { + "orgs/redeliver-webhook-delivery": { /** - * Delete an app token - * @description OAuth application owners can revoke a single token for an OAuth application. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. + * Redeliver a delivery for an organization webhook + * @description Redeliver a delivery for a webhook configured in an organization. */ - requestBody: { - content: { - "application/json": { - /** @description The OAuth access token used to authenticate to the GitHub API. */ - access_token: string; - }; - }; + responses: { + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; }; + }; + "orgs/ping-webhook": { + /** + * Ping an organization webhook + * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. + */ responses: { /** @description Response */ 204: never; - 422: components["responses"]["validation_failed"]; + 404: components["responses"]["not_found"]; }; }; - "apps/reset-token": { + "apps/get-org-installation": { /** - * Reset a token - * @description OAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + * Get an organization installation for the authenticated app + * @description Enables an authenticated GitHub App to find the organization's installation information. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ - requestBody: { - content: { - "application/json": { - /** @description The access_token of the OAuth application. */ - access_token: string; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + }; + }; + "orgs/list-app-installations": { + /** + * List app installations for an organization + * @description Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint. + */ + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + installations: (components["schemas"]["installation"])[]; + }; }; }; }; + }; + "interactions/get-restrictions-for-org": { + /** + * Get interaction restrictions for an organization + * @description Shows which type of GitHub user can interact with this organization and when the restriction expires. If there is no restrictions, you will see an empty response. + */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["authorization"]; + "application/json": components["schemas"]["interaction-limit-response"] | Record; }; }; - 422: components["responses"]["validation_failed"]; }; }; - "apps/scope-token": { + "interactions/set-restrictions-for-org": { /** - * Create a scoped access token - * @description Use a non-scoped user-to-server OAuth access token to create a repository scoped and/or permission scoped user-to-server OAuth access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + * Set interaction restrictions for an organization + * @description Temporarily restricts interactions to a certain type of GitHub user in any public repository in the given organization. You must be an organization owner to set these restrictions. Setting the interaction limit at the organization level will overwrite any interaction limits that are set for individual repositories owned by the organization. */ requestBody: { content: { - "application/json": { - /** @description The OAuth access token used to authenticate to the GitHub API. */ - access_token: string; - /** @description The name of the user or organization to scope the user-to-server access token to. **Required** unless `target_id` is specified. */ - target?: string; - /** @description The ID of the user or organization to scope the user-to-server access token to. **Required** unless `target` is specified. */ - target_id?: number; - /** @description The list of repository names to scope the user-to-server access token to. `repositories` may not be specified if `repository_ids` is specified. */ - repositories?: (string)[]; - /** @description The list of repository IDs to scope the user-to-server access token to. `repository_ids` may not be specified if `repositories` is specified. */ - repository_ids?: (number)[]; - permissions?: components["schemas"]["app-permissions"]; - }; + "application/json": components["schemas"]["interaction-limit"]; }; }; responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["authorization"]; + "application/json": components["schemas"]["interaction-limit-response"]; }; }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; }; }; - "apps/get-by-slug": { + "interactions/remove-restrictions-for-org": { /** - * Get an app - * @description **Note**: The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`). - * - * If the GitHub App you specify is public, you can access this endpoint without authenticating. If the GitHub App you specify is private, you must authenticate with a [personal access token](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + * Remove interaction restrictions for an organization + * @description Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions. + */ + responses: { + /** @description Response */ + 204: never; + }; + }; + "orgs/list-pending-invitations": { + /** + * List pending organization invitations + * @description The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. */ responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["integration"]; + "application/json": (components["schemas"]["organization-invitation"])[]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/create-invitation": { + /** + * Create an organization invitation + * @description Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + requestBody?: { + content: { + "application/json": { + /** @description **Required unless you provide `email`**. GitHub user ID for the person you are inviting. */ + invitee_id?: number; + /** @description **Required unless you provide `invitee_id`**. Email address of the person you are inviting, which can be an existing GitHub user. */ + email?: string; + /** + * @description The role for the new member. + * \* `admin` - Organization owners with full administrative rights to the organization and complete access to all repositories and teams. + * \* `direct_member` - Non-owner organization members with ability to see other members and join teams by invitation. + * \* `billing_manager` - Non-owner organization members with ability to manage the billing settings of your organization. + * @default direct_member + * @enum {string} + */ + role?: "admin" | "direct_member" | "billing_manager"; + /** @description Specify IDs for the teams you want to invite new members to. */ + team_ids?: (number)[]; }; }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; }; - }; - "codes-of-conduct/get-all-codes-of-conduct": { - /** Get all codes of conduct */ responses: { /** @description Response */ - 200: { + 201: { content: { - "application/json": (components["schemas"]["code-of-conduct"])[]; + "application/json": components["schemas"]["organization-invitation"]; }; }; - 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - "codes-of-conduct/get-conduct-code": { - /** Get a code of conduct */ - parameters: { - path: { - key: string; - }; - }; + "orgs/cancel-invitation": { + /** + * Cancel an organization invitation + * @description Cancel an organization invitation. In order to cancel an organization invitation, the authenticated user must be an organization owner. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). + */ responses: { /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-of-conduct"]; - }; - }; - 304: components["responses"]["not_modified"]; + 204: never; 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - "emojis/get": { + "orgs/list-invitation-teams": { /** - * Get emojis - * @description Lists all the emojis available to use on GitHub. + * List organization invitation teams + * @description List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner. */ responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": { - [key: string]: string | undefined; - }; + "application/json": (components["schemas"]["team"])[]; }; }; - 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; }; }; - "enterprise-admin/get-server-statistics": { + "issues/list-for-org": { /** - * Get GitHub Enterprise Server statistics - * @description Returns aggregate usage metrics for your GitHub Enterprise Server 3.5+ instance for a specified time period up to 365 days. - * - * To use this endpoint, your GitHub Enterprise Server instance must be connected to GitHub Enterprise Cloud using GitHub Connect. You must enable Server Statistics, and for the API request provide your enterprise account name or organization name connected to the GitHub Enterprise Server. For more information, see "[Enabling Server Statistics for your enterprise](/admin/configuration/configuring-github-connect/enabling-server-statistics-for-your-enterprise)" in the GitHub Enterprise Server documentation. - * - * You'll need to use a personal access token: - * - If you connected your GitHub Enterprise Server to an enterprise account and enabled Server Statistics, you'll need a personal access token with the `read:enterprise` permission. - * - If you connected your GitHub Enterprise Server to an organization account and enabled Server Statistics, you'll need a personal access token with the `read:org` permission. + * List organization issues assigned to the authenticated user + * @description List issues in an organization assigned to the authenticated user. * - * For more information on creating a personal access token, see "[Creating a personal access token](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." + * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. */ parameters?: { - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ + /** @description Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. */ + /** @description Indicates the state of the issues to return. */ + /** @description What to sort results by. */ query?: { - date_start?: string; - date_end?: string; + filter?: "assigned" | "created" | "mentioned" | "subscribed" | "repos" | "all"; + state?: "open" | "closed" | "all"; + sort?: "created" | "updated" | "comments"; }; }; responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["server-statistics"]; + "application/json": (components["schemas"]["issue"])[]; }; }; + 404: components["responses"]["not_found"]; }; }; - "actions/get-actions-cache-usage-for-enterprise": { + "orgs/list-members": { /** - * Get GitHub Actions cache usage for an enterprise - * @description Gets the total GitHub Actions cache usage for an enterprise. - * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * List organization members + * @description List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned. */ + parameters?: { + /** @description Filter members returned in the list. `2fa_disabled` means that only members without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled will be returned. This options is only available for organization owners. */ + /** @description Filter members returned by their role. */ + query?: { + filter?: "2fa_disabled" | "all"; + role?: "all" | "admin" | "member"; + }; + }; responses: { /** @description Response */ 200: { @@ -82754,53 +88952,43 @@ export interface operations { Link: components["headers"]["link"]; }; content: { - "application/json": components["schemas"]["actions-cache-usage-org-enterprise"]; + "application/json": (components["schemas"]["simple-user"])[]; }; }; + 422: components["responses"]["validation_failed"]; }; }; - "enterprise-admin/get-github-actions-permissions-enterprise": { + "orgs/check-membership-for-user": { /** - * Get GitHub Actions permissions for an enterprise - * @description Gets the GitHub Actions permissions policy for organizations and allowed actions and reusable workflows in an enterprise. - * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * Check organization membership for a user + * @description Check if a user is, publicly or privately, a member of the organization. */ responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-enterprise-permissions"]; - }; - }; + /** @description Response if requester is an organization member and user is a member */ + 204: never; + /** @description Response if requester is not an organization member */ + 302: never; + /** @description Not Found if requester is an organization member and user is not a member */ + 404: never; }; }; - "enterprise-admin/set-github-actions-permissions-enterprise": { + "orgs/remove-member": { /** - * Set GitHub Actions permissions for an enterprise - * @description Sets the GitHub Actions permissions policy for organizations and allowed actions and reusable workflows in an enterprise. - * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * Remove an organization member + * @description Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories. */ - requestBody: { - content: { - "application/json": { - enabled_organizations: components["schemas"]["enabled-organizations"]; - allowed_actions?: components["schemas"]["allowed-actions"]; - }; - }; - }; responses: { /** @description Response */ 204: never; + 403: components["responses"]["forbidden"]; }; }; - "enterprise-admin/list-selected-organizations-enabled-github-actions-enterprise": { + "codespaces/get-codespaces-for-user-in-org": { /** - * List selected organizations enabled for GitHub Actions in an enterprise - * @description Lists the organizations that are selected to have GitHub Actions enabled in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * List codespaces for a user in organization + * @description Lists the codespaces that a member of an organization has for repositories in that organization. * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ responses: { /** @description Response */ @@ -82808,180 +88996,192 @@ export interface operations { content: { "application/json": { total_count: number; - organizations: (components["schemas"]["organization-simple"])[]; + codespaces: (components["schemas"]["codespace"])[]; }; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; }; }; - "enterprise-admin/set-selected-organizations-enabled-github-actions-enterprise": { - /** - * Set selected organizations enabled for GitHub Actions in an enterprise - * @description Replaces the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." - * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. - */ - requestBody: { - content: { - "application/json": { - /** @description List of organization IDs to enable for GitHub Actions. */ - selected_organization_ids: (number)[]; - }; - }; - }; - responses: { - /** @description Response */ - 204: never; - }; - }; - "enterprise-admin/enable-selected-organization-github-actions-enterprise": { + "codespaces/delete-from-organization": { /** - * Enable a selected organization for GitHub Actions in an enterprise - * @description Adds an organization to the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * Delete a codespace from the organization + * @description Deletes a user's codespace. * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ responses: { - /** @description Response */ - 204: never; + 202: components["responses"]["accepted"]; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; }; }; - "enterprise-admin/disable-selected-organization-github-actions-enterprise": { + "codespaces/stop-in-organization": { /** - * Disable a selected organization for GitHub Actions in an enterprise - * @description Removes an organization from the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * Stop a codespace for an organization user + * @description Stops a user's codespace. * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ responses: { /** @description Response */ - 204: never; + 200: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; }; }; - "enterprise-admin/get-allowed-actions-enterprise": { + "orgs/get-membership-for-user": { /** - * Get allowed actions and reusable workflows for an enterprise - * @description Gets the selected actions and reusable workflows that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." - * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * Get organization membership for a user + * @description In order to get a user's membership with an organization, the authenticated user must be an organization member. The `state` parameter in the response can be used to identify the user's membership status. */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["selected-actions"]; + "application/json": components["schemas"]["org-membership"]; }; }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; - "enterprise-admin/set-allowed-actions-enterprise": { + "orgs/set-membership-for-user": { /** - * Set allowed actions and reusable workflows for an enterprise - * @description Sets the actions and reusable workflows that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * Set organization membership for a user + * @description Only authenticated organization owners can add a member to the organization or update the member's role. * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * * If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://docs.github.com/rest/reference/orgs#get-organization-membership-for-a-user) will be `pending` until they accept the invitation. + * + * * Authenticated users can _update_ a user's membership by passing the `role` parameter. If the authenticated user changes a member's role to `admin`, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to `member`, no email will be sent. + * + * **Rate limits** + * + * To prevent abuse, the authenticated user is limited to 50 organization invitations per 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period. */ - requestBody: { + requestBody?: { content: { - "application/json": components["schemas"]["selected-actions"]; + "application/json": { + /** + * @description The role to give the user in the organization. Can be one of: + * \* `admin` - The user will become an owner of the organization. + * \* `member` - The user will become a non-owner member of the organization. + * @default member + * @enum {string} + */ + role?: "admin" | "member"; + }; }; }; responses: { /** @description Response */ - 204: never; - }; - }; - "actions/get-github-actions-default-workflow-permissions-enterprise": { - /** - * Get default workflow permissions for an enterprise - * @description Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an enterprise, - * as well as whether GitHub Actions can submit approving pull request reviews. For more information, see - * "[Enforcing a policy for workflow permissions in your enterprise](https://docs.github.com/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-workflow-permissions-in-your-enterprise)." - * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. - * GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint. - */ - responses: { - /** @description Success response */ 200: { content: { - "application/json": components["schemas"]["actions-get-default-workflow-permissions"]; + "application/json": components["schemas"]["org-membership"]; }; }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; }; }; - "actions/set-github-actions-default-workflow-permissions-enterprise": { + "orgs/remove-membership-for-user": { /** - * Set default workflow permissions for an enterprise - * @description Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an enterprise, and sets - * whether GitHub Actions can submit approving pull request reviews. For more information, see - * "[Enforcing a policy for workflow permissions in your enterprise](https://docs.github.com/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-workflow-permissions-in-your-enterprise)." + * Remove organization membership for a user + * @description In order to remove a user's membership with an organization, the authenticated user must be an organization owner. * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. - * GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint. + * If the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases. */ - requestBody: { - content: { - "application/json": components["schemas"]["actions-set-default-workflow-permissions"]; - }; - }; responses: { - /** @description Success response */ + /** @description Response */ 204: never; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; - "enterprise-admin/list-self-hosted-runner-groups-for-enterprise": { + "migrations/list-for-org": { /** - * List self-hosted runner groups for an enterprise - * @description Lists all self-hosted runner groups for an enterprise. - * - * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + * List organization migrations + * @description Lists the most recent migrations. */ + parameters?: { + /** @description Exclude attributes from the API response to improve performance */ + query?: { + exclude?: ("repositories")[]; + }; + }; responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": { - total_count: number; - runner_groups: (components["schemas"]["runner-groups-enterprise"])[]; - }; + "application/json": (components["schemas"]["migration"])[]; }; }; }; }; - "enterprise-admin/create-self-hosted-runner-group-for-enterprise": { + "migrations/start-for-org": { /** - * Create a self-hosted runner group for an enterprise - * @description Creates a new self-hosted runner group for an enterprise. - * - * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + * Start an organization migration + * @description Initiates the generation of a migration archive. */ requestBody: { content: { "application/json": { - /** @description Name of the runner group. */ - name: string; + /** @description A list of arrays indicating which repositories should be migrated. */ + repositories: (string)[]; /** - * @description Visibility of a runner group. You can select all organizations or select individual organization. - * @enum {string} + * @description Indicates whether repositories should be locked (to prevent manipulation) while migrating data. + * @default false */ - visibility?: "selected" | "all"; - /** @description List of organization IDs that can access the runner group. */ - selected_organization_ids?: (number)[]; - /** @description List of runner IDs to add to the runner group. */ - runners?: (number)[]; + lock_repositories?: boolean; /** - * @description Whether the runner group can be used by `public` repositories. + * @description Indicates whether metadata should be excluded and only git source should be included for the migration. * @default false */ - allows_public_repositories?: boolean; + exclude_metadata?: boolean; /** - * @description If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array. + * @description Indicates whether the repository git data should be excluded from the migration. * @default false */ - restricted_to_workflows?: boolean; - /** @description List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`. */ - selected_workflows?: (string)[]; + exclude_git_data?: boolean; + /** + * @description Indicates whether attachments should be excluded from the migration (to reduce migration archive file size). + * @default false + */ + exclude_attachments?: boolean; + /** + * @description Indicates whether releases should be excluded from the migration (to reduce migration archive file size). + * @default false + */ + exclude_releases?: boolean; + /** + * @description Indicates whether projects owned by the organization or users should be excluded. from the migration. + * @default false + */ + exclude_owner_projects?: boolean; + /** + * @description Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags). + * @default false + */ + org_metadata_only?: boolean; + /** @description Exclude related items from being returned in the response in order to improve performance of the request. The array can include any of: `"repositories"`. */ + exclude?: ("repositories")[]; }; }; }; @@ -82989,218 +89189,347 @@ export interface operations { /** @description Response */ 201: { content: { - "application/json": components["schemas"]["runner-groups-enterprise"]; + "application/json": components["schemas"]["migration"]; }; }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - "enterprise-admin/get-self-hosted-runner-group-for-enterprise": { + "migrations/get-status-for-org": { /** - * Get a self-hosted runner group for an enterprise - * @description Gets a specific self-hosted runner group for an enterprise. + * Get an organization migration status + * @description Fetches the status of a migration. * - * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + * The `state` of a migration can be one of the following values: + * + * * `pending`, which means the migration hasn't started yet. + * * `exporting`, which means the migration is in progress. + * * `exported`, which means the migration finished successfully. + * * `failed`, which means the migration failed. */ + parameters?: { + /** @description Exclude attributes from the API response to improve performance */ + query?: { + exclude?: ("repositories")[]; + }; + }; responses: { - /** @description Response */ + /** + * @description * `pending`, which means the migration hasn't started yet. + * * `exporting`, which means the migration is in progress. + * * `exported`, which means the migration finished successfully. + * * `failed`, which means the migration failed. + */ 200: { content: { - "application/json": components["schemas"]["runner-groups-enterprise"]; + "application/json": components["schemas"]["migration"]; }; }; + 404: components["responses"]["not_found"]; }; }; - "enterprise-admin/delete-self-hosted-runner-group-from-enterprise": { + "migrations/download-archive-for-org": { /** - * Delete a self-hosted runner group from an enterprise - * @description Deletes a self-hosted runner group for an enterprise. - * - * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + * Download an organization migration archive + * @description Fetches the URL to a migration archive. + */ + responses: { + /** @description Response */ + 302: never; + 404: components["responses"]["not_found"]; + }; + }; + "migrations/delete-archive-for-org": { + /** + * Delete an organization migration archive + * @description Deletes a previous migration archive. Migration archives are automatically deleted after seven days. */ responses: { /** @description Response */ 204: never; + 404: components["responses"]["not_found"]; }; }; - "enterprise-admin/update-self-hosted-runner-group-for-enterprise": { + "migrations/unlock-repo-for-org": { /** - * Update a self-hosted runner group for an enterprise - * @description Updates the `name` and `visibility` of a self-hosted runner group in an enterprise. - * - * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + * Unlock an organization repository + * @description Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/rest/reference/repos#delete-a-repository) when the migration is complete and you no longer need the source data. + */ + responses: { + /** @description Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + "migrations/list-repos-for-org": { + /** + * List repositories in an organization migration + * @description List all the repositories for this organization migration. + */ + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": (components["schemas"]["minimal-repository"])[]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/list-outside-collaborators": { + /** + * List outside collaborators for an organization + * @description List all users who are outside collaborators of an organization. + */ + parameters?: { + /** @description Filter the list of outside collaborators. `2fa_disabled` means that only outside collaborators without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled will be returned. */ + query?: { + filter?: "2fa_disabled" | "all"; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": (components["schemas"]["simple-user"])[]; + }; + }; + }; + }; + "orgs/convert-member-to-outside-collaborator": { + /** + * Convert an organization member to outside collaborator + * @description When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see "[Converting an organization member to an outside collaborator](https://docs.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". Converting an organization member to an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." */ requestBody?: { content: { "application/json": { - /** @description Name of the runner group. */ - name?: string; - /** - * @description Visibility of a runner group. You can select all organizations or select individual organizations. - * @default all - * @enum {string} - */ - visibility?: "selected" | "all"; /** - * @description Whether the runner group can be used by `public` repositories. - * @default false - */ - allows_public_repositories?: boolean; - /** - * @description If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array. + * @description When set to `true`, the request will be performed asynchronously. Returns a 202 status code when the job is successfully queued. * @default false */ - restricted_to_workflows?: boolean; - /** @description List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`. */ - selected_workflows?: (string)[]; + async?: boolean; + }; + }; + }; + responses: { + /** @description User is getting converted asynchronously */ + 202: { + content: { + "application/json": Record; }; }; + /** @description User was converted */ + 204: never; + /** @description Forbidden if user is the last owner of the organization, not a member of the organization, or if the enterprise enforces a policy for inviting outside collaborators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." */ + 403: never; + 404: components["responses"]["not_found"]; }; + }; + "orgs/remove-outside-collaborator": { + /** + * Remove outside collaborator from an organization + * @description Removing a user from this list will remove them from all the organization's repositories. + */ responses: { /** @description Response */ - 200: { + 204: never; + /** @description Unprocessable Entity if user is a member of the organization */ + 422: { content: { - "application/json": components["schemas"]["runner-groups-enterprise"]; + "application/json": { + message?: string; + documentation_url?: string; + }; }; }; }; }; - "enterprise-admin/list-org-access-to-self-hosted-runner-group-in-enterprise": { + "packages/list-packages-for-organization": { /** - * List organization access to a self-hosted runner group in an enterprise - * @description Lists the organizations with access to a self-hosted runner group. + * List packages for an organization + * @description Lists all packages in an organization readable by the user. * - * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. */ + parameters: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + query: { + package_type: "npm" | "maven" | "rubygems" | "docker" | "nuget" | "container"; + }; + }; responses: { /** @description Response */ 200: { content: { - "application/json": { - total_count: number; - organizations: (components["schemas"]["organization-simple"])[]; - }; + "application/json": (components["schemas"]["package"])[]; }; }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; }; }; - "enterprise-admin/set-org-access-to-self-hosted-runner-group-in-enterprise": { + "packages/get-package-for-organization": { /** - * Set organization access for a self-hosted runner group in an enterprise - * @description Replaces the list of organizations that have access to a self-hosted runner configured in an enterprise. + * Get a package for an organization + * @description Gets a specific package in an organization. * - * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. */ - requestBody: { - content: { - "application/json": { - /** @description List of organization IDs that can access the runner group. */ - selected_organization_ids: (number)[]; - }; - }; - }; responses: { /** @description Response */ - 204: never; + 200: { + content: { + "application/json": components["schemas"]["package"]; + }; + }; }; }; - "enterprise-admin/add-org-access-to-self-hosted-runner-group-in-enterprise": { + "packages/delete-package-for-org": { /** - * Add organization access to a self-hosted runner group in an enterprise - * @description Adds an organization to the list of selected organizations that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an enterprise](#create-a-self-hosted-runner-group-for-an-enterprise)." + * Delete a package for an organization + * @description Deletes an entire package in an organization. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. * - * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. */ responses: { /** @description Response */ 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; - "enterprise-admin/remove-org-access-to-self-hosted-runner-group-in-enterprise": { + "packages/restore-package-for-org": { /** - * Remove organization access to a self-hosted runner group in an enterprise - * @description Removes an organization from the list of selected organizations that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an enterprise](#create-a-self-hosted-runner-group-for-an-enterprise)." + * Restore a package for an organization + * @description Restores an entire package in an organization. * - * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. */ + parameters?: { + /** @description package token */ + query?: { + token?: string; + }; + }; responses: { /** @description Response */ 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; - "enterprise-admin/list-self-hosted-runners-in-group-for-enterprise": { + "packages/get-all-package-versions-for-package-owned-by-org": { /** - * List self-hosted runners in a group for an enterprise - * @description Lists the self-hosted runners that are in a specific enterprise group. + * List package versions for a package owned by an organization + * @description Lists package versions for a package owned by an organization. * - * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. */ + parameters?: { + /** @description The state of the package, either active or deleted. */ + query?: { + state?: "active" | "deleted"; + }; + }; responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": { - total_count: number; - runners: (components["schemas"]["runner"])[]; - }; + "application/json": (components["schemas"]["package-version"])[]; }; }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; - "enterprise-admin/set-self-hosted-runners-in-group-for-enterprise": { + "packages/get-package-version-for-organization": { /** - * Set self-hosted runners in a group for an enterprise - * @description Replaces the list of self-hosted runners that are part of an enterprise runner group. + * Get a package version for an organization + * @description Gets a specific package version in an organization. * - * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + * You must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. */ - requestBody: { - content: { - "application/json": { - /** @description List of runner IDs to add to the runner group. */ - runners: (number)[]; - }; - }; - }; responses: { /** @description Response */ - 204: never; + 200: { + content: { + "application/json": components["schemas"]["package-version"]; + }; + }; }; }; - "enterprise-admin/add-self-hosted-runner-to-group-for-enterprise": { + "packages/delete-package-version-for-org": { /** - * Add a self-hosted runner to a group for an enterprise - * @description Adds a self-hosted runner to a runner group configured in an enterprise. + * Delete package version for an organization + * @description Deletes a specific package version in an organization. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. * - * You must authenticate using an access token with the `manage_runners:enterprise` - * scope to use this endpoint. + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. */ responses: { /** @description Response */ 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; - "enterprise-admin/remove-self-hosted-runner-from-group-for-enterprise": { + "packages/restore-package-version-for-org": { /** - * Remove a self-hosted runner from a group for an enterprise - * @description Removes a self-hosted runner from a group configured in an enterprise. The runner is then returned to the default group. + * Restore package version for an organization + * @description Restores a specific package version in an organization. * - * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. */ responses: { /** @description Response */ 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; - "enterprise-admin/list-self-hosted-runners-for-enterprise": { + "projects/list-for-org": { /** - * List self-hosted runners for an enterprise - * @description Lists all self-hosted runners configured for an enterprise. - * - * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + * List organization projects + * @description Lists the projects in an organization. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + parameters?: { + /** @description Indicates the state of the projects to return. */ + query?: { + state?: "open" | "closed" | "all"; + }; + }; responses: { /** @description Response */ 200: { @@ -83208,209 +89537,273 @@ export interface operations { Link: components["headers"]["link"]; }; content: { - "application/json": { - total_count?: number; - runners?: (components["schemas"]["runner"])[]; - }; + "application/json": (components["schemas"]["project"])[]; }; }; + 422: components["responses"]["validation_failed_simple"]; }; }; - "enterprise-admin/list-runner-applications-for-enterprise": { + "projects/create-for-org": { /** - * List runner applications for an enterprise - * @description Lists binaries for the runner application that you can download and run. - * - * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + * Create an organization project + * @description Creates an organization project board. Returns a `410 Gone` status if projects are disabled in the organization or if the organization does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": (components["schemas"]["runner-application"])[]; + requestBody: { + content: { + "application/json": { + /** @description The name of the project. */ + name: string; + /** @description The description of the project. */ + body?: string; }; }; }; - }; - "enterprise-admin/create-registration-token-for-enterprise": { - /** - * Create a registration token for an enterprise - * @description Returns a token that you can pass to the `config` script. The token expires after one hour. - * - * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. - * - * #### Example using registration token - * - * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. - * - * ``` - * ./config.sh --url https://github.com/enterprises/octo-enterprise --token TOKEN - * ``` - */ responses: { /** @description Response */ 201: { content: { - "application/json": components["schemas"]["authentication-token"]; + "application/json": components["schemas"]["project"]; }; }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed_simple"]; }; }; - "enterprise-admin/create-remove-token-for-enterprise": { + "orgs/list-public-members": { /** - * Create a remove token for an enterprise - * @description Returns a token that you can pass to the `config` script to remove a self-hosted runner from an enterprise. The token expires after one hour. - * - * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. - * - * #### Example using remove token - * - * To remove your self-hosted runner from an enterprise, replace `TOKEN` with the remove token provided by this - * endpoint. - * - * ``` - * ./config.sh remove --token TOKEN - * ``` + * List public organization members + * @description Members of an organization can choose to have their membership publicized or not. */ responses: { /** @description Response */ - 201: { + 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["authentication-token"]; + "application/json": (components["schemas"]["simple-user"])[]; }; }; }; }; - "enterprise-admin/get-self-hosted-runner-for-enterprise": { - /** - * Get a self-hosted runner for an enterprise - * @description Gets a specific self-hosted runner configured in an enterprise. - * - * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. - */ + "orgs/check-public-membership-for-user": { + /** Check public organization membership for a user */ responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["runner"]; - }; - }; + /** @description Response if user is a public member */ + 204: never; + /** @description Not Found if user is not a public member */ + 404: never; }; }; - "enterprise-admin/delete-self-hosted-runner-from-enterprise": { + "orgs/set-public-membership-for-authenticated-user": { /** - * Delete a self-hosted runner from an enterprise - * @description Forces the removal of a self-hosted runner from an enterprise. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * Set public organization membership for the authenticated user + * @description The user can publicize their own membership. (A user cannot publicize the membership for another user.) * - * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." */ responses: { /** @description Response */ 204: never; + 403: components["responses"]["forbidden"]; }; }; - "enterprise-admin/list-labels-for-self-hosted-runner-for-enterprise": { - /** - * List labels for a self-hosted runner for an enterprise - * @description Lists all labels for a self-hosted runner configured in an enterprise. - * - * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. - */ + "orgs/remove-public-membership-for-authenticated-user": { + /** Remove public organization membership for the authenticated user */ responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; + /** @description Response */ + 204: never; }; }; - "enterprise-admin/set-custom-labels-for-self-hosted-runner-for-enterprise": { + "repos/list-for-org": { /** - * Set custom labels for a self-hosted runner for an enterprise - * @description Remove all previous custom labels and set the new custom labels for a specific - * self-hosted runner configured in an enterprise. - * - * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + * List organization repositories + * @description Lists repositories for the specified organization. */ - requestBody: { - content: { - "application/json": { - /** @description The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels. */ - labels: (string)[]; - }; + parameters?: { + /** @description Specifies the types of repositories you want returned. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `type` can also be `internal`. However, the `internal` value is not yet supported when a GitHub App calls this API with an installation access token. */ + /** @description The property to sort the results by. */ + /** @description The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ + query?: { + type?: "all" | "public" | "private" | "forks" | "sources" | "member" | "internal"; + sort?: "created" | "updated" | "pushed" | "full_name"; + direction?: "asc" | "desc"; }; }; responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": (components["schemas"]["minimal-repository"])[]; + }; + }; }; }; - "enterprise-admin/add-custom-labels-to-self-hosted-runner-for-enterprise": { + "repos/create-in-org": { /** - * Add custom labels to a self-hosted runner for an enterprise - * @description Add custom labels to a self-hosted runner configured in an enterprise. + * Create an organization repository + * @description Creates a new repository in the specified organization. The authenticated user must be a member of the organization. * - * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + * **OAuth scope requirements** + * + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. + * * `repo` scope to create a private repository */ requestBody: { content: { "application/json": { - /** @description The names of the custom labels to add to the runner. */ - labels: (string)[]; + /** @description The name of the repository. */ + name: string; + /** @description A short description of the repository. */ + description?: string; + /** @description A URL with more information about the repository. */ + homepage?: string; + /** + * @description Whether the repository is private. + * @default false + */ + private?: boolean; + /** + * @description Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`. Note: For GitHub Enterprise Server and GitHub AE, this endpoint will only list repositories available to all users on the enterprise. For more information, see "[Creating an internal repository](https://docs.github.com/github/creating-cloning-and-archiving-repositories/about-repository-visibility#about-internal-repositories)" in the GitHub Help documentation. + * @enum {string} + */ + visibility?: "public" | "private" | "internal"; + /** + * @description Either `true` to enable issues for this repository or `false` to disable them. + * @default true + */ + has_issues?: boolean; + /** + * @description Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. + * @default true + */ + has_projects?: boolean; + /** + * @description Either `true` to enable the wiki for this repository or `false` to disable it. + * @default true + */ + has_wiki?: boolean; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads?: boolean; + /** + * @description Either `true` to make this repo available as a template repository or `false` to prevent it. + * @default false + */ + is_template?: boolean; + /** @description The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. */ + team_id?: number; + /** + * @description Pass `true` to create an initial commit with empty README. + * @default false + */ + auto_init?: boolean; + /** @description Desired language or platform [.gitignore template](https://github.com/github/gitignore) to apply. Use the name of the template without the extension. For example, "Haskell". */ + gitignore_template?: string; + /** @description Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://docs.github.com/articles/licensing-a-repository/#searching-github-by-license-type) as the `license_template` string. For example, "mit" or "mpl-2.0". */ + license_template?: string; + /** + * @description Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + * @default true + */ + allow_squash_merge?: boolean; + /** + * @description Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Either `true` to allow auto-merge on pull requests, or `false` to disallow auto-merge. + * @default false + */ + allow_auto_merge?: boolean; + /** + * @description Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + * @default false + */ + delete_branch_on_merge?: boolean; + /** + * @deprecated + * @description Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; }; }; }; responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - "enterprise-admin/remove-all-custom-labels-from-self-hosted-runner-for-enterprise": { - /** - * Remove all custom labels from a self-hosted runner for an enterprise - * @description Remove all custom labels from a self-hosted runner configured in an - * enterprise. Returns the remaining read-only labels from the runner. - * - * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. - */ - responses: { - 200: components["responses"]["actions_runner_labels_readonly"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - "enterprise-admin/remove-custom-label-from-self-hosted-runner-for-enterprise": { - /** - * Remove a custom label from a self-hosted runner for an enterprise - * @description Remove a custom label from a self-hosted runner configured - * in an enterprise. Returns the remaining labels from the runner. - * - * This endpoint returns a `404 Not Found` status if the custom label is not - * present on the runner. - * - * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. - */ - responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["repository"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; }; }; - "code-scanning/list-alerts-for-enterprise": { + "secret-scanning/list-alerts-for-org": { /** - * List code scanning alerts for an enterprise - * @description Lists code scanning alerts for the default branch for all eligible repositories in an enterprise. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * List secret scanning alerts for an organization + * @description Lists secret scanning alerts for eligible repositories in an organization, from newest to oldest. + * To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. * - * To use this endpoint, you must be a member of the enterprise, - * and you must use an access token with the `repo` scope or `security_events` scope. + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. */ - parameters?: { - /** @description If specified, only code scanning alerts with this state will be returned. */ - /** @description The property by which to sort the results. */ - query?: { - state?: components["schemas"]["code-scanning-alert-state"]; - sort?: "created" | "updated"; - }; - }; responses: { /** @description Response */ 200: { @@ -83418,60 +89811,87 @@ export interface operations { Link: components["headers"]["link"]; }; content: { - "application/json": (components["schemas"]["code-scanning-organization-alert-items"])[]; + "application/json": (components["schemas"]["organization-secret-scanning-alert"])[]; }; }; 404: components["responses"]["not_found"]; 503: components["responses"]["service_unavailable"]; }; }; - "dependabot/list-alerts-for-enterprise": { + "orgs/list-security-manager-teams": { /** - * List Dependabot alerts for an enterprise - * @description Lists Dependabot alerts for repositories that are owned by the specified enterprise. - * To use this endpoint, you must be a member of the enterprise, and you must use an - * access token with the `repo` scope or `security_events` scope. - * Alerts are only returned for organizations in the enterprise for which you are an organization owner or a security manager. For more information about security managers, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * List security manager teams + * @description Lists teams that are security managers for an organization. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `read:org` scope. + * + * GitHub Apps must have the `administration` organization read permission to use this endpoint. */ responses: { /** @description Response */ 200: { content: { - "application/json": (components["schemas"]["dependabot-alert-with-repository"])[]; + "application/json": (components["schemas"]["team-simple"])[]; }; }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; }; }; - "secret-scanning/list-alerts-for-enterprise": { + "orgs/add-security-manager-team": { /** - * List secret scanning alerts for an enterprise - * @description Lists secret scanning alerts for eligible repositories in an enterprise, from newest to oldest. - * To use this endpoint, you must be a member of the enterprise, and you must use an access token with the `repo` scope or `security_events` scope. Alerts are only returned for organizations in the enterprise for which you are an organization owner or a [security manager](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization). + * Add a security manager team + * @description Adds a team as a security manager for an organization. For more information, see "[Managing security for an organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization) for an organization." + * + * To use this endpoint, you must be an administrator for the organization, and you must use an access token with the `write:org` scope. + * + * GitHub Apps must have the `administration` organization read-write permission to use this endpoint. + */ + responses: { + /** @description Response */ + 204: never; + /** @description The organization has reached the maximum number of security manager teams. */ + 409: never; + }; + }; + "orgs/remove-security-manager-team": { + /** + * Remove a security manager team + * @description Removes the security manager role from a team for an organization. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization) team from an organization." + * + * To use this endpoint, you must be an administrator for the organization, and you must use an access token with the `admin:org` scope. + * + * GitHub Apps must have the `administration` organization read-write permission to use this endpoint. + */ + responses: { + /** @description Response */ + 204: never; + }; + }; + "billing/get-github-actions-billing-org": { + /** + * Get GitHub Actions billing for an organization + * @description Gets the summary of the free and paid GitHub Actions minutes used. + * + * 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](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Access tokens must have the `repo` or `admin:org` scope. */ responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": (components["schemas"]["organization-secret-scanning-alert"])[]; + "application/json": components["schemas"]["actions-billing-usage"]; }; }; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; }; }; - "billing/get-github-advanced-security-billing-ghe": { + "billing/get-github-advanced-security-billing-org": { /** - * Get GitHub Advanced Security active committers for an enterprise - * @description Gets the GitHub Advanced Security active committers for an enterprise per repository. + * Get GitHub Advanced Security active committers for an organization + * @description Gets the GitHub Advanced Security active committers for an organization per repository. * - * 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. + * 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 advanced_security_committers for each repository. + * + * If this organization defers to an enterprise for billing, the `total_advanced_security_committers` returned from the organization API may include some users that are in more than one organization, so they will only consume a single Advanced Security seat at the enterprise level. * * The total number of repositories with committer information is tracked by the `total_count` field. */ @@ -83485,51 +89905,46 @@ export interface operations { 403: components["responses"]["code_scanning_forbidden_read"]; }; }; - "activity/list-public-events": { + "billing/get-github-packages-billing-org": { /** - * List public events - * @description We delay the public events feed by five minutes, which means the most recent event returned by the public events API actually occurred at least five minutes ago. + * Get GitHub Packages billing for an organization + * @description Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `repo` or `admin:org` scope. */ responses: { /** @description Response */ 200: { content: { - "application/json": (components["schemas"]["event"])[]; + "application/json": components["schemas"]["packages-billing-usage"]; }; }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 503: components["responses"]["service_unavailable"]; }; }; - "activity/get-feeds": { + "billing/get-shared-storage-billing-org": { /** - * Get feeds - * @description GitHub provides several timeline resources in [Atom](http://en.wikipedia.org/wiki/Atom_(standard)) format. The Feeds API lists all the feeds available to the authenticated user: + * Get shared storage billing for an organization + * @description Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. * - * * **Timeline**: The GitHub global public timeline - * * **User**: The public timeline for any user, using [URI template](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) - * * **Current user public**: The public timeline for the authenticated user - * * **Current user**: The private timeline for the authenticated user - * * **Current user actor**: The private timeline for activity created by the authenticated user - * * **Current user organizations**: The private timeline for the organizations the authenticated user is a member of. - * * **Security advisories**: A collection of public announcements that provide information about security-related vulnerabilities in software on GitHub. + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." * - * **Note**: Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) since current feed URIs use the older, non revocable auth tokens. + * Access tokens must have the `repo` or `admin:org` scope. */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["feed"]; + "application/json": components["schemas"]["combined-billing-usage"]; }; }; }; }; - "gists/list": { + "teams/list": { /** - * List gists for the authenticated user - * @description Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists: + * List teams + * @description Lists all teams in an organization that are visible to the authenticated user. */ responses: { /** @description Response */ @@ -83538,159 +89953,161 @@ export interface operations { Link: components["headers"]["link"]; }; content: { - "application/json": (components["schemas"]["base-gist"])[]; + "application/json": (components["schemas"]["team"])[]; }; }; - 304: components["responses"]["not_modified"]; 403: components["responses"]["forbidden"]; }; }; - "gists/create": { + "teams/create": { /** - * Create a gist - * @description Allows you to add a new gist with one or more files. + * Create a team + * @description To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://docs.github.com/articles/setting-team-creation-permissions-in-your-organization)." * - * **Note:** Don't name your files "gistfile" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally. + * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/about-teams)". */ requestBody: { content: { "application/json": { - /** @description Description of the gist */ + /** @description The name of the team. */ + name: string; + /** @description The description of the team. */ description?: string; - /** @description Names and content for the files that make up the gist */ - files: { - [key: string]: { - /** @description Content of the file */ - content: string; - } | undefined; - }; - public?: boolean | ("true" | "false"); + /** @description List GitHub IDs for organization members who will become team maintainers. */ + maintainers?: (string)[]; + /** @description The full name (e.g., "organization-name/repository-name") of repositories to add the team to. */ + repo_names?: (string)[]; + /** + * @description The level of privacy this team should have. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * Default: `secret` + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + * Default for child team: `closed` + * @enum {string} + */ + privacy?: "secret" | "closed"; + /** + * @description **Deprecated**. The permission that new repositories will be added to the team with when none is specified. + * @default pull + * @enum {string} + */ + permission?: "pull" | "push"; + /** @description The ID of a team to set as the parent team. */ + parent_team_id?: number; }; }; }; responses: { /** @description Response */ 201: { - headers: { - /** @example https://api.github.com/gists/aa5a315d61ae9438b18d */ - Location?: string; - }; content: { - "application/json": components["schemas"]["gist-simple"]; + "application/json": components["schemas"]["team-full"]; }; }; - 304: components["responses"]["not_modified"]; 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; }; }; - "gists/list-public": { + "teams/get-by-name": { /** - * List public gists - * @description List public gists sorted by most recently updated to least recently updated. + * Get a team by name + * @description Gets a team using the team's `slug`. GitHub generates the `slug` from the team `name`. * - * Note: With [pagination](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page. + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}`. */ responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": (components["schemas"]["base-gist"])[]; + "application/json": components["schemas"]["team-full"]; }; }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; + 404: components["responses"]["not_found"]; }; }; - "gists/list-starred": { + "teams/delete-in-org": { /** - * List starred gists - * @description List the authenticated user's starred gists: + * Delete a team + * @description To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}`. */ - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["base-gist"])[]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - "gists/get": { - /** Get a gist */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["gist-simple"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden_gist"]; - 404: components["responses"]["not_found"]; - }; - }; - "gists/delete": { - /** Delete a gist */ responses: { /** @description Response */ 204: never; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; }; }; - "gists/update": { + "teams/update-in-org": { /** - * Update a gist - * @description Allows you to update a gist's description and to update, delete, or rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged. + * Update a team + * @description To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`. */ - requestBody: { + requestBody?: { content: { - "application/json": OneOf<[({ - /** @description The description of the gist. */ + "application/json": { + /** @description The name of the team. */ + name?: string; + /** @description The description of the team. */ description?: string; /** - * @description The gist files to be updated, renamed, or deleted. Each `key` must match the current filename - * (including extension) of the targeted gist file. For example: `hello.py`. - * - * To delete a file, set the whole file to null. For example: `hello.py : null`. + * @description The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. When a team is nested, the `privacy` for parent teams cannot be `secret`. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + * @enum {string} */ - files?: { - [key: string]: (OneOf<[{ - /** @description The new content of the file. */ - content?: string; - /** @description The new filename for the file. */ - filename?: OneOf<[string, null]>; - } & (Record | Record | Record), null]>) | undefined; - }; - }) & (Record | Record), null]>; + privacy?: "secret" | "closed"; + /** + * @description **Deprecated**. The permission that new repositories will be added to the team with when none is specified. + * @default pull + * @enum {string} + */ + permission?: "pull" | "push" | "admin"; + /** @description The ID of a team to set as the parent team. */ + parent_team_id?: OneOf<[number, null]>; + }; }; }; responses: { - /** @description Response */ + /** @description Response when the updated information already exists */ 200: { content: { - "application/json": components["schemas"]["gist-simple"]; + "application/json": components["schemas"]["team-full"]; + }; + }; + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["team-full"]; }; }; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; }; }; - "gists/list-comments": { - /** List gist comments */ + "teams/list-discussions-in-org": { + /** + * List discussions + * @description List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`. + */ + parameters?: { + /** @description Pinned discussions only filter */ + query?: { + pinned?: string; + }; + }; responses: { /** @description Response */ 200: { @@ -83698,71 +90115,86 @@ export interface operations { Link: components["headers"]["link"]; }; content: { - "application/json": (components["schemas"]["gist-comment"])[]; + "application/json": (components["schemas"]["team-discussion"])[]; }; }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; }; }; - "gists/create-comment": { - /** Create a gist comment */ + "teams/create-discussion-in-org": { + /** + * Create a discussion + * @description Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`. + */ requestBody: { content: { "application/json": { - /** @description The comment text. */ + /** @description The discussion post's title. */ + title: string; + /** @description The discussion post's body text. */ body: string; + /** + * @description Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. + * @default false + */ + private?: boolean; }; }; }; responses: { /** @description Response */ 201: { - headers: { - /** @example https://api.github.com/gists/a6db0bec360bb87e9418/comments/1 */ - Location?: string; - }; content: { - "application/json": components["schemas"]["gist-comment"]; + "application/json": components["schemas"]["team-discussion"]; }; }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; }; }; - "gists/get-comment": { - /** Get a gist comment */ + "teams/get-discussion-in-org": { + /** + * Get a discussion + * @description Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["gist-comment"]; + "application/json": components["schemas"]["team-discussion"]; }; }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden_gist"]; - 404: components["responses"]["not_found"]; }; }; - "gists/delete-comment": { - /** Delete a gist comment */ + "teams/delete-discussion-in-org": { + /** + * Delete a discussion + * @description Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + */ responses: { /** @description Response */ 204: never; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; }; }; - "gists/update-comment": { - /** Update a gist comment */ - requestBody: { + "teams/update-discussion-in-org": { + /** + * Update a discussion + * @description Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + */ + requestBody?: { content: { "application/json": { - /** @description The comment text. */ - body: string; + /** @description The discussion post's title. */ + title?: string; + /** @description The discussion post's body text. */ + body?: string; }; }; }; @@ -83770,226 +90202,255 @@ export interface operations { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["gist-comment"]; + "application/json": components["schemas"]["team-discussion"]; }; }; - 404: components["responses"]["not_found"]; }; }; - "gists/list-commits": { - /** List gist commits */ + "teams/list-discussion-comments-in-org": { + /** + * List discussion comments + * @description List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. + */ responses: { /** @description Response */ 200: { headers: { - /** @example ; rel="next" */ - Link?: string; + Link: components["headers"]["link"]; }; content: { - "application/json": (components["schemas"]["gist-commit"])[]; + "application/json": (components["schemas"]["team-discussion-comment"])[]; }; }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; }; }; - "gists/list-forks": { - /** List gist forks */ + "teams/create-discussion-comment-in-org": { + /** + * Create a discussion comment + * @description Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. + */ + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; + }; + }; + }; responses: { /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; + 201: { content: { - "application/json": (components["schemas"]["gist-simple"])[]; + "application/json": components["schemas"]["team-discussion-comment"]; }; }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; }; }; - "gists/fork": { - /** Fork a gist */ + "teams/get-discussion-comment-in-org": { + /** + * Get a discussion comment + * @description Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + */ responses: { /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/gists/aa5a315d61ae9438b18d */ - Location?: string; - }; + 200: { content: { - "application/json": components["schemas"]["base-gist"]; + "application/json": components["schemas"]["team-discussion-comment"]; }; }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; }; }; - "gists/check-is-starred": { - /** Check if a gist is starred */ + "teams/delete-discussion-comment-in-org": { + /** + * Delete a discussion comment + * @description Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + */ responses: { - /** @description Response if gist is starred */ + /** @description Response */ 204: never; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - /** @description Not Found if gist is not starred */ - 404: { + }; + }; + "teams/update-discussion-comment-in-org": { + /** + * Update a discussion comment + * @description Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + */ + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { content: { - "application/json": Record; + "application/json": components["schemas"]["team-discussion-comment"]; }; }; }; }; - "gists/star": { + "reactions/list-for-team-discussion-comment-in-org": { /** - * Star a gist - * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * List reactions for a team discussion comment + * @description List the reactions to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments/). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. */ - responses: { - /** @description Response */ - 204: never; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + parameters?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion comment. */ + query?: { + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; }; - }; - "gists/unstar": { - /** Unstar a gist */ responses: { /** @description Response */ - 204: never; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": (components["schemas"]["reaction"])[]; + }; + }; }; }; - "gists/get-revision": { - /** Get a gist revision */ - parameters: { - path: { - sha: string; + "reactions/create-for-team-discussion-comment-in-org": { + /** + * Create reaction for a team discussion comment + * @description Create a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + */ + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion comment. + * @enum {string} + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; }; }; responses: { - /** @description Response */ + /** @description Response when the reaction type has already been added to this team discussion comment */ 200: { content: { - "application/json": components["schemas"]["gist-simple"]; + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; }; }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; }; }; - "gitignore/get-all-templates": { + "reactions/delete-for-team-discussion-comment": { /** - * Get all gitignore templates - * @description List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/reference/repos#create-a-repository-for-the-authenticated-user). + * Delete team discussion comment reaction + * @description **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`. + * + * Delete a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ responses: { /** @description Response */ - 200: { - content: { - "application/json": (string)[]; - }; - }; - 304: components["responses"]["not_modified"]; + 204: never; }; }; - "gitignore/get-template": { + "reactions/list-for-team-discussion-in-org": { /** - * Get a gitignore template - * @description The API also allows fetching the source of a single template. - * Use the raw [media type](https://docs.github.com/rest/overview/media-types/) to get the raw contents. + * List reactions for a team discussion + * @description List the reactions to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. */ - parameters: { - path: { - name: string; + parameters?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion. */ + query?: { + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; }; }; responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["gitignore-template"]; + "application/json": (components["schemas"]["reaction"])[]; }; }; - 304: components["responses"]["not_modified"]; }; }; - "apps/list-repos-accessible-to-installation": { + "reactions/create-for-team-discussion-in-org": { /** - * List repositories accessible to the app installation - * @description List repositories that an app installation can access. + * Create reaction for a team discussion + * @description Create a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. * - * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. */ + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion. + * @enum {string} + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; + content: { + "application/json": components["schemas"]["reaction"]; }; + }; + /** @description Response */ + 201: { content: { - "application/json": { - total_count: number; - repositories: (components["schemas"]["repository"])[]; - repository_selection?: string; - }; + "application/json": components["schemas"]["reaction"]; }; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; }; }; - "apps/revoke-installation-access-token": { + "reactions/delete-for-team-discussion": { /** - * Revoke an installation access token - * @description Revokes the installation token you're using to authenticate as an installation and access this endpoint. - * - * Once an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the "[Create an installation access token for an app](https://docs.github.com/rest/reference/apps#create-an-installation-access-token-for-an-app)" endpoint. + * Delete team discussion reaction + * @description **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id`. * - * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + * Delete a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ responses: { /** @description Response */ 204: never; }; }; - "issues/list": { + "teams/list-pending-invitations-in-org": { /** - * List issues assigned to the authenticated user - * @description List issues assigned to the authenticated user across all visible repositories including owned repositories, member - * repositories, and organization repositories. You can use the `filter` query parameter to fetch issues that are not - * necessarily assigned to you. - * + * List pending team invitations + * @description The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/invitations`. */ - parameters?: { - /** @description Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. */ - /** @description Indicates the state of the issues to return. */ - /** @description What to sort results by. */ - query?: { - filter?: "assigned" | "created" | "mentioned" | "subscribed" | "repos" | "all"; - state?: "open" | "closed" | "all"; - sort?: "created" | "updated" | "comments"; - collab?: boolean; - orgs?: boolean; - owned?: boolean; - pulls?: boolean; - }; - }; responses: { /** @description Response */ 200: { @@ -83997,165 +90458,207 @@ export interface operations { Link: components["headers"]["link"]; }; content: { - "application/json": (components["schemas"]["issue"])[]; + "application/json": (components["schemas"]["organization-invitation"])[]; }; }; - 304: components["responses"]["not_modified"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; }; }; - "licenses/get-all-commonly-used": { - /** Get all commonly used licenses */ + "teams/list-members-in-org": { + /** + * List team members + * @description Team members will include the members of child teams. + * + * To list members in a team, the team must be visible to the authenticated user. + */ parameters?: { + /** @description Filters members returned by their role in the team. */ query?: { - featured?: boolean; + role?: "member" | "maintainer" | "all"; }; }; responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": (components["schemas"]["license-simple"])[]; + "application/json": (components["schemas"]["simple-user"])[]; }; }; - 304: components["responses"]["not_modified"]; }; }; - "licenses/get": { - /** Get a license */ - parameters: { - path: { - license: string; - }; - }; + "teams/get-membership-for-user-in-org": { + /** + * Get team membership for a user + * @description Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/memberships/{username}`. + * + * **Note:** + * The response contains the `state` of the membership and the member's `role`. + * + * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team). + */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["license"]; + "application/json": components["schemas"]["team-membership"]; }; }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + /** @description if user has no team membership */ + 404: never; }; }; - "markdown/render": { - /** Render a Markdown document */ - requestBody: { + "teams/add-or-update-membership-for-user-in-org": { + /** + * Add or update team membership for a user + * @description Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * An organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the "pending" state until the person accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/memberships/{username}`. + */ + requestBody?: { content: { "application/json": { - /** @description The Markdown text to render in HTML. */ - text: string; /** - * @description The rendering mode. - * @default markdown + * @description The role that this user should have in the team. + * @default member * @enum {string} */ - mode?: "markdown" | "gfm"; - /** @description The repository context to use when creating references in `gfm` mode. For example, setting `context` to `octo-org/octo-repo` will change the text `#42` into an HTML link to issue 42 in the `octo-org/octo-repo` repository. */ - context?: string; + role?: "member" | "maintainer"; }; }; }; responses: { /** @description Response */ 200: { - headers: { - "Content-Type": components["headers"]["content-type"]; - /** @example 279 */ - "Content-Length"?: string; - "X-CommonMarker-Version": components["headers"]["x-common-marker-version"]; - }; content: { - "text/html": string; + "application/json": components["schemas"]["team-membership"]; }; }; - 304: components["responses"]["not_modified"]; + /** @description Forbidden if team synchronization is set up */ + 403: never; + /** @description Unprocessable Entity if you attempt to add an organization to a team */ + 422: never; }; }; - "markdown/render-raw": { + "teams/remove-membership-for-user-in-org": { /** - * Render a Markdown document in raw mode - * @description You must send Markdown as plain text (using a `Content-Type` header of `text/plain` or `text/x-markdown`) to this endpoint, rather than using JSON format. In raw mode, [GitHub Flavored Markdown](https://github.github.com/gfm/) is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less. + * Remove team membership for a user + * @description Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/memberships/{username}`. */ - requestBody?: { - content: { - "text/plain": string; - "text/x-markdown": string; - }; + responses: { + /** @description Response */ + 204: never; + /** @description Forbidden if team synchronization is set up */ + 403: never; }; + }; + "teams/list-projects-in-org": { + /** + * List team projects + * @description Lists the organization projects for a team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects`. + */ responses: { /** @description Response */ 200: { headers: { - "X-CommonMarker-Version": components["headers"]["x-common-marker-version"]; + Link: components["headers"]["link"]; }; content: { - "text/html": string; + "application/json": (components["schemas"]["team-project"])[]; }; }; - 304: components["responses"]["not_modified"]; }; }; - "apps/get-subscription-plan-for-account": { + "teams/check-permissions-for-project-in-org": { /** - * Get a subscription plan for an account - * @description Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * Check team permissions for a project + * @description Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects/{project_id}`. */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["marketplace-purchase"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - /** @description Not Found when the account has not purchased the listing */ - 404: { - content: { - "application/json": components["schemas"]["basic-error"]; + "application/json": components["schemas"]["team-project"]; }; }; + /** @description Not Found if project is not managed by this team */ + 404: never; }; }; - "apps/list-plans": { + "teams/add-or-update-project-permissions-in-org": { /** - * List plans - * @description Lists all plans that are part of your GitHub Marketplace listing. + * Add or update team project permissions + * @description Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/projects/{project_id}`. */ + requestBody?: { + content: { + "application/json": OneOf<[{ + /** + * @description The permission to grant to the team for this project. Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * @enum {string} + */ + permission?: "read" | "write" | "admin"; + }, null]>; + }; + }; responses: { /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; + 204: never; + /** @description Forbidden if the project is not owned by the organization */ + 403: { content: { - "application/json": (components["schemas"]["marketplace-listing-plan"])[]; + "application/json": { + message?: string; + documentation_url?: string; + }; }; }; - 401: components["responses"]["requires_authentication"]; - 404: components["responses"]["not_found"]; }; }; - "apps/list-accounts-for-plan": { + "teams/remove-project-in-org": { /** - * List accounts for a plan - * @description Returns user and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * Remove a project from a team + * @description Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. This endpoint removes the project from the team, but does not delete the project. * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/projects/{project_id}`. */ - parameters?: { - /** @description To return the oldest accounts first, set to `asc`. Ignored without the `sort` parameter. */ - query?: { - direction?: "asc" | "desc"; - }; + responses: { + /** @description Response */ + 204: never; }; + }; + "teams/list-repos-in-org": { + /** + * List team repositories + * @description Lists a team's repositories visible to the authenticated user. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos`. + */ responses: { /** @description Response */ 200: { @@ -84163,237 +90666,256 @@ export interface operations { Link: components["headers"]["link"]; }; content: { - "application/json": (components["schemas"]["marketplace-purchase"])[]; + "application/json": (components["schemas"]["minimal-repository"])[]; }; }; - 401: components["responses"]["requires_authentication"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; }; }; - "apps/get-subscription-plan-for-account-stubbed": { + "teams/check-permissions-for-repo-in-org": { /** - * Get a subscription plan for an account (stubbed) - * @description Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * Check team permissions for a repository + * @description Checks whether a team has `admin`, `push`, `maintain`, `triage`, or `pull` permission for a repository. Repositories inherited through a parent team will also be checked. * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `application/vnd.github.v3.repository+json` accept header. + * + * If a team doesn't have permission for the repository, you will receive a `404 Not Found` response status. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. */ responses: { - /** @description Response */ + /** @description Alternative response with repository permissions */ 200: { content: { - "application/json": components["schemas"]["marketplace-purchase"]; + "application/json": components["schemas"]["team-repository"]; }; }; - 401: components["responses"]["requires_authentication"]; - /** @description Not Found when the account has not purchased the listing */ + /** @description Response if team has permission for the repository. This is the response when the repository media type hasn't been provded in the Accept header. */ + 204: never; + /** @description Not Found if team does not have permission for the repository */ 404: never; }; }; - "apps/list-plans-stubbed": { + "teams/add-or-update-repo-permissions-in-org": { /** - * List plans (stubbed) - * @description Lists all plans that are part of your GitHub Marketplace listing. + * Add or update team repository permissions + * @description To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + * + * For more information about the permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". + */ + requestBody?: { + content: { + "application/json": { + /** + * @description The permission to grant the team on this repository. We accept the following permissions to be set: `pull`, `triage`, `push`, `maintain`, `admin` and you can also specify a custom repository role name, if the owning organization has defined any. If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. + * @default push + */ + permission?: string; + }; + }; + }; + responses: { + /** @description Response */ + 204: never; + }; + }; + "teams/remove-repo-in-org": { + /** + * Remove a repository from a team + * @description If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. */ responses: { /** @description Response */ + 204: never; + }; + }; + "teams/list-child-in-org": { + /** + * List child teams + * @description Lists the child teams of the team specified by `{team_slug}`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`. + */ + responses: { + /** @description if child teams exist */ 200: { headers: { Link: components["headers"]["link"]; }; content: { - "application/json": (components["schemas"]["marketplace-listing-plan"])[]; + "application/json": (components["schemas"]["team"])[]; }; }; - 401: components["responses"]["requires_authentication"]; }; }; - "apps/list-accounts-for-plan-stubbed": { + "orgs/enable-or-disable-security-product-on-all-org-repos": { /** - * List accounts for a plan (stubbed) - * @description Returns repository and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * Enable or disable a security feature for an organization + * @description Enables or disables the specified security feature for all repositories in an organization. * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + * To use this endpoint, you must be an organization owner or be member of a team with the security manager role. + * A token with the 'write:org' scope is also required. + * + * GitHub Apps must have the `organization_administration:write` permission to use this endpoint. + * + * For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." */ - parameters?: { - /** @description To return the oldest accounts first, set to `asc`. Ignored without the `sort` parameter. */ - query?: { - direction?: "asc" | "desc"; - }; + responses: { + /** @description Action started */ + 204: never; + /** @description The action could not be taken due to an in progress enablement, or a policy is preventing enablement */ + 422: never; }; + }; + "projects/get-card": { + /** Get a project card */ responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": (components["schemas"]["marketplace-purchase"])[]; + "application/json": components["schemas"]["project-card"]; }; }; + 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; - "meta/get": { - /** - * Get GitHub meta information - * @description Returns meta information about GitHub, including a list of GitHub's IP addresses. For more information, see "[About GitHub's IP addresses](https://docs.github.com/articles/about-github-s-ip-addresses/)." - * - * **Note:** The IP addresses shown in the documentation's response are only example values. You must always query the API directly to get the latest list of IP addresses. - */ + "projects/delete-card": { + /** Delete a project card */ responses: { /** @description Response */ - 200: { + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** @description Forbidden */ + 403: { content: { - "application/json": components["schemas"]["api-overview"]; + "application/json": { + message?: string; + documentation_url?: string; + errors?: (string)[]; + }; }; }; - 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; }; }; - "activity/list-public-events-for-repo-network": { - /** List public events for a network of repositories */ + "projects/update-card": { + /** Update an existing project card */ + requestBody?: { + content: { + "application/json": { + /** @description The project card's note */ + note?: OneOf<[string, null]>; + /** @description Whether or not the card is archived */ + archived?: boolean; + }; + }; + }; responses: { /** @description Response */ 200: { content: { - "application/json": (components["schemas"]["event"])[]; + "application/json": components["schemas"]["project-card"]; }; }; - 301: components["responses"]["moved_permanently"]; 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; }; }; - "activity/list-notifications-for-authenticated-user": { - /** - * List notifications for the authenticated user - * @description List all notifications for the current user, sorted by most recently updated. - */ - parameters?: { - /** @description The number of results per page (max 50). */ - query?: { - per_page?: number; + "projects/move-card": { + /** Move a project card */ + requestBody: { + content: { + "application/json": { + /** @description The position of the card in a column. Can be one of: `top`, `bottom`, or `after:` to place after the specified card. */ + position: string; + /** @description The unique identifier of the column the card should be moved to */ + column_id?: number; + }; }; }; responses: { /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; + 201: { content: { - "application/json": (components["schemas"]["thread"])[]; + "application/json": Record; }; }; 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "activity/mark-notifications-as-read": { - /** - * Mark notifications as read - * @description Marks all notifications as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List notifications for the authenticated user](https://docs.github.com/rest/reference/activity#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. - */ - requestBody?: { - content: { - "application/json": { - /** - * Format: date-time - * @description Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. - */ - last_read_at?: string; - /** @description Whether the notification has been read. */ - read?: boolean; + /** @description Forbidden */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: ({ + code?: string; + message?: string; + resource?: string; + field?: string; + })[]; + }; }; }; - }; - responses: { + 422: components["responses"]["validation_failed"]; /** @description Response */ - 202: { + 503: { content: { "application/json": { + code?: string; message?: string; + documentation_url?: string; + errors?: ({ + code?: string; + message?: string; + })[]; }; }; }; - /** @description Reset Content */ - 205: never; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; }; }; - "activity/get-thread": { - /** - * Get a thread - * @description Gets information about a notification thread. - */ + "projects/get-column": { + /** Get a project column */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["thread"]; + "application/json": components["schemas"]["project-column"]; }; }; 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; - "activity/mark-thread-as-read": { - /** - * Mark a thread as read - * @description Marks a thread as "read." Marking a thread as "read" is equivalent to clicking a notification in your notification inbox on GitHub: https://github.com/notifications. - */ - responses: { - /** @description Reset Content */ - 205: never; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - }; - }; - "activity/get-thread-subscription-for-authenticated-user": { - /** - * Get a thread subscription for the authenticated user - * @description This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://docs.github.com/rest/reference/activity#get-a-repository-subscription). - * - * Note that subscriptions are only generated if a user is participating in a conversation--for example, they've replied to the thread, were **@mentioned**, or manually subscribe to a thread. - */ + "projects/delete-column": { + /** Delete a project column */ responses: { /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["thread-subscription"]; - }; - }; + 204: never; 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; }; }; - "activity/set-thread-subscription": { - /** - * Set a thread subscription - * @description If you are watching a repository, you receive notifications for all threads by default. Use this endpoint to ignore future notifications for threads until you comment on the thread or get an **@mention**. - * - * You can also use this endpoint to subscribe to threads that you are currently not receiving notifications for or to subscribed to threads that you have previously ignored. - * - * Unsubscribing from a conversation in a repository that you are not watching is functionally equivalent to the [Delete a thread subscription](https://docs.github.com/rest/reference/activity#delete-a-thread-subscription) endpoint. - */ - requestBody?: { + "projects/update-column": { + /** Update an existing project column */ + requestBody: { content: { "application/json": { - /** - * @description Whether to block all notifications from a thread. - * @default false - */ - ignored?: boolean; + /** @description Name of the project column */ + name: string; }; }; }; @@ -84401,7 +90923,7 @@ export interface operations { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["thread-subscription"]; + "application/json": components["schemas"]["project-column"]; }; }; 304: components["responses"]["not_modified"]; @@ -84409,684 +90931,568 @@ export interface operations { 403: components["responses"]["forbidden"]; }; }; - "activity/delete-thread-subscription": { - /** - * Delete a thread subscription - * @description Mutes all future notifications for a conversation until you comment on the thread or get an **@mention**. If you are watching the repository of the thread, you will still receive notifications. To ignore future notifications for a repository you are watching, use the [Set a thread subscription](https://docs.github.com/rest/reference/activity#set-a-thread-subscription) endpoint and set `ignore` to `true`. - */ - responses: { - /** @description Response */ - 204: never; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - "meta/get-octocat": { - /** - * Get Octocat - * @description Get the octocat as ASCII art - */ + "projects/list-cards": { + /** List project cards */ parameters?: { - /** @description The words to show in Octocat's speech bubble */ + /** @description Filters the project cards that are returned by the card's state. */ query?: { - s?: string; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/octocat-stream": string; - }; + archived_state?: "all" | "archived" | "not_archived"; }; }; - }; - "orgs/list": { - /** - * List organizations - * @description Lists all organizations, in the order that they were created on GitHub. - * - * **Note:** Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of organizations. - */ responses: { /** @description Response */ 200: { headers: { - /** @example ; rel="next" */ - Link?: string; + Link: components["headers"]["link"]; }; content: { - "application/json": (components["schemas"]["organization-simple"])[]; + "application/json": (components["schemas"]["project-card"])[]; }; }; 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; }; }; - "orgs/list-custom-roles": { - /** - * List custom repository roles in an organization - * @description List the custom repository roles available in this organization. In order to see custom - * repository roles in an organization, the authenticated user must be an organization owner. - * - * To use this endpoint the authenticated user must be an administrator for the organization or of an repository of the organizaiton and must use an access token with `admin:org repo` scope. - * GitHub Apps must have the `organization_custom_roles:read` organization permission to use this endpoint. - * - * For more information on custom repository roles, see "[About custom repository roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-repository-roles)." - */ - parameters: { - /** @description The unique identifier of the organization. */ - path: { - organization_id: string; + "projects/create-card": { + /** Create a project card */ + requestBody: { + content: { + "application/json": OneOf<[{ + /** @description The project card's note */ + note: OneOf<[string, null]>; + }, { + /** @description The unique identifier of the content associated with the card */ + content_id: number; + /** @description The piece of content associated with the card */ + content_type: string; + }]>; }; }; responses: { - /** @description Response - list of custom role names */ - 200: { + /** @description Response */ + 201: { content: { - "application/json": { - /** @description The number of custom roles in this organization */ - total_count?: number; - custom_roles?: (components["schemas"]["organization-custom-repository-role"])[]; - }; + "application/json": components["schemas"]["project-card"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** @description Validation failed */ + 422: { + content: { + "application/json": components["schemas"]["validation-error"] | components["schemas"]["validation-error-simple"]; }; }; - }; - }; - "orgs/get": { - /** - * Get an organization - * @description To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). - * - * GitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub plan. See "[Authenticating with GitHub Apps](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/)" for details. For an example response, see 'Response with GitHub plan information' below." - */ - responses: { /** @description Response */ - 200: { + 503: { content: { - "application/json": components["schemas"]["organization-full"]; + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + errors?: ({ + code?: string; + message?: string; + })[]; + }; }; }; - 404: components["responses"]["not_found"]; }; }; - "orgs/update": { - /** - * Update an organization - * @description **Parameter Deprecation Notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). - * - * Enables an authenticated organization owner with the `admin:org` scope to update the organization's profile and member privileges. - */ - requestBody?: { + "projects/move-column": { + /** Move a project column */ + requestBody: { content: { "application/json": { - /** @description Billing email address. This address is not publicized. */ - billing_email?: string; - /** @description The company name. */ - company?: string; - /** @description The publicly visible email address. */ - email?: string; - /** @description The Twitter username of the company. */ - twitter_username?: string; - /** @description The location. */ - location?: string; - /** @description The shorthand name of the company. */ - name?: string; - /** @description The description of the company. */ - description?: string; - /** @description Whether an organization can use organization projects. */ - has_organization_projects?: boolean; - /** @description Whether repositories that belong to the organization can use repository projects. */ - has_repository_projects?: boolean; - /** - * @description Default permission level members have for organization repositories. - * @default read - * @enum {string} - */ - default_repository_permission?: "read" | "write" | "admin" | "none"; - /** - * @description Whether of non-admin organization members can create repositories. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. - * @default true - */ - members_can_create_repositories?: boolean; - /** @description Whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ - members_can_create_internal_repositories?: boolean; - /** @description Whether organization members can create private repositories, which are visible to organization members with permission. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ - members_can_create_private_repositories?: boolean; - /** @description Whether organization members can create public repositories, which are visible to anyone. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ - members_can_create_public_repositories?: boolean; - /** - * @description Specifies which types of repositories non-admin organization members can create. `private` is only available to repositories that are part of an organization on GitHub Enterprise Cloud. - * **Note:** This parameter is deprecated and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See the parameter deprecation notice in the operation description for details. - * @enum {string} - */ - members_allowed_repository_creation_type?: "all" | "private" | "none"; - /** - * @description Whether organization members can create GitHub Pages sites. Existing published sites will not be impacted. - * @default true - */ - members_can_create_pages?: boolean; - /** - * @description Whether organization members can create public GitHub Pages sites. Existing published sites will not be impacted. - * @default true - */ - members_can_create_public_pages?: boolean; - /** - * @description Whether organization members can create private GitHub Pages sites. Existing published sites will not be impacted. - * @default true - */ - members_can_create_private_pages?: boolean; - /** - * @description Whether organization members can fork private organization repositories. - * @default false - */ - members_can_fork_private_repositories?: boolean; - /** - * @description Whether contributors to organization repositories are required to sign off on commits they make through GitHub's web interface. - * @default false - */ - web_commit_signoff_required?: boolean; - blog?: string; - /** - * @description Whether GitHub Advanced Security is automatically enabled for new repositories. - * - * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. - */ - advanced_security_enabled_for_new_repositories?: boolean; - /** - * @description Whether Dependabot alerts is automatically enabled for new repositories. - * - * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. - */ - dependabot_alerts_enabled_for_new_repositories?: boolean; - /** - * @description Whether Dependabot security updates is automatically enabled for new repositories. - * - * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. - */ - dependabot_security_updates_enabled_for_new_repositories?: boolean; - /** - * @description Whether dependency graph is automatically enabled for new repositories. - * - * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. - */ - dependency_graph_enabled_for_new_repositories?: boolean; - /** - * @description Whether secret scanning is automatically enabled for new repositories. - * - * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. - */ - secret_scanning_enabled_for_new_repositories?: boolean; - /** - * @description Whether secret scanning push protection is automatically enabled for new repositories. - * - * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. - */ - secret_scanning_push_protection_enabled_for_new_repositories?: boolean; - /** @description Whether a custom link is shown to contributors who are blocked from pushing a secret by push protection. */ - secret_scanning_push_protection_custom_link_enabled?: boolean; - /** @description If `secret_scanning_push_protection_custom_link_enabled` is true, the URL that will be displayed to contributors who are blocked from pushing a secret. */ - secret_scanning_push_protection_custom_link?: string; + /** @description The position of the column in a project. Can be one of: `first`, `last`, or `after:` to place after the specified column. */ + position: string; }; }; }; responses: { /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["organization-full"]; - }; - }; - 409: components["responses"]["conflict"]; - /** @description Validation failed */ - 422: { + 201: { content: { - "application/json": components["schemas"]["validation-error"] | components["schemas"]["validation-error-simple"]; + "application/json": Record; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed_simple"]; }; }; - "actions/get-actions-cache-usage-for-org": { + "projects/get": { /** - * Get GitHub Actions cache usage for an organization - * @description Gets the total GitHub Actions cache usage for an organization. - * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. - * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. + * Get a project + * @description Gets a project by its `id`. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": components["schemas"]["actions-cache-usage-org-enterprise"]; + "application/json": components["schemas"]["project"]; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; }; }; - "actions/get-actions-cache-usage-by-repo-for-org": { + "projects/delete": { /** - * List repositories with GitHub Actions cache usage for an organization - * @description Lists repositories and their GitHub Actions cache usage for an organization. - * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. - * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. + * Delete a project + * @description Deletes a project board. Returns a `404 Not Found` status if projects are disabled. */ responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; + /** @description Delete Success */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** @description Forbidden */ + 403: { content: { "application/json": { - total_count: number; - repository_cache_usages: (components["schemas"]["actions-cache-usage-by-repository"])[]; + message?: string; + documentation_url?: string; + errors?: (string)[]; }; }; }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; }; }; - "actions/get-github-actions-permissions-organization": { + "projects/update": { /** - * Get GitHub Actions permissions for an organization - * @description Gets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + * Update a project + * @description Updates a project board's information. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + requestBody?: { + content: { + "application/json": { + /** @description Name of the project */ + name?: string; + /** @description Body of the project */ + body?: OneOf<[string, null]>; + /** @description State of the project; either 'open' or 'closed' */ + state?: string; + /** + * @description The baseline permission that all organization members have on this project + * @enum {string} + */ + organization_permission?: "read" | "write" | "admin" | "none"; + /** @description Whether or not this project can be seen by everyone. */ + private?: boolean; + }; + }; + }; responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["actions-organization-permissions"]; + "application/json": components["schemas"]["project"]; }; }; - }; - }; - "actions/set-github-actions-permissions-organization": { - /** - * Set GitHub Actions permissions for an organization - * @description Sets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. - * - * If the organization belongs to an enterprise that has set restrictive permissions at the enterprise level, such as `allowed_actions` to `selected` actions and reusable workflows, then you cannot override them for the organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - requestBody: { - content: { - "application/json": { - enabled_repositories: components["schemas"]["enabled-repositories"]; - allowed_actions?: components["schemas"]["allowed-actions"]; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** @description Forbidden */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: (string)[]; + }; }; }; - }; - responses: { - /** @description Response */ - 204: never; + /** @description Not Found if the authenticated user does not have access to the project */ + 404: never; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed_simple"]; }; }; - "actions/list-selected-repositories-enabled-github-actions-organization": { + "projects/list-collaborators": { /** - * List selected repositories enabled for GitHub Actions in an organization - * @description Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + * List project collaborators + * @description Lists the collaborators for an organization project. For a project, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. You must be an organization owner or a project `admin` to list collaborators. */ + parameters?: { + /** @description Filters the collaborators by their affiliation. `outside` means outside collaborators of a project that are not a member of the project's organization. `direct` means collaborators with permissions to a project, regardless of organization membership status. `all` means all collaborators the authenticated user can see. */ + query?: { + affiliation?: "outside" | "direct" | "all"; + }; + }; responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": { - total_count: number; - repositories: (components["schemas"]["repository"])[]; - }; + "application/json": (components["schemas"]["simple-user"])[]; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - "actions/set-selected-repositories-enabled-github-actions-organization": { + "projects/add-collaborator": { /** - * Set selected repositories enabled for GitHub Actions in an organization - * @description Replaces the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + * Add project collaborator + * @description Adds a collaborator to an organization project and sets their permission level. You must be an organization owner or a project `admin` to add a collaborator. */ - requestBody: { + requestBody?: { content: { - "application/json": { - /** @description List of repository IDs to enable for GitHub Actions. */ - selected_repository_ids: (number)[]; - }; + "application/json": OneOf<[{ + /** + * @description The permission to grant the collaborator. + * @default write + * @enum {string} + */ + permission?: "read" | "write" | "admin"; + }, null]>; }; }; responses: { /** @description Response */ 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - "actions/enable-selected-repository-github-actions-organization": { + "projects/remove-collaborator": { /** - * Enable a selected repository for GitHub Actions in an organization - * @description Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + * Remove user as a collaborator + * @description Removes a collaborator from an organization project. You must be an organization owner or a project `admin` to remove a collaborator. */ responses: { /** @description Response */ 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - "actions/disable-selected-repository-github-actions-organization": { + "projects/get-permission-for-user": { /** - * Disable a selected repository for GitHub Actions in an organization - * @description Removes a repository from the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + * Get project permission for a user + * @description Returns the collaborator's permission level for an organization project. Possible values for the `permission` key: `admin`, `write`, `read`, `none`. You must be an organization owner or a project `admin` to review a user's permission level. */ responses: { /** @description Response */ - 204: never; + 200: { + content: { + "application/json": components["schemas"]["project-collaborator-permission"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - "actions/get-allowed-actions-organization": { - /** - * Get allowed actions and reusable workflows for an organization - * @description Gets the selected actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)."" - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ + "projects/list-columns": { + /** List project columns */ responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["selected-actions"]; + "application/json": (components["schemas"]["project-column"])[]; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; }; }; - "actions/set-allowed-actions-organization": { - /** - * Set allowed actions and reusable workflows for an organization - * @description Sets the actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * If the organization belongs to an enterprise that has `selected` actions and reusable workflows set at the enterprise level, then you cannot override any of the enterprise's allowed actions and reusable workflows settings. - * - * To use the `patterns_allowed` setting for private repositories, the organization must belong to an enterprise. If the organization does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories in the organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - requestBody?: { + "projects/create-column": { + /** Create a project column */ + requestBody: { content: { - "application/json": components["schemas"]["selected-actions"]; + "application/json": { + /** @description Name of the project column */ + name: string; + }; }; }; responses: { /** @description Response */ - 204: never; + 201: { + content: { + "application/json": components["schemas"]["project-column"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed_simple"]; }; }; - "actions/get-github-actions-default-workflow-permissions-organization": { + "rate-limit/get": { /** - * Get default workflow permissions for an organization - * @description Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, - * as well as whether GitHub Actions can submit approving pull request reviews. For more information, see - * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." + * Get rate limit status for the authenticated user + * @description **Note:** Accessing this endpoint does not count against your REST API rate limit. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + * **Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. */ responses: { /** @description Response */ 200: { + headers: { + "X-RateLimit-Limit": components["headers"]["x-rate-limit-limit"]; + "X-RateLimit-Remaining": components["headers"]["x-rate-limit-remaining"]; + "X-RateLimit-Reset": components["headers"]["x-rate-limit-reset"]; + }; content: { - "application/json": components["schemas"]["actions-get-default-workflow-permissions"]; + "application/json": components["schemas"]["rate-limit-overview"]; }; }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; }; }; - "actions/set-github-actions-default-workflow-permissions-organization": { + "repos/get": { /** - * Set default workflow permissions for an organization - * @description Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, and sets if GitHub Actions - * can submit approving pull request reviews. For more information, see - * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + * Get a repository + * @description The `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network. */ - requestBody?: { - content: { - "application/json": components["schemas"]["actions-set-default-workflow-permissions"]; - }; - }; responses: { - /** @description Success response */ - 204: never; - /** @description Conflict response when changing a setting is prevented by the owning enterprise */ - 409: never; + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; - "actions/list-self-hosted-runner-groups-for-org": { + "repos/delete": { /** - * List self-hosted runner groups for an organization - * @description The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." - * - * Lists all self-hosted runner groups configured in an organization and inherited from an enterprise. + * Delete a repository + * @description Deleting a repository requires admin access. If OAuth is used, the `delete_repo` scope is required. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If an organization owner has configured the organization to prevent members from deleting organization-owned + * repositories, you will get a `403 Forbidden` response. */ responses: { /** @description Response */ - 200: { + 204: never; + 307: components["responses"]["temporary_redirect"]; + /** @description If an organization owner has configured the organization to prevent members from deleting organization-owned repositories, a member will get this response: */ + 403: { content: { "application/json": { - total_count: number; - runner_groups: (components["schemas"]["runner-groups-org"])[]; + message?: string; + documentation_url?: string; }; }; }; + 404: components["responses"]["not_found"]; }; }; - "actions/create-self-hosted-runner-group-for-org": { + "repos/update": { /** - * Create a self-hosted runner group for an organization - * @description The self-hosted runner groups REST API is available with GitHub Enterprise Cloud and GitHub Enterprise Server. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." - * - * Creates a new self-hosted runner group for an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * Update a repository + * @description **Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/reference/repos#replace-all-repository-topics) endpoint. */ - requestBody: { + requestBody?: { content: { "application/json": { - /** @description Name of the runner group. */ - name: string; + /** @description The name of the repository. */ + name?: string; + /** @description A short description of the repository. */ + description?: string; + /** @description A URL with more information about the repository. */ + homepage?: string; /** - * @description Visibility of a runner group. You can select all repositories, select individual repositories, or limit access to private repositories. - * @default all + * @description Either `true` to make the repository private or `false` to make it public. Default: `false`. + * **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://docs.github.com/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private. + * @default false + */ + private?: boolean; + /** + * @description Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`." * @enum {string} */ - visibility?: "selected" | "all" | "private"; - /** @description List of repository IDs that can access the runner group. */ - selected_repository_ids?: (number)[]; - /** @description List of runner IDs to add to the runner group. */ - runners?: (number)[]; + visibility?: "public" | "private" | "internal"; /** - * @description Whether the runner group can be used by `public` repositories. + * @description Specify which security and analysis features to enable or disable for the repository. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * For example, to enable GitHub Advanced Security, use this data in the body of the `PATCH` request: + * `{ "security_and_analysis": {"advanced_security": { "status": "enabled" } } }`. + * + * You can check which security and analysis features are currently enabled by using a `GET /repos/{owner}/{repo}` request. + */ + security_and_analysis?: OneOf<[{ + /** @description Use the `status` property to enable or disable GitHub Advanced Security for this repository. For more information, see "[About GitHub Advanced Security](/github/getting-started-with-github/learning-about-github/about-github-advanced-security)." */ + advanced_security?: { + /** @description Can be `enabled` or `disabled`. */ + status?: string; + }; + /** @description Use the `status` property to enable or disable secret scanning for this repository. For more information, see "[About secret scanning](/code-security/secret-security/about-secret-scanning)." */ + secret_scanning?: { + /** @description Can be `enabled` or `disabled`. */ + status?: string; + }; + /** @description Use the `status` property to enable or disable secret scanning push protection for this repository. For more information, see "[Protecting pushes with secret scanning](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)." */ + secret_scanning_push_protection?: { + /** @description Can be `enabled` or `disabled`. */ + status?: string; + }; + }, null]>; + /** + * @description Either `true` to enable issues for this repository or `false` to disable them. + * @default true + */ + has_issues?: boolean; + /** + * @description Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. + * @default true + */ + has_projects?: boolean; + /** + * @description Either `true` to enable the wiki for this repository or `false` to disable it. + * @default true + */ + has_wiki?: boolean; + /** + * @description Either `true` to make this repo available as a template repository or `false` to prevent it. * @default false */ - allows_public_repositories?: boolean; + is_template?: boolean; + /** @description Updates the default branch for this repository. */ + default_branch?: string; /** - * @description If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array. + * @description Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + * @default true + */ + allow_squash_merge?: boolean; + /** + * @description Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Either `true` to allow auto-merge on pull requests, or `false` to disallow auto-merge. * @default false */ - restricted_to_workflows?: boolean; - /** @description List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`. */ - selected_workflows?: (string)[]; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["runner-groups-org"]; - }; - }; - }; - }; - "actions/get-self-hosted-runner-group-for-org": { - /** - * Get a self-hosted runner group for an organization - * @description The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." - * - * Gets a specific self-hosted runner group for an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["runner-groups-org"]; - }; - }; - }; - }; - "actions/delete-self-hosted-runner-group-from-org": { - /** - * Delete a self-hosted runner group from an organization - * @description The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." - * - * Deletes a self-hosted runner group for an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - responses: { - /** @description Response */ - 204: never; - }; - }; - "actions/update-self-hosted-runner-group-for-org": { - /** - * Update a self-hosted runner group for an organization - * @description The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." - * - * Updates the `name` and `visibility` of a self-hosted runner group in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - requestBody: { - content: { - "application/json": { - /** @description Name of the runner group. */ - name: string; + allow_auto_merge?: boolean; /** - * @description Visibility of a runner group. You can select all repositories, select individual repositories, or all private repositories. + * @description Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + * @default false + */ + delete_branch_on_merge?: boolean; + /** + * @description Either `true` to always allow a pull request head branch that is behind its base branch to be updated even if it is not required to be up to date before merging, or false otherwise. + * @default false + */ + allow_update_branch?: boolean; + /** + * @deprecated + * @description Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). * @enum {string} */ - visibility?: "selected" | "all" | "private"; + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; /** - * @description Whether the runner group can be used by `public` repositories. + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description `true` to archive this repository. **Note**: You cannot unarchive repositories through the API. * @default false */ - allows_public_repositories?: boolean; + archived?: boolean; /** - * @description If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array. + * @description Either `true` to allow private forks, or `false` to prevent private forks. * @default false */ - restricted_to_workflows?: boolean; - /** @description List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`. */ - selected_workflows?: (string)[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["runner-groups-org"]; + allow_forking?: boolean; + /** + * @description Either `true` to require contributors to sign off on web-based commits, or `false` to not require contributors to sign off on web-based commits. + * @default false + */ + web_commit_signoff_required?: boolean; }; }; }; - }; - "actions/list-repo-access-to-self-hosted-runner-group-in-org": { - /** - * List repository access to a self-hosted runner group in an organization - * @description The self-hosted runner groups REST API is available with GitHub Enterprise Cloud and GitHub Enterprise Server. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." - * - * Lists the repositories with access to a self-hosted runner group configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ responses: { /** @description Response */ 200: { content: { - "application/json": { - total_count: number; - repositories: (components["schemas"]["minimal-repository"])[]; - }; - }; - }; - }; - }; - "actions/set-repo-access-to-self-hosted-runner-group-in-org": { - /** - * Set repository access for a self-hosted runner group in an organization - * @description The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." - * - * Replaces the list of repositories that have access to a self-hosted runner group configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - requestBody: { - content: { - "application/json": { - /** @description List of repository IDs that can access the runner group. */ - selected_repository_ids: (number)[]; + "application/json": components["schemas"]["full-repository"]; }; }; + 307: components["responses"]["temporary_redirect"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; - responses: { - /** @description Response */ - 204: never; - }; - }; - "actions/remove-repo-access-to-self-hosted-runner-group-in-org": { - /** - * Remove repository access to a self-hosted runner group in an organization - * @description The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." - * - * - * Removes a repository from the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - responses: { - /** @description Response */ - 204: never; - }; - }; - "actions/list-self-hosted-runners-in-group-for-org": { - /** - * List self-hosted runners in a group for an organization - * @description The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." - * - * Lists self-hosted runners that are in a specific organization group. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + }; + "actions/list-artifacts-for-repo": { + /** + * List artifacts for a repository + * @description Lists all artifacts for a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + parameters?: { + /** @description Filters artifacts by exact match on their name field. */ + query?: { + name?: string; + }; + }; responses: { /** @description Response */ 200: { @@ -85096,71 +91502,77 @@ export interface operations { content: { "application/json": { total_count: number; - runners: (components["schemas"]["runner"])[]; + artifacts: (components["schemas"]["artifact"])[]; }; }; }; }; }; - "actions/set-self-hosted-runners-in-group-for-org": { + "actions/get-artifact": { /** - * Set self-hosted runners in a group for an organization - * @description The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." - * - * Replaces the list of self-hosted runners that are part of an organization runner group. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * Get an artifact + * @description Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ - requestBody: { - content: { - "application/json": { - /** @description List of runner IDs to add to the runner group. */ - runners: (number)[]; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["artifact"]; }; }; }; + }; + "actions/delete-artifact": { + /** + * Delete an artifact + * @description Deletes an artifact for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ responses: { /** @description Response */ 204: never; }; }; - "actions/add-self-hosted-runner-to-group-for-org": { + "actions/download-artifact": { /** - * Add a self-hosted runner to a group for an organization - * @description The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." - * - * - * Adds a self-hosted runner to a runner group configured in an organization. - * - * You must authenticate using an access token with the `admin:org` - * scope to use this endpoint. + * Download an artifact + * @description Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in + * the response header to find the URL for the download. The `:archive_format` must be `zip`. Anyone with read access to + * the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. + * GitHub Apps must have the `actions:read` permission to use this endpoint. */ + parameters: { + path: { + archive_format: string; + }; + }; responses: { /** @description Response */ - 204: never; + 302: never; + 410: components["responses"]["gone"]; }; }; - "actions/remove-self-hosted-runner-from-group-for-org": { + "actions/get-actions-cache-usage": { /** - * Remove a self-hosted runner from a group for an organization - * @description The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." - * - * - * Removes a self-hosted runner from a group configured in an organization. The runner is then returned to the default group. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * Get GitHub Actions cache usage for a repository + * @description Gets GitHub Actions cache usage for a repository. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ responses: { /** @description Response */ - 204: never; + 200: { + content: { + "application/json": components["schemas"]["actions-cache-usage-by-repository"]; + }; + }; }; }; - "actions/list-self-hosted-runners-for-org": { + "actions/get-actions-cache-list": { /** - * List self-hosted runners for an organization - * @description Lists all self-hosted runners configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * List GitHub Actions caches for a repository + * @description Lists the GitHub Actions caches for a repository. + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `actions:read` permission to use this endpoint. */ responses: { /** @description Response */ @@ -85169,196 +91581,251 @@ export interface operations { Link: components["headers"]["link"]; }; content: { - "application/json": { - total_count: number; - runners: (components["schemas"]["runner"])[]; - }; + "application/json": components["schemas"]["actions-cache-list"]; }; }; }; }; - "actions/list-runner-applications-for-org": { + "actions/delete-actions-cache-by-key": { /** - * List runner applications for an organization - * @description Lists binaries for the runner application that you can download and run. + * Delete GitHub Actions caches for a repository (using a cache key) + * @description Deletes one or more GitHub Actions caches for a repository, using a complete cache key. By default, all caches that match the provided key are deleted, but you can optionally provide a Git ref to restrict deletions to caches that match both the provided key and the Git ref. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * + * GitHub Apps must have the `actions:write` permission to use this endpoint. */ responses: { /** @description Response */ 200: { content: { - "application/json": (components["schemas"]["runner-application"])[]; + "application/json": components["schemas"]["actions-cache-list"]; }; }; }; }; - "actions/create-registration-token-for-org": { + "actions/delete-actions-cache-by-id": { /** - * Create a registration token for an organization - * @description Returns a token that you can pass to the `config` script. The token expires after one hour. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * - * #### Example using registration token + * Delete a GitHub Actions cache for a repository (using a cache ID) + * @description Deletes a GitHub Actions cache for a repository, using a cache ID. * - * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * You must authenticate using an access token with the `repo` scope to use this endpoint. * - * ``` - * ./config.sh --url https://github.com/octo-org --token TOKEN - * ``` + * GitHub Apps must have the `actions:write` permission to use this endpoint. */ responses: { /** @description Response */ - 201: { + 204: never; + }; + }; + "actions/get-job-for-workflow-run": { + /** + * Get a job for a workflow run + * @description Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + responses: { + /** @description Response */ + 200: { content: { - "application/json": components["schemas"]["authentication-token"]; + "application/json": components["schemas"]["job"]; }; }; }; }; - "actions/create-remove-token-for-org": { + "actions/download-job-logs-for-workflow-run": { /** - * Create a remove token for an organization - * @description Returns a token that you can pass to the `config` script to remove a self-hosted runner from an organization. The token expires after one hour. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * - * #### Example using remove token - * - * To remove your self-hosted runner from an organization, replace `TOKEN` with the remove token provided by this - * endpoint. - * - * ``` - * ./config.sh remove --token TOKEN - * ``` + * Download job logs for a workflow run + * @description Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look + * for `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can + * use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must + * have the `actions:read` permission to use this endpoint. + */ + responses: { + /** @description Response */ + 302: never; + }; + }; + "actions/re-run-job-for-workflow-run": { + /** + * Re-run a job from a workflow run + * @description Re-run a job and its dependent jobs in a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ + requestBody?: { + content: { + "application/json": OneOf<[{ + /** + * @description Whether to enable debug logging for the re-run. + * @default false + */ + enable_debug_logging?: boolean; + }, null]>; + }; + }; responses: { /** @description Response */ 201: { content: { - "application/json": components["schemas"]["authentication-token"]; + "application/json": components["schemas"]["empty-object"]; }; }; + 403: components["responses"]["forbidden"]; }; }; - "actions/get-self-hosted-runner-for-org": { + "actions/get-github-actions-permissions-repository": { /** - * Get a self-hosted runner for an organization - * @description Gets a specific self-hosted runner configured in an organization. + * Get GitHub Actions permissions for a repository + * @description Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions and reusable workflows allowed to run in the repository. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["runner"]; + "application/json": components["schemas"]["actions-repository-permissions"]; }; }; }; }; - "actions/delete-self-hosted-runner-from-org": { + "actions/set-github-actions-permissions-repository": { /** - * Delete a self-hosted runner from an organization - * @description Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * Set GitHub Actions permissions for a repository + * @description Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions and reusable workflows in the repository. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository belongs to an organization or enterprise that has set restrictive permissions at the organization or enterprise levels, such as `allowed_actions` to `selected` actions and reusable workflows, then you cannot override them for the repository. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. */ + requestBody: { + content: { + "application/json": { + enabled: components["schemas"]["actions-enabled"]; + allowed_actions?: components["schemas"]["allowed-actions"]; + }; + }; + }; responses: { /** @description Response */ 204: never; }; }; - "actions/list-labels-for-self-hosted-runner-for-org": { + "actions/get-workflow-access-to-repository": { /** - * List labels for a self-hosted runner for an organization - * @description Lists all labels for a self-hosted runner configured in an organization. + * Get the level of access for workflows outside of the repository + * @description Gets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. + * This endpoint only applies to internal repositories. For more information, see "[Managing GitHub Actions settings for a repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-an-internal-repository)." * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the + * repository `administration` permission to use this endpoint. */ responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-workflow-access-to-repository"]; + }; + }; }; }; - "actions/set-custom-labels-for-self-hosted-runner-for-org": { + "actions/set-workflow-access-to-repository": { /** - * Set custom labels for a self-hosted runner for an organization - * @description Remove all previous custom labels and set the new custom labels for a specific - * self-hosted runner configured in an organization. + * Set the level of access for workflows outside of the repository + * @description Sets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. + * This endpoint only applies to internal repositories. For more information, see "[Managing GitHub Actions settings for a repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-an-internal-repository)." * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the + * repository `administration` permission to use this endpoint. */ requestBody: { content: { - "application/json": { - /** @description The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels. */ - labels: (string)[]; - }; + "application/json": components["schemas"]["actions-workflow-access-to-repository"]; }; }; responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; + /** @description Response */ + 204: never; }; }; - "actions/add-custom-labels-to-self-hosted-runner-for-org": { + "actions/get-allowed-actions-repository": { /** - * Add custom labels to a self-hosted runner for an organization - * @description Add custom labels to a self-hosted runner configured in an organization. + * Get allowed actions and reusable workflows for a repository + * @description Gets the settings for selected actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. */ - requestBody: { - content: { - "application/json": { - /** @description The names of the custom labels to add to the runner. */ - labels: (string)[]; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["selected-actions"]; }; }; }; + }; + "actions/set-allowed-actions-repository": { + /** + * Set allowed actions and reusable workflows for a repository + * @description Sets the actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * + * If the repository belongs to an organization or enterprise that has `selected` actions and reusable workflows set at the organization or enterprise levels, then you cannot override any of the allowed actions and reusable workflows settings. + * + * To use the `patterns_allowed` setting for private repositories, the repository must belong to an enterprise. If the repository does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + requestBody?: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; + /** @description Response */ + 204: never; }; }; - "actions/remove-all-custom-labels-from-self-hosted-runner-for-org": { + "actions/get-github-actions-default-workflow-permissions-repository": { /** - * Remove all custom labels from a self-hosted runner for an organization - * @description Remove all custom labels from a self-hosted runner configured in an - * organization. Returns the remaining read-only labels from the runner. + * Get default workflow permissions for a repository + * @description Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, + * as well as if GitHub Actions can submit approving pull request reviews. + * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the repository `administration` permission to use this API. */ responses: { - 200: components["responses"]["actions_runner_labels_readonly"]; - 404: components["responses"]["not_found"]; + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-get-default-workflow-permissions"]; + }; + }; }; }; - "actions/remove-custom-label-from-self-hosted-runner-for-org": { + "actions/set-github-actions-default-workflow-permissions-repository": { /** - * Remove a custom label from a self-hosted runner for an organization - * @description Remove a custom label from a self-hosted runner configured - * in an organization. Returns the remaining labels from the runner. - * - * This endpoint returns a `404 Not Found` status if the custom label is not - * present on the runner. + * Set default workflow permissions for a repository + * @description Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, and sets if GitHub Actions + * can submit approving pull request reviews. + * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the repository `administration` permission to use this API. */ + requestBody: { + content: { + "application/json": components["schemas"]["actions-set-default-workflow-permissions"]; + }; + }; responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; + /** @description Success response */ + 204: never; + /** @description Conflict response when changing a setting is prevented by the owning organization or enterprise */ + 409: never; }; }; - "actions/list-org-secrets": { + "actions/list-self-hosted-runners-for-repo": { /** - * List organization secrets - * @description Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + * List self-hosted runners for a repository + * @description Lists all self-hosted runners configured in a repository. You must authenticate using an access token with the `repo` scope to use this endpoint. */ responses: { /** @description Response */ @@ -85369,361 +91836,278 @@ export interface operations { content: { "application/json": { total_count: number; - secrets: (components["schemas"]["organization-actions-secret"])[]; + runners: (components["schemas"]["runner"])[]; }; }; }; }; }; - "actions/get-org-public-key": { + "actions/list-runner-applications-for-repo": { /** - * Get an organization public key - * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + * List runner applications for a repository + * @description Lists binaries for the runner application that you can download and run. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["actions-public-key"]; + "application/json": (components["schemas"]["runner-application"])[]; }; }; }; }; - "actions/get-org-secret": { + "actions/create-registration-token-for-repo": { /** - * Get an organization secret - * @description Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + * Create a registration token for a repository + * @description Returns a token that you can pass to the `config` script. The token expires after one hour. You must authenticate + * using an access token with the `repo` scope to use this endpoint. + * + * #### Example using registration token + * + * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * + * ``` + * ./config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN + * ``` */ responses: { /** @description Response */ - 200: { + 201: { content: { - "application/json": components["schemas"]["organization-actions-secret"]; + "application/json": components["schemas"]["authentication-token"]; }; }; }; }; - "actions/create-or-update-org-secret": { + "actions/create-remove-token-for-repo": { /** - * Create or update an organization secret - * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access - * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to - * use this endpoint. - * - * #### Example encrypting a secret using Node.js - * - * Encrypt your secret using the [libsodium-wrappers](https://www.npmjs.com/package/libsodium-wrappers) library. - * - * ``` - * const sodium = require('libsodium-wrappers') - * const secret = 'plain-text-secret' // replace with the secret you want to encrypt - * const key = 'base64-encoded-public-key' // replace with the Base64 encoded public key - * - * //Check if libsodium is ready and then proceed. - * sodium.ready.then(() => { - * // Convert Secret & Base64 key to Uint8Array. - * let binkey = sodium.from_base64(key, sodium.base64_variants.ORIGINAL) - * let binsec = sodium.from_string(secret) - * - * //Encrypt the secret using LibSodium - * let encBytes = sodium.crypto_box_seal(binsec, binkey) - * - * // Convert encrypted Uint8Array to Base64 - * let output = sodium.to_base64(encBytes, sodium.base64_variants.ORIGINAL) - * - * console.log(output) - * }); - * ``` - * - * #### Example encrypting a secret using Python - * - * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. - * - * ``` - * from base64 import b64encode - * from nacl import encoding, public - * - * def encrypt(public_key: str, secret_value: str) -> str: - * """Encrypt a Unicode string using the public key.""" - * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) - * sealed_box = public.SealedBox(public_key) - * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) - * return b64encode(encrypted).decode("utf-8") - * ``` - * - * #### Example encrypting a secret using C# - * - * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. - * - * ``` - * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); - * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * Create a remove token for a repository + * @description Returns a token that you can pass to remove a self-hosted runner from a repository. The token expires after one hour. + * You must authenticate using an access token with the `repo` scope to use this endpoint. * - * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * #### Example using remove token + * + * To remove your self-hosted runner from a repository, replace TOKEN with the remove token provided by this endpoint. * - * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); * ``` - * - * #### Example encrypting a secret using Ruby - * - * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. - * - * ```ruby - * require "rbnacl" - * require "base64" - * - * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") - * public_key = RbNaCl::PublicKey.new(key) - * - * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) - * encrypted_secret = box.encrypt("my_secret") - * - * # Print the base64 encoded secret - * puts Base64.strict_encode64(encrypted_secret) + * ./config.sh remove --token TOKEN * ``` */ - requestBody: { - content: { - "application/json": { - /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/reference/actions#get-an-organization-public-key) endpoint. */ - encrypted_value?: string; - /** @description ID of the key you used to encrypt the secret. */ - key_id?: string; - /** - * @description Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret. - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/reference/actions#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/actions#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints. */ - selected_repository_ids?: (number)[]; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["authentication-token"]; }; }; }; + }; + "actions/get-self-hosted-runner-for-repo": { + /** + * Get a self-hosted runner for a repository + * @description Gets a specific self-hosted runner configured in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. + */ responses: { - /** @description Response when creating a secret */ - 201: { + /** @description Response */ + 200: { content: { - "application/json": components["schemas"]["empty-object"]; + "application/json": components["schemas"]["runner"]; }; }; - /** @description Response when updating a secret */ - 204: never; }; }; - "actions/delete-org-secret": { + "actions/delete-self-hosted-runner-from-repo": { /** - * Delete an organization secret - * @description Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + * Delete a self-hosted runner from a repository + * @description Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * You must authenticate using an access token with the `repo` + * scope to use this endpoint. */ responses: { /** @description Response */ 204: never; }; }; - "actions/list-selected-repos-for-org-secret": { + "actions/list-labels-for-self-hosted-runner-for-repo": { + /** + * List labels for a self-hosted runner for a repository + * @description Lists all labels for a self-hosted runner configured in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. + */ + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + }; + }; + "actions/set-custom-labels-for-self-hosted-runner-for-repo": { /** - * List selected repositories for an organization secret - * @description Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + * Set custom labels for a self-hosted runner for a repository + * @description Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - repositories: (components["schemas"]["minimal-repository"])[]; - }; + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels. */ + labels: (string)[]; }; }; }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; }; - "actions/set-selected-repos-for-org-secret": { + "actions/add-custom-labels-to-self-hosted-runner-for-repo": { /** - * Set selected repositories for an organization secret - * @description Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + * Add custom labels to a self-hosted runner for a repository + * @description Add custom labels to a self-hosted runner configured in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. */ requestBody: { content: { "application/json": { - /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Add selected repository to an organization secret](https://docs.github.com/rest/actions/secrets#add-selected-repository-to-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints. */ - selected_repository_ids: (number)[]; + /** @description The names of the custom labels to add to the runner. */ + labels: (string)[]; }; }; }; responses: { - /** @description Response */ - 204: never; + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; }; }; - "actions/add-selected-repo-to-org-secret": { + "actions/remove-all-custom-labels-from-self-hosted-runner-for-repo": { /** - * Add selected repository to an organization secret - * @description Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + * Remove all custom labels from a self-hosted runner for a repository + * @description Remove all custom labels from a self-hosted runner configured in a + * repository. Returns the remaining read-only labels from the runner. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. */ - parameters: { - path: { - repository_id: number; - }; - }; responses: { - /** @description No Content when repository was added to the selected list */ - 204: never; - /** @description Conflict when visibility type is not set to selected */ - 409: never; + 200: components["responses"]["actions_runner_labels_readonly"]; + 404: components["responses"]["not_found"]; }; }; - "actions/remove-selected-repo-from-org-secret": { + "actions/remove-custom-label-from-self-hosted-runner-for-repo": { /** - * Remove selected repository from an organization secret - * @description Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + * Remove a custom label from a self-hosted runner for a repository + * @description Remove a custom label from a self-hosted runner configured + * in a repository. Returns the remaining labels from the runner. + * + * This endpoint returns a `404 Not Found` status if the custom label is not + * present on the runner. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. */ - parameters: { - path: { - repository_id: number; - }; - }; responses: { - /** @description Response when repository was removed from the selected list */ - 204: never; - /** @description Conflict when visibility type not set to selected */ - 409: never; + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; }; }; - "orgs/list-blocked-users": { + "actions/list-workflow-runs-for-repo": { /** - * List users blocked by an organization - * @description List the users blocked by an organization. + * List workflow runs for a repository + * @description Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": (components["schemas"]["simple-user"])[]; + "application/json": { + total_count: number; + workflow_runs: (components["schemas"]["workflow-run"])[]; + }; }; }; }; }; - "orgs/check-blocked-user": { - /** Check if a user is blocked by an organization */ + "actions/get-workflow-run": { + /** + * Get a workflow run + * @description Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ responses: { - /** @description If the user is blocked */ - 204: never; - /** @description If the user is not blocked */ - 404: { + /** @description Response */ + 200: { content: { - "application/json": components["schemas"]["basic-error"]; + "application/json": components["schemas"]["workflow-run"]; }; }; }; }; - "orgs/block-user": { - /** Block a user from an organization */ - responses: { - /** @description Response */ - 204: never; - 422: components["responses"]["validation_failed"]; - }; - }; - "orgs/unblock-user": { - /** Unblock a user from an organization */ + "actions/delete-workflow-run": { + /** + * Delete a workflow run + * @description Delete a specific workflow run. Anyone with write access to the repository can use this endpoint. If the repository is + * private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:write` permission to use + * this endpoint. + */ responses: { /** @description Response */ 204: never; }; }; - "code-scanning/list-alerts-for-org": { + "actions/get-reviews-for-run": { /** - * List code scanning alerts for an organization - * @description Lists code scanning alerts for the default branch for all eligible repositories in an organization. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. - * - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `security_events` read permission to use this endpoint. + * Get the review history for a workflow run + * @description Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ - parameters?: { - /** @description If specified, only code scanning alerts with this state will be returned. */ - /** @description The property by which to sort the results. */ - query?: { - state?: components["schemas"]["code-scanning-alert-state"]; - sort?: "created" | "updated"; - }; - }; responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": (components["schemas"]["code-scanning-organization-alert-items"])[]; + "application/json": (components["schemas"]["environment-approvals"])[]; }; }; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; }; }; - "codespaces/list-in-organization": { + "actions/approve-workflow-run": { /** - * List codespaces for the organization - * @description Lists the codespaces associated to a specified organization. + * Approve a workflow run for a fork pull request + * @description Approves a workflow run for a pull request from a public fork of a first time contributor. For more information, see ["Approving workflow runs from public forks](https://docs.github.com/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks)." * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ responses: { /** @description Response */ - 200: { + 201: { content: { - "application/json": { - total_count: number; - codespaces: (components["schemas"]["codespace"])[]; - }; + "application/json": components["schemas"]["empty-object"]; }; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - "codespaces/set-codespaces-billing": { - /** - * Manage access control for organization codespaces - * @description Sets which users can access codespaces in an organization. This is synonymous with granting or revoking codespaces billing permissions for users according to the visibility. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - requestBody: { - content: { - "application/json": { - /** - * @description Which users can access codespaces in the organization. `disabled` means that no users can access codespaces in the organization. - * @enum {string} - */ - visibility: "disabled" | "selected_members" | "all_members" | "all_members_and_outside_collaborators"; - /** @description The usernames of the organization members who should be granted access to codespaces in the organization. Required when `visibility` is `selected_members`. */ - selected_usernames?: (string)[]; - }; - }; - }; - responses: { - /** @description Response when successfully modifying permissions. */ - 204: never; - 304: components["responses"]["not_modified"]; - /** @description Users are neither members nor collaborators of this organization. */ - 400: never; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; }; }; - "codespaces/list-org-secrets": { + "actions/list-workflow-run-artifacts": { /** - * List organization secrets - * @description Lists all Codespaces secrets available at the organization-level without revealing their encrypted values. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * List workflow run artifacts + * @description Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ responses: { /** @description Response */ @@ -85734,31 +92118,33 @@ export interface operations { content: { "application/json": { total_count: number; - secrets: (components["schemas"]["codespaces-org-secret"])[]; + artifacts: (components["schemas"]["artifact"])[]; }; }; }; }; }; - "codespaces/get-org-public-key": { + "actions/get-workflow-run-attempt": { /** - * Get an organization public key - * @description Gets a public key for an organization, which is required in order to encrypt secrets. You need to encrypt the value of a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * Get a workflow run attempt + * @description Gets a specific workflow run attempt. Anyone with read access to the repository + * can use this endpoint. If the repository is private you must use an access token + * with the `repo` scope. GitHub Apps must have the `actions:read` permission to + * use this endpoint. */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["codespaces-public-key"]; + "application/json": components["schemas"]["workflow-run"]; }; }; }; }; - "codespaces/get-org-secret": { + "actions/list-jobs-for-workflow-run-attempt": { /** - * Get an organization secret - * @description Gets an organization secret without revealing its encrypted value. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * List jobs for a workflow run attempt + * @description Lists jobs for a specific workflow run attempt. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). */ responses: { /** @description Response */ @@ -85767,357 +92153,211 @@ export interface operations { Link: components["headers"]["link"]; }; content: { - "application/json": components["schemas"]["codespaces-org-secret"]; + "application/json": { + total_count: number; + jobs: (components["schemas"]["job"])[]; + }; }; }; + 404: components["responses"]["not_found"]; }; }; - "codespaces/create-or-update-org-secret": { + "actions/download-workflow-run-attempt-logs": { /** - * Create or update an organization secret - * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access - * token with the `admin:org` scope to use this endpoint. - * - * #### Example encrypting a secret using Node.js - * - * Encrypt your secret using the [libsodium-wrappers](https://www.npmjs.com/package/libsodium-wrappers) library. - * - * ``` - * const sodium = require('libsodium-wrappers') - * const secret = 'plain-text-secret' // replace with the secret you want to encrypt - * const key = 'base64-encoded-public-key' // replace with the Base64 encoded public key - * - * //Check if libsodium is ready and then proceed. - * sodium.ready.then(() => { - * // Convert Secret & Base64 key to Uint8Array. - * let binkey = sodium.from_base64(key, sodium.base64_variants.ORIGINAL) - * let binsec = sodium.from_string(secret) - * - * //Encrypt the secret using LibSodium - * let encBytes = sodium.crypto_box_seal(binsec, binkey) - * - * // Convert encrypted Uint8Array to Base64 - * let output = sodium.to_base64(encBytes, sodium.base64_variants.ORIGINAL) - * - * console.log(output) - * }); - * ``` - * - * #### Example encrypting a secret using Python - * - * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. - * - * ``` - * from base64 import b64encode - * from nacl import encoding, public - * - * def encrypt(public_key: str, secret_value: str) -> str: - * """Encrypt a Unicode string using the public key.""" - * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) - * sealed_box = public.SealedBox(public_key) - * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) - * return b64encode(encrypted).decode("utf-8") - * ``` - * - * #### Example encrypting a secret using C# - * - * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. - * - * ``` - * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); - * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); - * - * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); - * - * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); - * ``` - * - * #### Example encrypting a secret using Ruby - * - * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. - * - * ```ruby - * require "rbnacl" - * require "base64" - * - * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") - * public_key = RbNaCl::PublicKey.new(key) - * - * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) - * encrypted_secret = box.encrypt("my_secret") - * - * # Print the base64 encoded secret - * puts Base64.strict_encode64(encrypted_secret) - * ``` + * Download workflow run attempt logs + * @description Gets a redirect URL to download an archive of log files for a specific workflow run attempt. This link expires after + * 1 minute. Look for `Location:` in the response header to find the URL for the download. Anyone with read access to + * the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. + * GitHub Apps must have the `actions:read` permission to use this endpoint. */ - requestBody: { - content: { - "application/json": { - /** @description The value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/reference/codespaces#get-an-organization-public-key) endpoint. */ - encrypted_value?: string; - /** @description The ID of the key you used to encrypt the secret. */ - key_id?: string; - /** - * @description Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret. - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** @description An array of repository IDs that can access the organization secret. You can only provide a list of repository IDs when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/reference/codespaces#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/codespaces#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/codespaces#remove-selected-repository-from-an-organization-secret) endpoints. */ - selected_repository_ids?: (number)[]; - }; - }; - }; responses: { - /** @description Response when creating a secret */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response when updating a secret */ - 204: never; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; + /** @description Response */ + 302: never; }; }; - "codespaces/delete-org-secret": { + "actions/cancel-workflow-run": { /** - * Delete an organization secret - * @description Deletes an organization secret using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * Cancel a workflow run + * @description Cancels a workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ responses: { /** @description Response */ - 204: never; - 404: components["responses"]["not_found"]; + 202: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 409: components["responses"]["conflict"]; }; }; - "codespaces/list-selected-repos-for-org-secret": { + "actions/list-jobs-for-workflow-run": { /** - * List selected repositories for an organization secret - * @description Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * List jobs for a workflow run + * @description Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). */ + parameters?: { + /** @description Filters jobs by their `completed_at` timestamp. `latest` returns jobs from the most recent execution of the workflow run. `all` returns all jobs for a workflow run, including from old executions of the workflow run. */ + query?: { + filter?: "latest" | "all"; + }; + }; responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { "application/json": { total_count: number; - repositories: (components["schemas"]["minimal-repository"])[]; + jobs: (components["schemas"]["job"])[]; }; }; }; - 404: components["responses"]["not_found"]; }; }; - "codespaces/set-selected-repos-for-org-secret": { + "actions/download-workflow-run-logs": { /** - * Set selected repositories for an organization secret - * @description Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/codespaces#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * Download workflow run logs + * @description Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for + * `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use + * this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have + * the `actions:read` permission to use this endpoint. */ - requestBody: { - content: { - "application/json": { - /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/codespaces#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/codespaces#remove-selected-repository-from-an-organization-secret) endpoints. */ - selected_repository_ids: (number)[]; - }; - }; - }; responses: { /** @description Response */ - 204: never; - 404: components["responses"]["not_found"]; - /** @description Conflict when visibility type not set to selected */ - 409: never; + 302: never; }; }; - "codespaces/add-selected-repo-to-org-secret": { + "actions/delete-workflow-run-logs": { /** - * Add selected repository to an organization secret - * @description Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/codespaces#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * Delete workflow run logs + * @description Deletes all logs for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ - parameters: { - path: { - repository_id: number; - }; - }; responses: { - /** @description No Content when repository was added to the selected list */ + /** @description Response */ 204: never; - 404: components["responses"]["not_found"]; - /** @description Conflict when visibility type is not set to selected */ - 409: never; - 422: components["responses"]["validation_failed"]; + 403: components["responses"]["forbidden"]; + 500: components["responses"]["internal_error"]; }; }; - "codespaces/remove-selected-repo-from-org-secret": { + "actions/get-pending-deployments-for-run": { /** - * Remove selected repository from an organization secret - * @description Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/codespaces#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * Get pending deployments for a workflow run + * @description Get all deployment environments for a workflow run that are waiting for protection rules to pass. + * + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ - parameters: { - path: { - repository_id: number; - }; - }; responses: { - /** @description Response when repository was removed from the selected list */ - 204: never; - 404: components["responses"]["not_found"]; - /** @description Conflict when visibility type not set to selected */ - 409: never; - 422: components["responses"]["validation_failed"]; + /** @description Response */ + 200: { + content: { + "application/json": (components["schemas"]["pending-deployment"])[]; + }; + }; }; }; - "orgs/create-custom-role": { + "actions/review-pending-deployments-for-run": { /** - * Create a custom role - * @description **Note**: This operation is in beta and is subject to change. - * - * Creates a custom repository role that can be used by all repositories owned by the organization. - * - * To use this endpoint the authenticated user must be an administrator for the organization and must use an access token with `admin:org` scope. - * GitHub Apps must have the `organization_custom_roles:write` organization permission to use this endpoint. + * Review pending deployments for a workflow run + * @description Approve or reject pending deployments that are waiting on approval by a required reviewer. * - * For more information on custom repository roles, see "[About custom repository roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-repository-roles)." + * Required reviewers with read access to the repository contents and deployments can use this endpoint. Required reviewers must authenticate using an access token with the `repo` scope to use this endpoint. */ requestBody: { content: { "application/json": { - /** @description The name of the custom role. */ - name: string; - /** @description A short description about the intended usage of this role or what permissions it grants. */ - description?: string; + /** @description The list of environment ids to approve or reject */ + environment_ids: (number)[]; /** - * @description The system role from which this role inherits permissions. + * @description Whether to approve or reject deployment to the specified environments. * @enum {string} */ - base_role: "read" | "triage" | "write" | "maintain"; - /** @description A list of additional permissions included in this role. */ - permissions: (string)[]; + state: "approved" | "rejected"; + /** @description A comment to accompany the deployment review */ + comment: string; }; }; }; responses: { /** @description Response */ - 201: { + 200: { content: { - "application/json": components["schemas"]["organization-custom-repository-role"]; + "application/json": (components["schemas"]["deployment"])[]; }; }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; }; }; - "orgs/get-custom-role": { + "actions/re-run-workflow": { /** - * Get a custom role - * @description **Note**: This operation is in beta and is subject to change. - * - * Gets a custom repository role that is available to all repositories owned by the organization. - * - * To use this operation, the authenticated user must be an administrator for the organization and must use an access token with `admin:org` scope. - * GitHub Apps must have the `organization_custom_roles:write` organization permission to use this endpoint. - * - * For more information on custom repository roles, see "[About custom repository roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-repository-roles)." + * Re-run a workflow + * @description Re-runs your workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ + requestBody?: { + content: { + "application/json": OneOf<[{ + /** + * @description Whether to enable debug logging for the re-run. + * @default false + */ + enable_debug_logging?: boolean; + }, null]>; + }; + }; responses: { /** @description Response */ - 200: { + 201: { content: { - "application/json": components["schemas"]["organization-custom-repository-role"]; + "application/json": components["schemas"]["empty-object"]; }; }; - 404: components["responses"]["not_found"]; - }; - }; - "orgs/delete-custom-role": { - /** - * Delete a custom role - * @description **Note**: This operation is in beta and is subject to change. - * - * Deletes a custom role from an organization. Once the custom role has been deleted, any - * user, team, or invitation with the deleted custom role will be reassigned the inherited role. - * - * To use this endpoint the authenticated user must be an administrator for the organization and must use an access token with `admin:org` scope. - * GitHub Apps must have the `organization_custom_roles:write` organization permission to use this endpoint. - * - * For more information about custom repository roles, see "[About custom repository roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-repository-roles)." - */ - responses: { - /** @description Response */ - 204: never; }; }; - "orgs/update-custom-role": { + "actions/re-run-workflow-failed-jobs": { /** - * Update a custom role - * @description **Note**: This operation is in beta and subject to change. - * - * Updates a custom repository role that can be used by all repositories owned by the organization. - * - * To use this endpoint the authenticated user must be an administrator for the organization and must use an access token with `admin:org` scope. - * GitHub Apps must have the `organization_custom_roles:write` organization permission to use this endpoint. - * - * For more information about custom repository roles, see "[About custom repository roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-repository-roles)." + * Re-run failed jobs from a workflow run + * @description Re-run all of the failed jobs and their dependent jobs in a workflow run using the `id` of the workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. */ - requestBody: { + requestBody?: { content: { - "application/json": { - /** @description The name of the custom role. */ - name?: string; - /** @description A short description about who this role is for or what permissions it grants. */ - description?: string; + "application/json": OneOf<[{ /** - * @description The system role from which this role inherits permissions. - * @enum {string} + * @description Whether to enable debug logging for the re-run. + * @default false */ - base_role?: "read" | "triage" | "write" | "maintain"; - /** @description A list of additional permissions included in this role. If specified, these permissions will replace any currently set on the role. */ - permissions?: (string)[]; - }; + enable_debug_logging?: boolean; + }, null]>; }; }; responses: { /** @description Response */ - 200: { + 201: { content: { - "application/json": components["schemas"]["organization-custom-repository-role"]; + "application/json": components["schemas"]["empty-object"]; }; }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; }; }; - "dependabot/list-alerts-for-org": { + "actions/get-workflow-run-usage": { /** - * List Dependabot alerts for an organization - * @description Lists Dependabot alerts for an organization. - * - * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. - * - * For public repositories, you may instead use the `public_repo` scope. + * Get workflow run usage + * @description Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. 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](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". * - * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ responses: { /** @description Response */ 200: { content: { - "application/json": (components["schemas"]["dependabot-alert-with-repository"])[]; + "application/json": components["schemas"]["workflow-run-usage"]; }; }; - 304: components["responses"]["not_modified"]; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; }; }; - "dependabot/list-org-secrets": { + "actions/list-repo-secrets": { /** - * List organization secrets - * @description Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. + * List repository secrets + * @description Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ responses: { /** @description Response */ @@ -86128,47 +92368,47 @@ export interface operations { content: { "application/json": { total_count: number; - secrets: (components["schemas"]["organization-dependabot-secret"])[]; + secrets: (components["schemas"]["actions-secret"])[]; }; }; }; }; }; - "dependabot/get-org-public-key": { + "actions/get-repo-public-key": { /** - * Get an organization public key - * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. + * Get a repository public key + * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["dependabot-public-key"]; + "application/json": components["schemas"]["actions-public-key"]; }; }; }; }; - "dependabot/get-org-secret": { + "actions/get-repo-secret": { /** - * Get an organization secret - * @description Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. + * Get a repository secret + * @description Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["organization-dependabot-secret"]; + "application/json": components["schemas"]["actions-secret"]; }; }; }; }; - "dependabot/create-or-update-org-secret": { + "actions/create-or-update-repo-secret": { /** - * Create or update an organization secret - * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * Create or update a repository secret + * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access - * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization - * permission to use this endpoint. + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use + * this endpoint. * * #### Example encrypting a secret using Node.js * @@ -86245,17 +92485,10 @@ export interface operations { requestBody: { content: { "application/json": { - /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/reference/dependabot#get-an-organization-public-key) endpoint. */ + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/reference/actions#get-a-repository-public-key) endpoint. */ encrypted_value?: string; /** @description ID of the key you used to encrypt the secret. */ key_id?: string; - /** - * @description Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret. - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/reference/dependabot#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/dependabot#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/dependabot#remove-selected-repository-from-an-organization-secret) endpoints. */ - selected_repository_ids?: (string)[]; }; }; }; @@ -86270,378 +92503,106 @@ export interface operations { 204: never; }; }; - "dependabot/delete-org-secret": { + "actions/delete-repo-secret": { /** - * Delete an organization secret - * @description Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. + * Delete a repository secret + * @description Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ responses: { /** @description Response */ 204: never; }; }; - "dependabot/list-selected-repos-for-org-secret": { + "actions/list-repo-workflows": { /** - * List selected repositories for an organization secret - * @description Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. + * List repository workflows + * @description Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { "application/json": { total_count: number; - repositories: (components["schemas"]["minimal-repository"])[]; + workflows: (components["schemas"]["workflow"])[]; }; }; }; }; }; - "dependabot/set-selected-repos-for-org-secret": { - /** - * Set selected repositories for an organization secret - * @description Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/dependabot#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - requestBody: { - content: { - "application/json": { - /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/dependabot#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/dependabot#remove-selected-repository-from-an-organization-secret) endpoints. */ - selected_repository_ids: (number)[]; - }; - }; - }; - responses: { - /** @description Response */ - 204: never; - }; - }; - "dependabot/add-selected-repo-to-org-secret": { - /** - * Add selected repository to an organization secret - * @description Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/dependabot#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - parameters: { - path: { - repository_id: number; - }; - }; - responses: { - /** @description No Content when repository was added to the selected list */ - 204: never; - /** @description Conflict when visibility type is not set to selected */ - 409: never; - }; - }; - "dependabot/remove-selected-repo-from-org-secret": { + "actions/get-workflow": { /** - * Remove selected repository from an organization secret - * @description Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/dependabot#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. + * Get a workflow + * @description Gets a specific workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ - parameters: { - path: { - repository_id: number; - }; - }; - responses: { - /** @description Response when repository was removed from the selected list */ - 204: never; - /** @description Conflict when visibility type not set to selected */ - 409: never; - }; - }; - "activity/list-public-org-events": { - /** List public organization events */ responses: { /** @description Response */ 200: { content: { - "application/json": (components["schemas"]["event"])[]; + "application/json": components["schemas"]["workflow"]; }; }; }; }; - "orgs/list-failed-invitations": { + "actions/disable-workflow": { /** - * List failed organization invitations - * @description The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure. + * Disable a workflow + * @description Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ responses: { /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["organization-invitation"])[]; - }; - }; - 404: components["responses"]["not_found"]; + 204: never; }; }; - "orgs/list-fine-grained-permissions": { + "actions/create-workflow-dispatch": { /** - * List fine-grained permissions for an organization - * @description **Note**: This operation is in beta and subject to change. + * Create a workflow dispatch event + * @description You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. * - * Lists the fine-grained permissions available for an organization. + * You must configure your GitHub Actions workflow to run when the [`workflow_dispatch` webhook](/developers/webhooks-and-events/webhook-events-and-payloads#workflow_dispatch) event occurs. The `inputs` are configured in the workflow file. For more information about how to configure the `workflow_dispatch` event in the workflow file, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch)." * - * To use this endpoint the authenticated user must be an administrator for the organization or of an repository of the organizaiton and must use an access token with `admin:org repo` scope. - * GitHub Apps must have the `organization_custom_roles:read` organization permission to use this endpoint. - */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": (components["schemas"]["organization-fine-grained-permission"])[]; - }; - }; - }; - }; - "orgs/list-webhooks": { - /** List organization webhooks */ - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["org-hook"])[]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "orgs/create-webhook": { - /** - * Create an organization webhook - * @description Here's how you can create a hook that posts payloads in JSON format: + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Creating a personal access token for the command line](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line)." */ requestBody: { content: { "application/json": { - /** @description Must be passed as "web". */ - name: string; - /** @description Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/orgs#create-hook-config-params). */ - config: { - url: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - username?: string; - password?: string; + /** @description The git reference for the workflow. The reference can be a branch or tag name. */ + ref: string; + /** @description Input keys and values configured in the workflow file. The maximum number of properties is 10. Any default properties configured in the workflow file will be used when `inputs` are omitted. */ + inputs?: { + [key: string]: string | undefined; }; - /** - * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. Set to `["*"]` to receive all possible events. - * @default [ - * "push" - * ] - */ - events?: (string)[]; - /** - * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. - * @default true - */ - active?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/orgs/octocat/hooks/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["org-hook"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "orgs/get-webhook": { - /** - * Get an organization webhook - * @description Returns a webhook configured in an organization. To get only the webhook `config` properties, see "[Get a webhook configuration for an organization](/rest/reference/orgs#get-a-webhook-configuration-for-an-organization)." - */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["org-hook"]; }; }; - 404: components["responses"]["not_found"]; }; - }; - "orgs/delete-webhook": { - /** Delete an organization webhook */ responses: { /** @description Response */ 204: never; - 404: components["responses"]["not_found"]; - }; - }; - "orgs/update-webhook": { - /** - * Update an organization webhook - * @description Updates a webhook configured in an organization. When you update a webhook, the `secret` will be overwritten. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for an organization](/rest/reference/orgs#update-a-webhook-configuration-for-an-organization)." - */ - requestBody?: { - content: { - "application/json": { - /** @description Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/orgs#update-hook-config-params). */ - config?: { - url: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - }; - /** - * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. - * @default [ - * "push" - * ] - */ - events?: (string)[]; - /** - * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. - * @default true - */ - active?: boolean; - name?: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["org-hook"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "orgs/get-webhook-config-for-org": { - /** - * Get a webhook configuration for an organization - * @description Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use "[Get an organization webhook ](/rest/reference/orgs#get-an-organization-webhook)." - * - * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:read` permission. - */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["webhook-config"]; - }; - }; }; }; - "orgs/update-webhook-config-for-org": { + "actions/enable-workflow": { /** - * Update a webhook configuration for an organization - * @description Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use "[Update an organization webhook ](/rest/reference/orgs#update-an-organization-webhook)." + * Enable a workflow + * @description Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. * - * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:write` permission. - */ - requestBody?: { - content: { - "application/json": { - url?: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["webhook-config"]; - }; - }; - }; - }; - "orgs/list-webhook-deliveries": { - /** - * List deliveries for an organization webhook - * @description Returns a list of webhook deliveries for a webhook configured in an organization. - */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": (components["schemas"]["hook-delivery-item"])[]; - }; - }; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "orgs/get-webhook-delivery": { - /** - * Get a webhook delivery for an organization webhook - * @description Returns a delivery for a webhook configured in an organization. - */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["hook-delivery"]; - }; - }; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "orgs/redeliver-webhook-delivery": { - /** - * Redeliver a delivery for an organization webhook - * @description Redeliver a delivery for a webhook configured in an organization. - */ - responses: { - 202: components["responses"]["accepted"]; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "orgs/ping-webhook": { - /** - * Ping an organization webhook - * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ responses: { /** @description Response */ 204: never; - 404: components["responses"]["not_found"]; }; }; - "apps/get-org-installation": { + "actions/list-workflow-runs": { /** - * Get an organization installation for the authenticated app - * @description Enables an authenticated GitHub App to find the organization's installation information. + * List workflow runs for a workflow + * @description List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["installation"]; - }; - }; - }; - }; - "orgs/list-app-installations": { - /** - * List app installations for an organization - * @description Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint. + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. */ responses: { /** @description Response */ @@ -86652,189 +92613,177 @@ export interface operations { content: { "application/json": { total_count: number; - installations: (components["schemas"]["installation"])[]; + workflow_runs: (components["schemas"]["workflow-run"])[]; }; }; }; }; }; - "interactions/get-restrictions-for-org": { + "actions/get-workflow-usage": { /** - * Get interaction restrictions for an organization - * @description Shows which type of GitHub user can interact with this organization and when the restriction expires. If there is no restrictions, you will see an empty response. + * Get workflow usage + * @description Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. 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](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["interaction-limit-response"] | Record; + "application/json": components["schemas"]["workflow-usage"]; }; }; }; }; - "interactions/set-restrictions-for-org": { + "issues/list-assignees": { /** - * Set interaction restrictions for an organization - * @description Temporarily restricts interactions to a certain type of GitHub user in any public repository in the given organization. You must be an organization owner to set these restrictions. Setting the interaction limit at the organization level will overwrite any interaction limits that are set for individual repositories owned by the organization. + * List assignees + * @description Lists the [available assignees](https://docs.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository. */ - requestBody: { - content: { - "application/json": components["schemas"]["interaction-limit"]; - }; - }; responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["interaction-limit-response"]; + "application/json": (components["schemas"]["simple-user"])[]; }; }; - 422: components["responses"]["validation_failed"]; + 404: components["responses"]["not_found"]; }; }; - "interactions/remove-restrictions-for-org": { + "issues/check-user-can-be-assigned": { /** - * Remove interaction restrictions for an organization - * @description Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions. + * Check if a user can be assigned + * @description Checks if a user has permission to be assigned to an issue in this repository. + * + * If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. + * + * Otherwise a `404` status code is returned. */ + parameters: { + path: { + assignee: string; + }; + }; responses: { - /** @description Response */ + /** @description If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. */ 204: never; + /** @description Otherwise a `404` status code is returned. */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; }; }; - "orgs/list-pending-invitations": { + "repos/list-autolinks": { /** - * List pending organization invitations - * @description The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + * List all autolinks of a repository + * @description This returns a list of autolinks configured for the given repository. + * + * Information about autolinks are only available to repository administrators. */ responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": (components["schemas"]["organization-invitation"])[]; + "application/json": (components["schemas"]["autolink"])[]; }; }; - 404: components["responses"]["not_found"]; }; }; - "orgs/create-invitation": { + "repos/create-autolink": { /** - * Create an organization invitation - * @description Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * Create an autolink reference for a repository + * @description Users with admin access to the repository can create an autolink. */ - requestBody?: { + requestBody: { content: { "application/json": { - /** @description **Required unless you provide `email`**. GitHub user ID for the person you are inviting. */ - invitee_id?: number; - /** @description **Required unless you provide `invitee_id`**. Email address of the person you are inviting, which can be an existing GitHub user. */ - email?: string; + /** @description This prefix appended by certain characters will generate a link any time it is found in an issue, pull request, or commit. */ + key_prefix: string; + /** @description The URL must contain `` for the reference number. `` matches different characters depending on the value of `is_alphanumeric`. */ + url_template: string; /** - * @description The role for the new member. - * \* `admin` - Organization owners with full administrative rights to the organization and complete access to all repositories and teams. - * \* `direct_member` - Non-owner organization members with ability to see other members and join teams by invitation. - * \* `billing_manager` - Non-owner organization members with ability to manage the billing settings of your organization. - * @default direct_member - * @enum {string} + * @description Whether this autolink reference matches alphanumeric characters. If true, the `` parameter of the `url_template` matches alphanumeric characters `A-Z` (case insensitive), `0-9`, and `-`. If false, this autolink reference only matches numeric characters. + * @default true */ - role?: "admin" | "direct_member" | "billing_manager"; - /** @description Specify IDs for the teams you want to invite new members to. */ - team_ids?: (number)[]; + is_alphanumeric?: boolean; }; }; }; responses: { - /** @description Response */ + /** @description response */ 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/autolinks/1 */ + Location?: string; + }; content: { - "application/json": components["schemas"]["organization-invitation"]; + "application/json": components["schemas"]["autolink"]; }; }; - 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; }; }; - "orgs/cancel-invitation": { + "repos/get-autolink": { /** - * Cancel an organization invitation - * @description Cancel an organization invitation. In order to cancel an organization invitation, the authenticated user must be an organization owner. + * Get an autolink reference of a repository + * @description This returns a single autolink reference by ID that was configured for the given repository. * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). + * Information about autolinks are only available to repository administrators. */ responses: { /** @description Response */ - 204: never; + 200: { + content: { + "application/json": components["schemas"]["autolink"]; + }; + }; 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; }; }; - "orgs/list-invitation-teams": { + "repos/delete-autolink": { /** - * List organization invitation teams - * @description List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner. + * Delete an autolink reference from a repository + * @description This deletes a single autolink reference by ID that was configured for the given repository. + * + * Information about autolinks are only available to repository administrators. */ responses: { /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["team"])[]; - }; - }; + 204: never; 404: components["responses"]["not_found"]; }; }; - "issues/list-for-org": { + "repos/enable-automated-security-fixes": { /** - * List organization issues assigned to the authenticated user - * @description List issues in an organization assigned to the authenticated user. - * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + * Enable automated security fixes + * @description Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". */ - parameters?: { - /** @description Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. */ - /** @description Indicates the state of the issues to return. */ - /** @description What to sort results by. */ - query?: { - filter?: "assigned" | "created" | "mentioned" | "subscribed" | "repos" | "all"; - state?: "open" | "closed" | "all"; - sort?: "created" | "updated" | "comments"; - }; - }; responses: { /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["issue"])[]; - }; - }; - 404: components["responses"]["not_found"]; + 204: never; }; }; - "orgs/list-members": { + "repos/disable-automated-security-fixes": { /** - * List organization members - * @description List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned. + * Disable automated security fixes + * @description Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". */ + responses: { + /** @description Response */ + 204: never; + }; + }; + "repos/list-branches": { + /** List branches */ parameters?: { - /** @description Filter members returned in the list. `2fa_disabled` means that only members without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled will be returned. This options is only available for organization owners. */ - /** @description Filter members returned by their role. */ + /** @description Setting to `true` returns only protected branches. When set to `false`, only unprotected branches are returned. Omitting this parameter returns all branches. */ query?: { - filter?: "2fa_disabled" | "all"; - role?: "all" | "admin" | "member"; + protected?: boolean; }; }; responses: { @@ -86844,1000 +92793,1142 @@ export interface operations { Link: components["headers"]["link"]; }; content: { - "application/json": (components["schemas"]["simple-user"])[]; + "application/json": (components["schemas"]["short-branch"])[]; }; }; - 422: components["responses"]["validation_failed"]; - }; - }; - "orgs/check-membership-for-user": { - /** - * Check organization membership for a user - * @description Check if a user is, publicly or privately, a member of the organization. - */ - responses: { - /** @description Response if requester is an organization member and user is a member */ - 204: never; - /** @description Response if requester is not an organization member */ - 302: never; - /** @description Not Found if requester is an organization member and user is not a member */ - 404: never; + 404: components["responses"]["not_found"]; }; }; - "orgs/remove-member": { - /** - * Remove an organization member - * @description Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories. - */ + "repos/get-branch": { + /** Get a branch */ responses: { /** @description Response */ - 204: never; - 403: components["responses"]["forbidden"]; + 200: { + content: { + "application/json": components["schemas"]["branch-with-protection"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; }; }; - "codespaces/get-codespaces-for-user-in-org": { + "repos/get-branch-protection": { /** - * List codespaces for a user in organization - * @description Lists the codespaces that a member of an organization has for repositories in that organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * Get branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ responses: { /** @description Response */ 200: { content: { - "application/json": { - total_count: number; - codespaces: (components["schemas"]["codespace"])[]; - }; + "application/json": components["schemas"]["branch-protection"]; }; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; }; }; - "codespaces/delete-from-organization": { + "repos/update-branch-protection": { /** - * Delete a codespace from the organization - * @description Deletes a user's codespace. + * Update branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * Protecting a branch requires admin or owner permissions to the repository. + * + * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. + * + * **Note**: The list of users, apps, and teams in total is limited to 100 items. */ + requestBody: { + content: { + "application/json": { + /** @description Require status checks to pass before merging. Set to `null` to disable. */ + required_status_checks: OneOf<[{ + /** @description Require branches to be up to date before merging. */ + strict: boolean; + /** + * @deprecated + * @description **Deprecated**: The list of status checks to require in order to merge into this branch. If any of these checks have recently been set by a particular GitHub App, they will be required to come from that app in future for the branch to merge. Use `checks` instead of `contexts` for more fine-grained control. + */ + contexts: (string)[]; + /** @description The list of status checks to require in order to merge into this branch. */ + checks?: ({ + /** @description The name of the required check */ + context: string; + /** @description The ID of the GitHub App that must provide this check. Omit this field to automatically select the GitHub App that has recently provided this check, or any app if it was not set by a GitHub App. Pass -1 to explicitly allow any app to set the status. */ + app_id?: number; + })[]; + }, null]>; + /** @description Enforce all configured restrictions for administrators. Set to `true` to enforce required status checks for repository administrators. Set to `null` to disable. */ + enforce_admins: OneOf<[boolean, null]>; + /** @description Require at least one approving review on a pull request, before merging. Set to `null` to disable. */ + required_pull_request_reviews: OneOf<[{ + /** @description Specify which users, teams, and apps can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories. */ + dismissal_restrictions?: { + /** @description The list of user `login`s with dismissal access */ + users?: (string)[]; + /** @description The list of team `slug`s with dismissal access */ + teams?: (string)[]; + /** @description The list of app `slug`s with dismissal access */ + apps?: (string)[]; + }; + /** @description Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. */ + dismiss_stale_reviews?: boolean; + /** @description Blocks merging pull requests until [code owners](https://docs.github.com/articles/about-code-owners/) review them. */ + require_code_owner_reviews?: boolean; + /** @description Specify the number of reviewers required to approve pull requests. Use a number between 1 and 6 or 0 to not require reviewers. */ + required_approving_review_count?: number; + /** + * @description Whether the most recent push must be approved by someone other than the person who pushed it. Default: `false`. + * @default false + */ + require_last_push_approval?: boolean; + /** @description Allow specific users, teams, or apps to bypass pull request requirements. */ + bypass_pull_request_allowances?: { + /** @description The list of user `login`s allowed to bypass pull request requirements. */ + users?: (string)[]; + /** @description The list of team `slug`s allowed to bypass pull request requirements. */ + teams?: (string)[]; + /** @description The list of app `slug`s allowed to bypass pull request requirements. */ + apps?: (string)[]; + }; + }, null]>; + /** @description Restrict who can push to the protected branch. User, app, and team `restrictions` are only available for organization-owned repositories. Set to `null` to disable. */ + restrictions: OneOf<[{ + /** @description The list of user `login`s with push access */ + users: (string)[]; + /** @description The list of team `slug`s with push access */ + teams: (string)[]; + /** @description The list of app `slug`s with push access */ + apps?: (string)[]; + }, null]>; + /** @description Enforces a linear commit Git history, which prevents anyone from pushing merge commits to a branch. Set to `true` to enforce a linear commit history. Set to `false` to disable a linear commit Git history. Your repository must allow squash merging or rebase merging before you can enable a linear commit history. Default: `false`. For more information, see "[Requiring a linear commit history](https://docs.github.com/github/administering-a-repository/requiring-a-linear-commit-history)" in the GitHub Help documentation. */ + required_linear_history?: boolean; + /** @description Permits force pushes to the protected branch by anyone with write access to the repository. Set to `true` to allow force pushes. Set to `false` or `null` to block force pushes. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://docs.github.com/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation." */ + allow_force_pushes?: OneOf<[boolean, null]>; + /** @description Allows deletion of the protected branch by anyone with write access to the repository. Set to `false` to prevent deletion of the protected branch. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://docs.github.com/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation. */ + allow_deletions?: boolean; + /** @description If set to `true`, the `restrictions` branch protection settings which limits who can push will also block pushes which create new branches, unless the push is initiated by a user, team, or app which has the ability to push. Set to `true` to restrict new branch creation. Default: `false`. */ + block_creations?: boolean; + /** @description Requires all conversations on code to be resolved before a pull request can be merged into a branch that matches this rule. Set to `false` to disable. Default: `false`. */ + required_conversation_resolution?: boolean; + /** + * @description Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. Default: `false`. + * @default false + */ + lock_branch?: boolean; + /** + * @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. Default: `false`. + * @default false + */ + allow_fork_syncing?: boolean; + }; + }; + }; responses: { - 202: components["responses"]["accepted"]; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["protected-branch"]; + }; + }; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; + 422: components["responses"]["validation_failed_simple"]; }; }; - "codespaces/stop-in-organization": { + "repos/delete-branch-protection": { /** - * Stop a codespace for an organization user - * @description Stops a user's codespace. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * Delete branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ responses: { /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; + 204: never; 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; }; }; - "orgs/get-membership-for-user": { + "repos/get-admin-branch-protection": { /** - * Get organization membership for a user - * @description In order to get a user's membership with an organization, the authenticated user must be an organization member. The `state` parameter in the response can be used to identify the user's membership status. + * Get admin branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["org-membership"]; + "application/json": components["schemas"]["protected-branch-admin-enforced"]; }; }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; }; }; - "orgs/set-membership-for-user": { + "repos/set-admin-branch-protection": { /** - * Set organization membership for a user - * @description Only authenticated organization owners can add a member to the organization or update the member's role. - * - * * If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://docs.github.com/rest/reference/orgs#get-organization-membership-for-a-user) will be `pending` until they accept the invitation. - * - * * Authenticated users can _update_ a user's membership by passing the `role` parameter. If the authenticated user changes a member's role to `admin`, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to `member`, no email will be sent. - * - * **Rate limits** + * Set admin branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * To prevent abuse, the authenticated user is limited to 50 organization invitations per 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period. + * Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. */ - requestBody?: { - content: { - "application/json": { - /** - * @description The role to give the user in the organization. Can be one of: - * \* `admin` - The user will become an owner of the organization. - * \* `member` - The user will become a non-owner member of the organization. - * @default member - * @enum {string} - */ - role?: "admin" | "member"; - }; - }; - }; responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["org-membership"]; + "application/json": components["schemas"]["protected-branch-admin-enforced"]; }; }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; }; }; - "orgs/remove-membership-for-user": { + "repos/delete-admin-branch-protection": { /** - * Remove organization membership for a user - * @description In order to remove a user's membership with an organization, the authenticated user must be an organization owner. + * Delete admin branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * If the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases. + * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. */ responses: { /** @description Response */ 204: never; - 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; }; }; - "migrations/list-for-org": { + "repos/get-pull-request-review-protection": { /** - * List organization migrations - * @description Lists the most recent migrations. + * Get pull request review protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ - parameters?: { - /** @description Exclude attributes from the API response to improve performance */ - query?: { - exclude?: ("repositories")[]; - }; - }; responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": (components["schemas"]["migration"])[]; + "application/json": components["schemas"]["protected-branch-pull-request-review"]; }; }; }; }; - "migrations/start-for-org": { + "repos/delete-pull-request-review-protection": { /** - * Start an organization migration - * @description Initiates the generation of a migration archive. + * Delete pull request review protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ - requestBody: { + responses: { + /** @description Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + "repos/update-pull-request-review-protection": { + /** + * Update pull request review protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + * + * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. + */ + requestBody?: { content: { "application/json": { - /** @description A list of arrays indicating which repositories should be migrated. */ - repositories: (string)[]; - /** - * @description Indicates whether repositories should be locked (to prevent manipulation) while migrating data. - * @default false - */ - lock_repositories?: boolean; - /** - * @description Indicates whether metadata should be excluded and only git source should be included for the migration. - * @default false - */ - exclude_metadata?: boolean; - /** - * @description Indicates whether the repository git data should be excluded from the migration. - * @default false - */ - exclude_git_data?: boolean; - /** - * @description Indicates whether attachments should be excluded from the migration (to reduce migration archive file size). - * @default false - */ - exclude_attachments?: boolean; - /** - * @description Indicates whether releases should be excluded from the migration (to reduce migration archive file size). - * @default false - */ - exclude_releases?: boolean; - /** - * @description Indicates whether projects owned by the organization or users should be excluded. from the migration. - * @default false - */ - exclude_owner_projects?: boolean; + /** @description Specify which users, teams, and apps can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories. */ + dismissal_restrictions?: { + /** @description The list of user `login`s with dismissal access */ + users?: (string)[]; + /** @description The list of team `slug`s with dismissal access */ + teams?: (string)[]; + /** @description The list of app `slug`s with dismissal access */ + apps?: (string)[]; + }; + /** @description Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. */ + dismiss_stale_reviews?: boolean; + /** @description Blocks merging pull requests until [code owners](https://docs.github.com/articles/about-code-owners/) have reviewed. */ + require_code_owner_reviews?: boolean; + /** @description Specifies the number of reviewers required to approve pull requests. Use a number between 1 and 6 or 0 to not require reviewers. */ + required_approving_review_count?: number; /** - * @description Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags). + * @description Whether the most recent push must be approved by someone other than the person who pushed it. Default: `false` * @default false */ - org_metadata_only?: boolean; - /** @description Exclude related items from being returned in the response in order to improve performance of the request. The array can include any of: `"repositories"`. */ - exclude?: ("repositories")[]; + require_last_push_approval?: boolean; + /** @description Allow specific users, teams, or apps to bypass pull request requirements. */ + bypass_pull_request_allowances?: { + /** @description The list of user `login`s allowed to bypass pull request requirements. */ + users?: (string)[]; + /** @description The list of team `slug`s allowed to bypass pull request requirements. */ + teams?: (string)[]; + /** @description The list of app `slug`s allowed to bypass pull request requirements. */ + apps?: (string)[]; + }; }; }; }; responses: { /** @description Response */ - 201: { + 200: { content: { - "application/json": components["schemas"]["migration"]; + "application/json": components["schemas"]["protected-branch-pull-request-review"]; }; }; - 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; }; }; - "migrations/get-status-for-org": { + "repos/get-commit-signature-protection": { /** - * Get an organization migration status - * @description Fetches the status of a migration. + * Get commit signature protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * The `state` of a migration can be one of the following values: + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://docs.github.com/articles/signing-commits-with-gpg) in GitHub Help. * - * * `pending`, which means the migration hasn't started yet. - * * `exporting`, which means the migration is in progress. - * * `exported`, which means the migration finished successfully. - * * `failed`, which means the migration failed. + * **Note**: You must enable branch protection to require signed commits. */ - parameters?: { - /** @description Exclude attributes from the API response to improve performance */ - query?: { - exclude?: ("repositories")[]; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; }; + 404: components["responses"]["not_found"]; }; + }; + "repos/create-commit-signature-protection": { + /** + * Create commit signature protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits. + */ responses: { - /** - * @description * `pending`, which means the migration hasn't started yet. - * * `exporting`, which means the migration is in progress. - * * `exported`, which means the migration finished successfully. - * * `failed`, which means the migration failed. - */ + /** @description Response */ 200: { content: { - "application/json": components["schemas"]["migration"]; + "application/json": components["schemas"]["protected-branch-admin-enforced"]; }; }; 404: components["responses"]["not_found"]; }; }; - "migrations/download-archive-for-org": { + "repos/delete-commit-signature-protection": { /** - * Download an organization migration archive - * @description Fetches the URL to a migration archive. + * Delete commit signature protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits. */ responses: { /** @description Response */ - 302: never; + 204: never; 404: components["responses"]["not_found"]; }; }; - "migrations/delete-archive-for-org": { + "repos/get-status-checks-protection": { /** - * Delete an organization migration archive - * @description Deletes a previous migration archive. Migration archives are automatically deleted after seven days. + * Get status checks protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ responses: { /** @description Response */ - 204: never; + 200: { + content: { + "application/json": components["schemas"]["status-check-policy"]; + }; + }; 404: components["responses"]["not_found"]; }; }; - "migrations/unlock-repo-for-org": { + "repos/remove-status-check-protection": { /** - * Unlock an organization repository - * @description Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/rest/reference/repos#delete-a-repository) when the migration is complete and you no longer need the source data. + * Remove status check protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ responses: { /** @description Response */ 204: never; - 404: components["responses"]["not_found"]; }; }; - "migrations/list-repos-for-org": { + "repos/update-status-check-protection": { /** - * List repositories in an organization migration - * @description List all the repositories for this organization migration. + * Update status check protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. */ + requestBody?: { + content: { + "application/json": { + /** @description Require branches to be up to date before merging. */ + strict?: boolean; + /** + * @deprecated + * @description **Deprecated**: The list of status checks to require in order to merge into this branch. If any of these checks have recently been set by a particular GitHub App, they will be required to come from that app in future for the branch to merge. Use `checks` instead of `contexts` for more fine-grained control. + */ + contexts?: (string)[]; + /** @description The list of status checks to require in order to merge into this branch. */ + checks?: ({ + /** @description The name of the required check */ + context: string; + /** @description The ID of the GitHub App that must provide this check. Omit this field to automatically select the GitHub App that has recently provided this check, or any app if it was not set by a GitHub App. Pass -1 to explicitly allow any app to set the status. */ + app_id?: number; + })[]; + }; + }; + }; responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": (components["schemas"]["minimal-repository"])[]; + "application/json": components["schemas"]["status-check-policy"]; }; }; 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - "orgs/list-outside-collaborators": { + "repos/get-all-status-check-contexts": { /** - * List outside collaborators for an organization - * @description List all users who are outside collaborators of an organization. + * Get all status check contexts + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ - parameters?: { - /** @description Filter the list of outside collaborators. `2fa_disabled` means that only outside collaborators without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled will be returned. */ - query?: { - filter?: "2fa_disabled" | "all"; - }; - }; responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": (components["schemas"]["simple-user"])[]; + "application/json": (string)[]; }; }; + 404: components["responses"]["not_found"]; }; }; - "orgs/convert-member-to-outside-collaborator": { + "repos/set-status-check-contexts": { /** - * Convert an organization member to outside collaborator - * @description When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see "[Converting an organization member to an outside collaborator](https://docs.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". Converting an organization member to an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." + * Set status check contexts + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ requestBody?: { content: { - "application/json": { - /** - * @description When set to `true`, the request will be performed asynchronously. Returns a 202 status code when the job is successfully queued. - * @default false - */ - async?: boolean; - }; + "application/json": OneOf<[{ + /** @description The name of the status checks */ + contexts: (string)[]; + }, (string)[]]>; }; }; responses: { - /** @description User is getting converted asynchronously */ - 202: { + /** @description Response */ + 200: { content: { - "application/json": Record; + "application/json": (string)[]; }; }; - /** @description User was converted */ - 204: never; - /** @description Forbidden if user is the last owner of the organization, not a member of the organization, or if the enterprise enforces a policy for inviting outside collaborators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." */ - 403: never; 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - "orgs/remove-outside-collaborator": { + "repos/add-status-check-contexts": { /** - * Remove outside collaborator from an organization - * @description Removing a user from this list will remove them from all the organization's repositories. + * Add status check contexts + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + requestBody?: { + content: { + "application/json": OneOf<[{ + /** @description The name of the status checks */ + contexts: (string)[]; + }, (string)[]]>; + }; + }; responses: { /** @description Response */ - 204: never; - /** @description Unprocessable Entity if user is a member of the organization */ - 422: { + 200: { content: { - "application/json": { - message?: string; - documentation_url?: string; - }; + "application/json": (string)[]; }; }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - "packages/list-packages-for-organization": { + "repos/remove-status-check-contexts": { /** - * List packages for an organization - * @description Lists all packages in an organization readable by the user. - * - * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. - * If `package_type` is not `container`, your token must also include the `repo` scope. + * Remove status check contexts + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ - parameters: { - /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ - query: { - package_type: "npm" | "maven" | "rubygems" | "docker" | "nuget" | "container"; + requestBody?: { + content: { + "application/json": OneOf<[{ + /** @description The name of the status checks */ + contexts: (string)[]; + }, (string)[]]>; }; }; responses: { /** @description Response */ 200: { content: { - "application/json": (components["schemas"]["package"])[]; + "application/json": (string)[]; }; }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - "packages/get-package-for-organization": { + "repos/get-access-restrictions": { /** - * Get a package for an organization - * @description Gets a specific package in an organization. + * Get access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. - * If `package_type` is not `container`, your token must also include the `repo` scope. + * Lists who has access to this protected branch. + * + * **Note**: Users, apps, and teams `restrictions` are only available for organization-owned repositories. */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["package"]; + "application/json": components["schemas"]["branch-restriction-policy"]; }; }; + 404: components["responses"]["not_found"]; }; }; - "packages/delete-package-for-org": { + "repos/delete-access-restrictions": { /** - * Delete a package for an organization - * @description Deletes an entire package in an organization. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * Delete access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: - * - If `package_type` is not `container`, your token must also include the `repo` scope. - * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + * Disables the ability to restrict who can push to this branch. */ responses: { /** @description Response */ 204: never; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; }; }; - "packages/restore-package-for-org": { + "repos/get-apps-with-access-to-protected-branch": { /** - * Restore a package for an organization - * @description Restores an entire package in an organization. + * Get apps with access to the protected branch + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * Lists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": (components["schemas"]["integration"])[]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/set-app-access-restrictions": { + /** + * Set app access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: - * - If `package_type` is not `container`, your token must also include the `repo` scope. - * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + * Replaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. */ - parameters?: { - /** @description package token */ - query?: { - token?: string; + requestBody?: { + content: { + "application/json": OneOf<[{ + /** @description The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items. */ + apps: (string)[]; + }, (string)[]]>; }; }; responses: { /** @description Response */ - 204: never; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + 200: { + content: { + "application/json": (components["schemas"]["integration"])[]; + }; + }; + 422: components["responses"]["validation_failed"]; }; }; - "packages/get-all-package-versions-for-package-owned-by-org": { + "repos/add-app-access-restrictions": { /** - * List package versions for a package owned by an organization - * @description Lists package versions for a package owned by an organization. + * Add app access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. - * If `package_type` is not `container`, your token must also include the `repo` scope. + * Grants the specified apps push access for this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. */ - parameters?: { - /** @description The state of the package, either active or deleted. */ - query?: { - state?: "active" | "deleted"; + requestBody?: { + content: { + "application/json": OneOf<[{ + /** @description The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items. */ + apps: (string)[]; + }, (string)[]]>; }; }; responses: { /** @description Response */ 200: { content: { - "application/json": (components["schemas"]["package-version"])[]; + "application/json": (components["schemas"]["integration"])[]; }; }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - "packages/get-package-version-for-organization": { + "repos/remove-app-access-restrictions": { /** - * Get a package version for an organization - * @description Gets a specific package version in an organization. + * Remove app access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * You must authenticate using an access token with the `packages:read` scope. - * If `package_type` is not `container`, your token must also include the `repo` scope. + * Removes the ability of an app to push to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. */ + requestBody?: { + content: { + "application/json": OneOf<[{ + /** @description The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items. */ + apps: (string)[]; + }, (string)[]]>; + }; + }; responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["package-version"]; + "application/json": (components["schemas"]["integration"])[]; }; }; + 422: components["responses"]["validation_failed"]; }; }; - "packages/delete-package-version-for-org": { + "repos/get-teams-with-access-to-protected-branch": { /** - * Delete package version for an organization - * @description Deletes a specific package version in an organization. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * Get teams with access to the protected branch + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: - * - If `package_type` is not `container`, your token must also include the `repo` scope. - * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + * Lists the teams who have push access to this branch. The list includes child teams. */ responses: { /** @description Response */ - 204: never; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; + 200: { + content: { + "application/json": (components["schemas"]["team"])[]; + }; + }; 404: components["responses"]["not_found"]; }; }; - "packages/restore-package-version-for-org": { + "repos/set-team-access-restrictions": { /** - * Restore package version for an organization - * @description Restores a specific package version in an organization. + * Set team access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * Replaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams. * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: - * - If `package_type` is not `container`, your token must also include the `repo` scope. - * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + * | Type | Description | + * | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ | + * | `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | */ + requestBody?: { + content: { + "application/json": OneOf<[{ + /** @description The slug values for teams */ + teams: (string)[]; + }, (string)[]]>; + }; + }; responses: { /** @description Response */ - 204: never; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + 200: { + content: { + "application/json": (components["schemas"]["team"])[]; + }; + }; + 422: components["responses"]["validation_failed"]; }; }; - "projects/list-for-org": { + "repos/add-team-access-restrictions": { /** - * List organization projects - * @description Lists the projects in an organization. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + * Add team access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified teams push access for this branch. You can also give push access to child teams. + * + * | Type | Description | + * | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ | + * | `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | */ - parameters?: { - /** @description Indicates the state of the projects to return. */ - query?: { - state?: "open" | "closed" | "all"; + requestBody?: { + content: { + "application/json": OneOf<[{ + /** @description The slug values for teams */ + teams: (string)[]; + }, (string)[]]>; }; }; responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": (components["schemas"]["project"])[]; + "application/json": (components["schemas"]["team"])[]; }; }; - 422: components["responses"]["validation_failed_simple"]; + 422: components["responses"]["validation_failed"]; }; }; - "projects/create-for-org": { + "repos/remove-team-access-restrictions": { /** - * Create an organization project - * @description Creates an organization project board. Returns a `410 Gone` status if projects are disabled in the organization or if the organization does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + * Remove team access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a team to push to this branch. You can also remove push access for child teams. + * + * | Type | Description | + * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Teams that should no longer have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | */ - requestBody: { + requestBody?: { content: { - "application/json": { - /** @description The name of the project. */ - name: string; - /** @description The description of the project. */ - body?: string; - }; + "application/json": OneOf<[{ + /** @description The slug values for teams */ + teams: (string)[]; + }, (string)[]]>; }; }; responses: { /** @description Response */ - 201: { + 200: { content: { - "application/json": components["schemas"]["project"]; + "application/json": (components["schemas"]["team"])[]; }; }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed_simple"]; + 422: components["responses"]["validation_failed"]; }; }; - "orgs/list-public-members": { + "repos/get-users-with-access-to-protected-branch": { /** - * List public organization members - * @description Members of an organization can choose to have their membership publicized or not. + * Get users with access to the protected branch + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the people who have push access to this branch. */ responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { "application/json": (components["schemas"]["simple-user"])[]; }; }; + 404: components["responses"]["not_found"]; }; }; - "orgs/check-public-membership-for-user": { - /** Check public organization membership for a user */ - responses: { - /** @description Response if user is a public member */ - 204: never; - /** @description Not Found if user is not a public member */ - 404: never; - }; - }; - "orgs/set-public-membership-for-authenticated-user": { + "repos/set-user-access-restrictions": { /** - * Set public organization membership for the authenticated user - * @description The user can publicize their own membership. (A user cannot publicize the membership for another user.) + * Set user access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | */ + requestBody?: { + content: { + "application/json": OneOf<[{ + /** @description The username for users */ + users: (string)[]; + }, (string)[]]>; + }; + }; responses: { /** @description Response */ - 204: never; - 403: components["responses"]["forbidden"]; + 200: { + content: { + "application/json": (components["schemas"]["simple-user"])[]; + }; + }; + 422: components["responses"]["validation_failed"]; }; }; - "orgs/remove-public-membership-for-authenticated-user": { - /** Remove public organization membership for the authenticated user */ + "repos/add-user-access-restrictions": { + /** + * Add user access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified people push access for this branch. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + requestBody?: { + content: { + "application/json": OneOf<[{ + /** @description The username for users */ + users: (string)[]; + }, (string)[]]>; + }; + }; responses: { /** @description Response */ - 204: never; + 200: { + content: { + "application/json": (components["schemas"]["simple-user"])[]; + }; + }; + 422: components["responses"]["validation_failed"]; }; }; - "repos/list-for-org": { + "repos/remove-user-access-restrictions": { /** - * List organization repositories - * @description Lists repositories for the specified organization. + * Remove user access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a user to push to this branch. + * + * | Type | Description | + * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | */ - parameters?: { - /** @description Specifies the types of repositories you want returned. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `type` can also be `internal`. However, the `internal` value is not yet supported when a GitHub App calls this API with an installation access token. */ - /** @description The property to sort the results by. */ - /** @description The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ - query?: { - type?: "all" | "public" | "private" | "forks" | "sources" | "member" | "internal"; - sort?: "created" | "updated" | "pushed" | "full_name"; - direction?: "asc" | "desc"; + requestBody?: { + content: { + "application/json": OneOf<[{ + /** @description The username for users */ + users: (string)[]; + }, (string)[]]>; }; }; responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": (components["schemas"]["minimal-repository"])[]; + "application/json": (components["schemas"]["simple-user"])[]; }; }; + 422: components["responses"]["validation_failed"]; }; }; - "repos/create-in-org": { + "repos/rename-branch": { /** - * Create an organization repository - * @description Creates a new repository in the specified organization. The authenticated user must be a member of the organization. + * Rename a branch + * @description Renames a branch in a repository. * - * **OAuth scope requirements** + * **Note:** Although the API responds immediately, the branch rename process might take some extra time to complete in the background. You won't be able to push to the old branch name while the rename process is in progress. For more information, see "[Renaming a branch](https://docs.github.com/github/administering-a-repository/renaming-a-branch)". * - * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * The permissions required to use this endpoint depends on whether you are renaming the default branch. * - * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. - * * `repo` scope to create a private repository + * To rename a non-default branch: + * + * * Users must have push access. + * * GitHub Apps must have the `contents:write` repository permission. + * + * To rename the default branch: + * + * * Users must have admin or owner permissions. + * * GitHub Apps must have the `administration:write` repository permission. */ requestBody: { content: { "application/json": { - /** @description The name of the repository. */ - name: string; - /** @description A short description of the repository. */ - description?: string; - /** @description A URL with more information about the repository. */ - homepage?: string; - /** - * @description Whether the repository is private. - * @default false - */ - private?: boolean; - /** - * @description Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`. Note: For GitHub Enterprise Server and GitHub AE, this endpoint will only list repositories available to all users on the enterprise. For more information, see "[Creating an internal repository](https://docs.github.com/github/creating-cloning-and-archiving-repositories/about-repository-visibility#about-internal-repositories)" in the GitHub Help documentation. - * @enum {string} - */ - visibility?: "public" | "private" | "internal"; - /** - * @description Either `true` to enable issues for this repository or `false` to disable them. - * @default true - */ - has_issues?: boolean; - /** - * @description Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. - * @default true - */ - has_projects?: boolean; - /** - * @description Either `true` to enable the wiki for this repository or `false` to disable it. - * @default true - */ - has_wiki?: boolean; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads?: boolean; - /** - * @description Either `true` to make this repo available as a template repository or `false` to prevent it. - * @default false - */ - is_template?: boolean; - /** @description The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. */ - team_id?: number; - /** - * @description Pass `true` to create an initial commit with empty README. - * @default false - */ - auto_init?: boolean; - /** @description Desired language or platform [.gitignore template](https://github.com/github/gitignore) to apply. Use the name of the template without the extension. For example, "Haskell". */ - gitignore_template?: string; - /** @description Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://docs.github.com/articles/licensing-a-repository/#searching-github-by-license-type) as the `license_template` string. For example, "mit" or "mpl-2.0". */ - license_template?: string; - /** - * @description Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. - * @default true - */ - allow_squash_merge?: boolean; - /** - * @description Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Either `true` to allow auto-merge on pull requests, or `false` to disallow auto-merge. - * @default false - */ - allow_auto_merge?: boolean; - /** - * @description Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. - * @default false - */ - delete_branch_on_merge?: boolean; - /** - * @deprecated - * @description Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @description The new name of the branch. */ + new_name: string; }; }; }; responses: { /** @description Response */ 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World */ - Location?: string; - }; content: { - "application/json": components["schemas"]["repository"]; + "application/json": components["schemas"]["branch-with-protection"]; }; }; 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; }; }; - "secret-scanning/list-alerts-for-org": { + "checks/create": { /** - * List secret scanning alerts for an organization - * @description Lists secret scanning alerts for eligible repositories in an organization, from newest to oldest. - * To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. + * Create a check run + * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + * Creates a new check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to create check runs. + * + * In a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs. */ + requestBody: { + content: { + "application/json": OneOf<[{ + /** @enum {unknown} */ + status: "completed"; + [key: string]: unknown | undefined; + }, { + /** @enum {unknown} */ + status?: "queued" | "in_progress"; + [key: string]: unknown | undefined; + }]>; + }; + }; responses: { /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; + 201: { content: { - "application/json": (components["schemas"]["organization-secret-scanning-alert"])[]; + "application/json": components["schemas"]["check-run"]; }; }; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; }; }; - "orgs/list-security-manager-teams": { + "checks/get": { /** - * List security manager teams - * @description Lists teams that are security managers for an organization. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `read:org` scope. + * Get a check run + * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. * - * GitHub Apps must have the `administration` organization read permission to use this endpoint. + * Gets a single check run using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. */ responses: { /** @description Response */ 200: { content: { - "application/json": (components["schemas"]["team-simple"])[]; + "application/json": components["schemas"]["check-run"]; }; }; }; }; - "orgs/add-security-manager-team": { + "checks/update": { /** - * Add a security manager team - * @description Adds a team as a security manager for an organization. For more information, see "[Managing security for an organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization) for an organization." - * - * To use this endpoint, you must be an administrator for the organization, and you must use an access token with the `write:org` scope. + * Update a check run + * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. * - * GitHub Apps must have the `administration` organization read-write permission to use this endpoint. + * Updates a check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to edit check runs. */ + requestBody: { + content: { + "application/json": ({ + /** @description The name of the check. For example, "code-coverage". */ + name?: string; + /** @description The URL of the integrator's site that has the full details of the check. */ + details_url?: string; + /** @description A reference for the run on the integrator's system. */ + external_id?: string; + /** + * Format: date-time + * @description This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at?: string; + /** + * @description The current status. + * @enum {string} + */ + status?: "queued" | "in_progress" | "completed"; + /** + * @description **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. + * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. You cannot change a check run conclusion to `stale`, only GitHub can set this. + * @enum {string} + */ + conclusion?: "action_required" | "cancelled" | "failure" | "neutral" | "success" | "skipped" | "stale" | "timed_out"; + /** + * Format: date-time + * @description The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + completed_at?: string; + /** @description Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. */ + output?: { + /** @description **Required**. */ + title?: string; + /** @description Can contain Markdown. */ + summary: string; + /** @description Can contain Markdown. */ + text?: string; + /** @description Adds information from your analysis to specific lines of code. Annotations are visible in GitHub's pull request UI. Annotations are visible in GitHub's pull request UI. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/rest/reference/checks#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. For details about annotations in the UI, see "[About status checks](https://docs.github.com/articles/about-status-checks#checks)". */ + annotations?: ({ + /** @description The path of the file to add an annotation to. For example, `assets/css/main.css`. */ + path: string; + /** @description The start line of the annotation. Line numbers start at 1. */ + start_line: number; + /** @description The end line of the annotation. */ + end_line: number; + /** @description The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. Column numbers start at 1. */ + start_column?: number; + /** @description The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. */ + end_column?: number; + /** + * @description The level of the annotation. + * @enum {string} + */ + annotation_level: "notice" | "warning" | "failure"; + /** @description A short description of the feedback for these lines of code. The maximum size is 64 KB. */ + message: string; + /** @description The title that represents the annotation. The maximum size is 255 characters. */ + title?: string; + /** @description Details about this annotation. The maximum size is 64 KB. */ + raw_details?: string; + })[]; + /** @description Adds images to the output displayed in the GitHub pull request UI. */ + images?: ({ + /** @description The alternative text for the image. */ + alt: string; + /** @description The full URL of the image. */ + image_url: string; + /** @description A short image description. */ + caption?: string; + })[]; + }; + /** @description Possible further actions the integrator can perform, which a user may trigger. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. See the [`actions` object](https://docs.github.com/rest/reference/checks#actions-object) description. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://docs.github.com/rest/reference/checks#check-runs-and-requested-actions)." */ + actions?: ({ + /** @description The text to be displayed on a button in the web UI. The maximum size is 20 characters. */ + label: string; + /** @description A short explanation of what this action would do. The maximum size is 40 characters. */ + description: string; + /** @description A reference for the action on the integrator's system. The maximum size is 20 characters. */ + identifier: string; + })[]; + }) & (({ + /** @enum {unknown} */ + status?: "completed"; + [key: string]: unknown | undefined; + }) | ({ + /** @enum {unknown} */ + status?: "queued" | "in_progress"; + [key: string]: unknown | undefined; + })); + }; + }; responses: { /** @description Response */ - 204: never; - /** @description The organization has reached the maximum number of security manager teams. */ - 409: never; + 200: { + content: { + "application/json": components["schemas"]["check-run"]; + }; + }; }; }; - "orgs/remove-security-manager-team": { + "checks/list-annotations": { /** - * Remove a security manager team - * @description Removes the security manager role from a team for an organization. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization) team from an organization." - * - * To use this endpoint, you must be an administrator for the organization, and you must use an access token with the `admin:org` scope. - * - * GitHub Apps must have the `administration` organization read-write permission to use this endpoint. + * List check run annotations + * @description Lists annotations for a check run using the annotation `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get annotations for a check run. OAuth Apps and authenticated users must have the `repo` scope to get annotations for a check run in a private repository. */ responses: { /** @description Response */ - 204: never; + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": (components["schemas"]["check-annotation"])[]; + }; + }; }; }; - "billing/get-github-actions-billing-org": { + "checks/rerequest-run": { /** - * Get GitHub Actions billing for an organization - * @description Gets the summary of the free and paid GitHub Actions minutes used. - * - * 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](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * Rerequest a check run + * @description Triggers GitHub to rerequest an existing check run, without pushing new code to a repository. This endpoint will trigger the [`check_run` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) event with the action `rerequested`. When a check run is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. * - * Access tokens must have the `repo` or `admin:org` scope. + * To rerequest a check run, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. */ responses: { /** @description Response */ - 200: { + 201: { content: { - "application/json": components["schemas"]["actions-billing-usage"]; + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Forbidden if the check run is not rerequestable or doesn't belong to the authenticated GitHub App */ + 403: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 404: components["responses"]["not_found"]; + /** @description Validation error if the check run is not rerequestable */ + 422: { + content: { + "application/json": components["schemas"]["basic-error"]; }; }; }; }; - "billing/get-github-advanced-security-billing-org": { + "checks/create-suite": { /** - * Get GitHub Advanced Security active committers for an organization - * @description Gets the GitHub Advanced Security active committers for an organization per repository. - * - * 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 advanced_security_committers for each repository. - * - * If this organization defers to an enterprise for billing, the `total_advanced_security_committers` returned from the organization API may include some users that are in more than one organization, so they will only consume a single Advanced Security seat at the enterprise level. + * Create a check suite + * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. * - * The total number of repositories with committer information is tracked by the `total_count` field. + * By default, check suites are automatically created when you create a [check run](https://docs.github.com/rest/reference/checks#check-runs). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using "[Update repository preferences for check suites](https://docs.github.com/rest/reference/checks#update-repository-preferences-for-check-suites)". Your GitHub App must have the `checks:write` permission to create check suites. */ + requestBody: { + content: { + "application/json": { + /** @description The sha of the head commit. */ + head_sha: string; + }; + }; + }; responses: { - /** @description Success */ + /** @description Response when the suite already exists */ 200: { content: { - "application/json": components["schemas"]["advanced-security-active-committers"]; + "application/json": components["schemas"]["check-suite"]; + }; + }; + /** @description Response when the suite was created */ + 201: { + content: { + "application/json": components["schemas"]["check-suite"]; }; }; - 403: components["responses"]["code_scanning_forbidden_read"]; }; }; - "billing/get-github-packages-billing-org": { + "checks/set-suites-preferences": { /** - * Get GitHub Packages billing for an organization - * @description Gets the free and paid storage used for GitHub Packages in gigabytes. - * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." - * - * Access tokens must have the `repo` or `admin:org` scope. + * Update repository preferences for check suites + * @description Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://docs.github.com/rest/reference/checks#create-a-check-suite). You must have admin permissions in the repository to set preferences for check suites. */ + requestBody: { + content: { + "application/json": { + /** @description Enables or disables automatic creation of CheckSuite events upon pushes to the repository. Enabled by default. */ + auto_trigger_checks?: ({ + /** @description The `id` of the GitHub App. */ + app_id: number; + /** + * @description Set to `true` to enable automatic creation of CheckSuite events upon pushes to the repository, or `false` to disable them. + * @default true + */ + setting: boolean; + })[]; + }; + }; + }; responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["packages-billing-usage"]; + "application/json": components["schemas"]["check-suite-preference"]; }; }; }; }; - "billing/get-shared-storage-billing-org": { + "checks/get-suite": { /** - * Get shared storage billing for an organization - * @description Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. - * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * Get a check suite + * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. * - * Access tokens must have the `repo` or `admin:org` scope. + * Gets a single check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository. */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["combined-billing-usage"]; + "application/json": components["schemas"]["check-suite"]; }; }; }; }; - "teams/list": { + "checks/list-for-suite": { /** - * List teams - * @description Lists all teams in an organization that are visible to the authenticated user. + * List check runs in a check suite + * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Lists check runs for a check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. */ + parameters?: { + /** @description Filters check runs by their `completed_at` timestamp. `latest` returns the most recent check runs. */ + query?: { + filter?: "latest" | "all"; + }; + }; responses: { /** @description Response */ 200: { @@ -87845,527 +93936,836 @@ export interface operations { Link: components["headers"]["link"]; }; content: { - "application/json": (components["schemas"]["team"])[]; + "application/json": { + total_count: number; + check_runs: (components["schemas"]["check-run"])[]; + }; }; }; - 403: components["responses"]["forbidden"]; }; }; - "teams/create": { + "checks/rerequest-suite": { /** - * Create a team - * @description To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://docs.github.com/articles/setting-team-creation-permissions-in-your-organization)." + * Rerequest a check suite + * @description Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://docs.github.com/webhooks/event-payloads/#check_suite) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. * - * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/about-teams)". + * To rerequest a check suite, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. */ - requestBody: { - content: { - "application/json": { - /** @description The name of the team. */ - name: string; - /** @description The description of the team. */ - description?: string; - /** @description List GitHub IDs for organization members who will become team maintainers. */ - maintainers?: (string)[]; - /** @description The full name (e.g., "organization-name/repository-name") of repositories to add the team to. */ - repo_names?: (string)[]; - /** - * @description The level of privacy this team should have. The options are: - * **For a non-nested team:** - * \* `secret` - only visible to organization owners and members of this team. - * \* `closed` - visible to all members of this organization. - * Default: `secret` - * **For a parent or child team:** - * \* `closed` - visible to all members of this organization. - * Default for child team: `closed` - * @enum {string} - */ - privacy?: "secret" | "closed"; - /** - * @description **Deprecated**. The permission that new repositories will be added to the team with when none is specified. - * @default pull - * @enum {string} - */ - permission?: "pull" | "push"; - /** @description The ID of a team to set as the parent team. */ - parent_team_id?: number; - }; - }; - }; responses: { /** @description Response */ 201: { content: { - "application/json": components["schemas"]["team-full"]; + "application/json": components["schemas"]["empty-object"]; }; }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; }; }; - "teams/get-by-name": { + "code-scanning/list-alerts-for-repo": { /** - * Get a team by name - * @description Gets a team using the team's `slug`. GitHub generates the `slug` from the team `name`. + * List code scanning alerts for a repository + * @description Lists code scanning alerts. * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}`. + * To use this endpoint, you must use an access token with the `security_events` scope or, for alerts from public repositories only, an access token with the `public_repo` scope. + * + * GitHub Apps must have the `security_events` read + * permission to use this endpoint. + * + * The response includes a `most_recent_instance` object. + * This provides details of the most recent instance of this alert + * for the default branch (or for the specified Git reference if you used `ref` in the request). */ + parameters?: { + /** @description The property by which to sort the results. */ + /** @description If specified, only code scanning alerts with this state will be returned. */ + query?: { + sort?: "created" | "updated"; + state?: components["schemas"]["code-scanning-alert-state"]; + }; + }; responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["team-full"]; + "application/json": (components["schemas"]["code-scanning-alert-items"])[]; }; }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["code_scanning_forbidden_read"]; 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; }; }; - "teams/delete-in-org": { + "code-scanning/get-alert": { /** - * Delete a team - * @description To delete a team, the authenticated user must be an organization owner or team maintainer. - * - * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + * Get a code scanning alert + * @description Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}`. + * **Deprecation notice**: + * The instances field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The same information can now be retrieved via a GET request to the URL specified by `instances_url`. */ responses: { /** @description Response */ - 204: never; + 200: { + content: { + "application/json": components["schemas"]["code-scanning-alert"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; }; }; - "teams/update-in-org": { + "code-scanning/update-alert": { /** - * Update a team - * @description To edit a team, the authenticated user must either be an organization owner or a team maintainer. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`. + * Update a code scanning alert + * @description Updates the status of a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. */ - requestBody?: { + requestBody: { content: { "application/json": { - /** @description The name of the team. */ - name?: string; - /** @description The description of the team. */ - description?: string; - /** - * @description The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. When a team is nested, the `privacy` for parent teams cannot be `secret`. The options are: - * **For a non-nested team:** - * \* `secret` - only visible to organization owners and members of this team. - * \* `closed` - visible to all members of this organization. - * **For a parent or child team:** - * \* `closed` - visible to all members of this organization. - * @enum {string} - */ - privacy?: "secret" | "closed"; - /** - * @description **Deprecated**. The permission that new repositories will be added to the team with when none is specified. - * @default pull - * @enum {string} - */ - permission?: "pull" | "push" | "admin"; - /** @description The ID of a team to set as the parent team. */ - parent_team_id?: OneOf<[number, null]>; + state: components["schemas"]["code-scanning-alert-set-state"]; + dismissed_reason?: components["schemas"]["code-scanning-alert-dismissed-reason"]; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; }; }; }; responses: { - /** @description Response when the updated information already exists */ + /** @description Response */ 200: { content: { - "application/json": components["schemas"]["team-full"]; + "application/json": components["schemas"]["code-scanning-alert"]; }; }; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/list-alert-instances": { + /** + * List instances of a code scanning alert + * @description Lists all instances of the specified code scanning alert. + * You must use an access token with the `security_events` scope to use this endpoint with private repos, + * the `public_repo` scope also grants permission to read security events on public repos only. + * GitHub Apps must have the `security_events` read permission to use this endpoint. + */ + responses: { /** @description Response */ - 201: { + 200: { content: { - "application/json": components["schemas"]["team-full"]; + "application/json": (components["schemas"]["code-scanning-alert-instance"])[]; }; }; - 403: components["responses"]["forbidden"]; + 403: components["responses"]["code_scanning_forbidden_read"]; 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; }; }; - "teams/list-discussions-in-org": { + "code-scanning/list-recent-analyses": { /** - * List discussions - * @description List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * List code scanning analyses for a repository + * @description Lists the details of all code scanning analyses for a repository, + * starting with the most recent. + * The response is paginated and you can use the `page` and `per_page` parameters + * to list the analyses you're interested in. + * By default 30 analyses are listed per page. * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`. + * The `rules_count` field in the response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * You must use an access token with the `security_events` scope to use this endpoint with private repos, + * the `public_repo` scope also grants permission to read security events on public repos only. + * GitHub Apps must have the `security_events` read permission to use this endpoint. + * + * **Deprecation notice**: + * The `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field. */ parameters?: { - /** @description Pinned discussions only filter */ + /** @description The Git reference for the analyses you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ + /** @description Filter analyses belonging to the same SARIF upload. */ + /** @description The property by which to sort the results. */ query?: { - pinned?: string; + ref?: components["schemas"]["code-scanning-ref"]; + sarif_id?: components["schemas"]["code-scanning-analysis-sarif-id"]; + sort?: "created"; }; }; responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": (components["schemas"]["team-discussion"])[]; + "application/json": (components["schemas"]["code-scanning-analysis"])[]; }; }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; }; }; - "teams/create-discussion-in-org": { + "code-scanning/get-analysis": { /** - * Create a discussion - * @description Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * Get a code scanning analysis for a repository + * @description Gets a specified code scanning analysis for a repository. + * You must use an access token with the `security_events` scope to use this endpoint with private repos, + * the `public_repo` scope also grants permission to read security events on public repos only. + * GitHub Apps must have the `security_events` read permission to use this endpoint. * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * The default JSON response contains fields that describe the analysis. + * This includes the Git reference and commit SHA to which the analysis relates, + * the datetime of the analysis, the name of the code scanning tool, + * and the number of alerts. * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`. + * The `rules_count` field in the default response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * If you use the Accept header `application/sarif+json`, + * the response contains the analysis data that was uploaded. + * This is formatted as + * [SARIF version 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html). */ - requestBody: { - content: { - "application/json": { - /** @description The discussion post's title. */ - title: string; - /** @description The discussion post's body text. */ - body: string; - /** - * @description Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. - * @default false - */ - private?: boolean; - }; + parameters: { + /** @description The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation. */ + path: { + analysis_id: number; }; }; responses: { /** @description Response */ - 201: { + 200: { content: { - "application/json": components["schemas"]["team-discussion"]; + "application/json": components["schemas"]["code-scanning-analysis"]; + "application/json+sarif": { + [key: string]: unknown | undefined; + }; }; }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; }; }; - "teams/get-discussion-in-org": { + "code-scanning/delete-analysis": { /** - * Get a discussion - * @description Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * Delete a code scanning analysis from a repository + * @description Deletes a specified code scanning analysis from a repository. For + * private repositories, you must use an access token with the `repo` scope. For public repositories, + * you must use an access token with `public_repo` scope. + * GitHub Apps must have the `security_events` write permission to use this endpoint. * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + * You can delete one analysis at a time. + * To delete a series of analyses, start with the most recent analysis and work backwards. + * Conceptually, the process is similar to the undo function in a text editor. + * + * When you list the analyses for a repository, + * one or more will be identified as deletable in the response: + * + * ``` + * "deletable": true + * ``` + * + * An analysis is deletable when it's the most recent in a set of analyses. + * Typically, a repository will have multiple sets of analyses + * for each enabled code scanning tool, + * where a set is determined by a unique combination of analysis values: + * + * * `ref` + * * `tool` + * * `category` + * + * If you attempt to delete an analysis that is not the most recent in a set, + * you'll get a 400 response with the message: + * + * ``` + * Analysis specified is not deletable. + * ``` + * + * The response from a successful `DELETE` operation provides you with + * two alternative URLs for deleting the next analysis in the set: + * `next_analysis_url` and `confirm_delete_url`. + * Use the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis + * in a set. This is a useful option if you want to preserve at least one analysis + * for the specified tool in your repository. + * Use the `confirm_delete_url` URL if you are content to remove all analyses for a tool. + * When you delete the last analysis in a set, the value of `next_analysis_url` and `confirm_delete_url` + * in the 200 response is `null`. + * + * As an example of the deletion process, + * let's imagine that you added a workflow that configured a particular code scanning tool + * to analyze the code in a repository. This tool has added 15 analyses: + * 10 on the default branch, and another 5 on a topic branch. + * You therefore have two separate sets of analyses for this tool. + * You've now decided that you want to remove all of the analyses for the tool. + * To do this you must make 15 separate deletion requests. + * To start, you must find an analysis that's identified as deletable. + * Each set of analyses always has one that's identified as deletable. + * Having found the deletable analysis for one of the two sets, + * delete this analysis and then continue deleting the next analysis in the set until they're all deleted. + * Then repeat the process for the second set. + * The procedure therefore consists of a nested loop: + * + * **Outer loop**: + * * List the analyses for the repository, filtered by tool. + * * Parse this list to find a deletable analysis. If found: + * + * **Inner loop**: + * * Delete the identified analysis. + * * Parse the response for the value of `confirm_delete_url` and, if found, use this in the next iteration. + * + * The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely. */ + parameters: { + /** @description Allow deletion if the specified analysis is the last in a set. If you attempt to delete the final analysis in a set without setting this parameter to `true`, you'll get a 400 response with the message: `Analysis is last of its type and deletion may result in the loss of historical alert data. Please specify confirm_delete.` */ + query?: { + confirm_delete?: OneOf<[string, null]>; + }; + /** @description The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation. */ + path: { + analysis_id: number; + }; + }; responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["team-discussion"]; + "application/json": components["schemas"]["code-scanning-analysis-deletion"]; }; }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; }; }; - "teams/delete-discussion-in-org": { + "code-scanning/list-codeql-databases": { /** - * Delete a discussion - * @description Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * List CodeQL databases for a repository + * @description Lists the CodeQL databases that are available in a repository. * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + * For private repositories, you must use an access token with the `security_events` scope. + * For public repositories, you can use tokens with the `security_events` or `public_repo` scope. + * GitHub Apps must have the `contents` read permission to use this endpoint. */ responses: { /** @description Response */ - 204: never; + 200: { + content: { + "application/json": (components["schemas"]["code-scanning-codeql-database"])[]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; }; }; - "teams/update-discussion-in-org": { + "code-scanning/get-codeql-database": { /** - * Update a discussion - * @description Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * Get a CodeQL database for a repository + * @description Gets a CodeQL database for a language in a repository. * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + * By default this endpoint returns JSON metadata about the CodeQL database. To + * download the CodeQL database binary content, set the `Accept` header of the request + * to [`application/zip`](https://docs.github.com/rest/overview/media-types), and make sure + * your HTTP client is configured to follow redirects or use the `Location` header + * to make a second request to get the redirect URL. + * + * For private repositories, you must use an access token with the `security_events` scope. + * For public repositories, you can use tokens with the `security_events` or `public_repo` scope. + * GitHub Apps must have the `contents` read permission to use this endpoint. */ - requestBody?: { - content: { - "application/json": { - /** @description The discussion post's title. */ - title?: string; - /** @description The discussion post's body text. */ - body?: string; - }; + parameters: { + /** @description The language of the CodeQL database. */ + path: { + language: string; }; }; responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["team-discussion"]; + "application/json": components["schemas"]["code-scanning-codeql-database"]; }; }; + 302: components["responses"]["found"]; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; }; }; - "teams/list-discussion-comments-in-org": { + "code-scanning/upload-sarif": { /** - * List discussion comments - * @description List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * Upload an analysis as SARIF data + * @description Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint for private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. + * There are two places where you can upload code scanning results. + * - If you upload to a pull request, for example `--ref refs/pull/42/merge` or `--ref refs/pull/42/head`, then the results appear as alerts in a pull request check. For more information, see "[Triaging code scanning alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)." + * - If you upload to a branch, for example `--ref refs/heads/my-branch`, then the results appear in the **Security** tab for your repository. For more information, see "[Managing code scanning alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)." + * + * You must compress the SARIF-formatted analysis data that you want to upload, using `gzip`, and then encode it as a Base64 format string. For example: + * + * ``` + * gzip -c analysis-data.sarif | base64 -w0 + * ``` + * + * SARIF upload supports a maximum of 5000 results per analysis run. Any results over this limit are ignored and any SARIF uploads with more than 25,000 results are rejected. Typically, but not necessarily, a SARIF file contains a single run of a single tool. If a code scanning tool generates too many results, you should update the analysis configuration to run only the most important rules or queries. + * + * The `202 Accepted`, response includes an `id` value. + * You can use this ID to check the status of the upload by using this for the `/sarifs/{sarif_id}` endpoint. + * For more information, see "[Get information about a SARIF upload](/rest/reference/code-scanning#get-information-about-a-sarif-upload)." */ + requestBody: { + content: { + "application/json": { + commit_sha: components["schemas"]["code-scanning-analysis-commit-sha"]; + ref: components["schemas"]["code-scanning-ref"]; + sarif: components["schemas"]["code-scanning-analysis-sarif-file"]; + /** + * Format: uri + * @description The base directory used in the analysis, as it appears in the SARIF file. + * This property is used to convert file paths from absolute to relative, so that alerts can be mapped to their correct location in the repository. + */ + checkout_uri?: string; + /** + * Format: date-time + * @description The time that the analysis run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at?: string; + /** @description The name of the tool used to generate the code scanning analysis. If this parameter is not used, the tool name defaults to "API". If the uploaded SARIF contains a tool GUID, this will be available for filtering using the `tool_guid` parameter of operations such as `GET /repos/{owner}/{repo}/code-scanning/alerts`. */ + tool_name?: string; + /** + * @description Whether the SARIF file will be validated according to the code scanning specifications. + * This parameter is intended to help integrators ensure that the uploaded SARIF files are correctly rendered by code scanning. + */ + validate?: boolean; + }; + }; + }; responses: { /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; + 202: { content: { - "application/json": (components["schemas"]["team-discussion-comment"])[]; + "application/json": components["schemas"]["code-scanning-sarifs-receipt"]; }; }; + /** @description Bad Request if the sarif field is invalid */ + 400: never; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + /** @description Payload Too Large if the sarif field is too large */ + 413: never; + 503: components["responses"]["service_unavailable"]; }; }; - "teams/create-discussion-comment-in-org": { + "code-scanning/get-sarif": { /** - * Create a discussion comment - * @description Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. + * Get information about a SARIF upload + * @description Gets information about a SARIF upload, including the status and the URL of the analysis that was uploaded so that you can retrieve details of the analysis. For more information, see "[Get a code scanning analysis for a repository](/rest/reference/code-scanning#get-a-code-scanning-analysis-for-a-repository)." You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. */ - requestBody: { - content: { - "application/json": { - /** @description The discussion comment's body text. */ - body: string; - }; + parameters: { + /** @description The SARIF ID obtained after uploading. */ + path: { + sarif_id: string; }; }; responses: { /** @description Response */ - 201: { + 200: { content: { - "application/json": components["schemas"]["team-discussion-comment"]; + "application/json": components["schemas"]["code-scanning-sarifs-status"]; }; }; + 403: components["responses"]["code_scanning_forbidden_read"]; + /** @description Not Found if the sarif id does not match any upload */ + 404: never; + 503: components["responses"]["service_unavailable"]; }; }; - "teams/get-discussion-comment-in-org": { + "repos/codeowners-errors": { /** - * Get a discussion comment - * @description Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * List CODEOWNERS errors + * @description List any syntax errors that are detected in the CODEOWNERS + * file. * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + * For more information about the correct CODEOWNERS syntax, + * see "[About code owners](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners)." */ + parameters?: { + /** @description A branch, tag or commit name used to determine which version of the CODEOWNERS file to use. Default: the repository's default branch (e.g. `main`) */ + query?: { + ref?: string; + }; + }; responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["team-discussion-comment"]; + "application/json": components["schemas"]["codeowners-errors"]; }; }; + /** @description Resource not found */ + 404: never; }; }; - "teams/delete-discussion-comment-in-org": { + "codespaces/list-in-repository-for-authenticated-user": { /** - * Delete a discussion comment - * @description Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * List codespaces in a repository for the authenticated user + * @description Lists the codespaces associated to a specified repository and the authenticated user. * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. */ responses: { /** @description Response */ - 204: never; + 200: { + content: { + "application/json": { + total_count: number; + codespaces: (components["schemas"]["codespace"])[]; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; }; }; - "teams/update-discussion-comment-in-org": { + "codespaces/create-with-repo-for-authenticated-user": { /** - * Update a discussion comment - * @description Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * Create a codespace in a repository + * @description Creates a codespace owned by the authenticated user in the specified repository. * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. */ requestBody: { content: { - "application/json": { - /** @description The discussion comment's body text. */ - body: string; + "application/json": OneOf<[{ + /** @description Git ref (typically a branch name) for this codespace */ + ref?: string; + /** @description Location for this codespace. Assigned by IP if not provided */ + location?: string; + /** @description IP for location auto-detection when proxying a request */ + client_ip?: string; + /** @description Machine type to use for this codespace */ + machine?: string; + /** @description Path to devcontainer.json config to use for this codespace */ + devcontainer_path?: string; + /** @description Whether to authorize requested permissions from devcontainer.json */ + multi_repo_permissions_opt_out?: boolean; + /** @description Working directory for this codespace */ + working_directory?: string; + /** @description Time in minutes before codespace stops from inactivity */ + idle_timeout_minutes?: number; + /** @description Display name for this codespace */ + display_name?: string; + /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ + retention_period_minutes?: number; + }, null]>; + }; + }; + responses: { + /** @description Response when the codespace was successfully created */ + 201: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + /** @description Response when the codespace creation partially failed but is being retried in the background */ + 202: { + content: { + "application/json": components["schemas"]["codespace"]; }; }; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; }; + }; + "codespaces/list-devcontainers-in-repository-for-authenticated-user": { + /** + * List devcontainer configurations in a repository for the authenticated user + * @description Lists the devcontainer.json files associated with a specified repository and the authenticated user. These files + * specify launchpoint configurations for codespaces created within the repository. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. + */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["team-discussion-comment"]; + "application/json": { + total_count: number; + devcontainers: ({ + path: string; + name?: string; + })[]; + }; }; }; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; }; }; - "reactions/list-for-team-discussion-comment-in-org": { + "codespaces/repo-machines-for-authenticated-user": { /** - * List reactions for a team discussion comment - * @description List the reactions to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments/). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * List available machine types for a repository + * @description List the machine types available for a given repository based on its configuration. * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_metadata` repository permission to use this endpoint. */ parameters?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion comment. */ + /** @description The location to check for available machines. Assigned by IP if not provided. */ + /** @description IP for location auto-detection when proxying a request */ query?: { - content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + location?: string; + client_ip?: string; }; }; responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": (components["schemas"]["reaction"])[]; + "application/json": { + total_count: number; + machines: (components["schemas"]["codespace-machine"])[]; + }; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; }; }; - "reactions/create-for-team-discussion-comment-in-org": { + "codespaces/pre-flight-with-repo-for-authenticated-user": { /** - * Create reaction for a team discussion comment - * @description Create a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. + * Get default attributes for a codespace + * @description Gets the default attributes for codespaces created by the user with the repository. * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. */ - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion comment. - * @enum {string} - */ - content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - }; + parameters?: { + /** @description The branch or commit to check for a default devcontainer path. If not specified, the default branch will be checked. */ + /** @description An alternative IP for default location auto-detection, such as when proxying a request. */ + query?: { + ref?: string; + client_ip?: string; }; }; responses: { - /** @description Response when the reaction type has already been added to this team discussion comment */ + /** @description Response when a user is able to create codespaces from the repository. */ 200: { content: { - "application/json": components["schemas"]["reaction"]; + "application/json": { + billable_owner?: components["schemas"]["simple-user"]; + defaults?: { + location: string; + devcontainer_path: OneOf<[string, null]>; + }; + }; }; }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "codespaces/list-repo-secrets": { + /** + * List repository secrets + * @description Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `codespaces_secrets` repository permission to use this endpoint. + */ + responses: { /** @description Response */ - 201: { + 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["reaction"]; + "application/json": { + total_count: number; + secrets: (components["schemas"]["repo-codespaces-secret"])[]; + }; }; }; }; }; - "reactions/delete-for-team-discussion-comment": { + "codespaces/get-repo-public-key": { /** - * Delete team discussion comment reaction - * @description **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`. - * - * Delete a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * Get a repository public key + * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `codespaces_secrets` repository permission to use this endpoint. */ responses: { /** @description Response */ - 204: never; + 200: { + content: { + "application/json": components["schemas"]["codespaces-public-key"]; + }; + }; }; }; - "reactions/list-for-team-discussion-in-org": { + "codespaces/get-repo-secret": { /** - * List reactions for a team discussion - * @description List the reactions to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + * Get a repository secret + * @description Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `codespaces_secrets` repository permission to use this endpoint. */ - parameters?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion. */ - query?: { - content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - }; - }; responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": (components["schemas"]["reaction"])[]; + "application/json": components["schemas"]["repo-codespaces-secret"]; }; }; }; }; - "reactions/create-for-team-discussion-in-org": { + "codespaces/create-or-update-repo-secret": { /** - * Create reaction for a team discussion - * @description Create a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. + * Create or update a repository secret + * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `codespaces_secrets` repository + * permission to use this endpoint. * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + * #### Example of encrypting a secret using Node.js + * + * Encrypt your secret using the [libsodium-wrappers](https://www.npmjs.com/package/libsodium-wrappers) library. + * + * ``` + * const sodium = require('libsodium-wrappers') + * const secret = 'plain-text-secret' // replace with the secret you want to encrypt + * const key = 'base64-encoded-public-key' // replace with the Base64 encoded public key + * + * //Check if libsodium is ready and then proceed. + * sodium.ready.then(() => { + * // Convert Secret & Base64 key to Uint8Array. + * let binkey = sodium.from_base64(key, sodium.base64_variants.ORIGINAL) + * let binsec = sodium.from_string(secret) + * + * //Encrypt the secret using LibSodium + * let encBytes = sodium.crypto_box_seal(binsec, binkey) + * + * // Convert encrypted Uint8Array to Base64 + * let output = sodium.to_base64(encBytes, sodium.base64_variants.ORIGINAL) + * + * console.log(output) + * }); + * ``` + * + * #### Example of encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example of encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example of encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` */ requestBody: { content: { "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion. - * @enum {string} - */ - content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/reference/codespaces#get-a-repository-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; }; }; }; responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - /** @description Response */ + /** @description Response when creating a secret */ 201: { content: { - "application/json": components["schemas"]["reaction"]; + "application/json": components["schemas"]["empty-object"]; }; }; + /** @description Response when updating a secret */ + 204: never; }; }; - "reactions/delete-for-team-discussion": { + "codespaces/delete-repo-secret": { /** - * Delete team discussion reaction - * @description **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id`. - * - * Delete a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * Delete a repository secret + * @description Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `codespaces_secrets` repository permission to use this endpoint. */ responses: { /** @description Response */ 204: never; }; }; - "teams/list-pending-invitations-in-org": { + "repos/list-collaborators": { /** - * List pending team invitations - * @description The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + * List repository collaborators + * @description For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * Organization members with write, maintain, or admin privileges on the organization-owned repository can use this endpoint. * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/invitations`. - */ - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["organization-invitation"])[]; - }; - }; - }; - }; - "teams/list-members-in-org": { - /** - * List team members - * @description Team members will include the members of child teams. + * Team members will include the members of child teams. * - * To list members in a team, the team must be visible to the authenticated user. + * You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this + * endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this + * endpoint. */ parameters?: { - /** @description Filters members returned by their role in the team. */ + /** @description Filter collaborators returned by their affiliation. `outside` means all outside collaborators of an organization-owned repository. `direct` means all collaborators with permissions to an organization-owned repository, regardless of organization membership status. `all` means all collaborators the authenticated user can see. */ + /** @description Filter collaborators by the permissions they have on the repository. If not specified, all collaborators will be returned. */ query?: { - role?: "member" | "maintainer" | "all"; + affiliation?: "outside" | "direct" | "all"; + permission?: "pull" | "triage" | "push" | "maintain" | "admin"; }; }; responses: { @@ -88375,460 +94775,455 @@ export interface operations { Link: components["headers"]["link"]; }; content: { - "application/json": (components["schemas"]["simple-user"])[]; + "application/json": (components["schemas"]["collaborator"])[]; }; }; + 404: components["responses"]["not_found"]; }; }; - "teams/get-membership-for-user-in-org": { + "repos/check-collaborator": { /** - * Get team membership for a user - * @description Team members will include the members of child teams. - * - * To get a user's membership with a team, the team must be visible to the authenticated user. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/memberships/{username}`. + * Check if a user is a repository collaborator + * @description For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. * - * **Note:** - * The response contains the `state` of the membership and the member's `role`. + * Team members will include the members of child teams. * - * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team). + * You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this + * endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this + * endpoint. */ responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-membership"]; - }; - }; - /** @description if user has no team membership */ + /** @description Response if user is a collaborator */ + 204: never; + /** @description Not Found if user is not a collaborator */ 404: never; }; }; - "teams/add-or-update-membership-for-user-in-org": { + "repos/add-collaborator": { /** - * Add or update team membership for a user - * @description Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Add a repository collaborator + * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. * - * Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team. + * Adding an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * For more information on permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". There are restrictions on which permissions can be granted to organization members when an organization base role is in place. In this case, the permission being given must be equal to or higher than the org base permission. Otherwise, the request will fail with: * - * An organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the "pending" state until the person accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. + * ``` + * Cannot assign {member} permission of {role name} + * ``` * - * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/memberships/{username}`. + * The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [repository invitations API endpoints](https://docs.github.com/rest/reference/repos#invitations). + * + * **Updating an existing collaborator's permission level** + * + * The endpoint can also be used to change the permissions of an existing collaborator without first removing and re-adding the collaborator. To change the permissions, use the same endpoint and pass a different `permission` parameter. The response will be a `204`, with no other indication that the permission level changed. + * + * **Rate limits** + * + * You are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository. */ requestBody?: { content: { "application/json": { /** - * @description The role that this user should have in the team. - * @default member - * @enum {string} + * @description The permission to grant the collaborator. **Only valid on organization-owned repositories.** We accept the following permissions to be set: `pull`, `triage`, `push`, `maintain`, `admin` and you can also specify a custom repository role name, if the owning organization has defined any. + * @default push */ - role?: "member" | "maintainer"; + permission?: string; }; }; }; responses: { - /** @description Response */ - 200: { + /** @description Response when a new invitation is created */ + 201: { content: { - "application/json": components["schemas"]["team-membership"]; + "application/json": components["schemas"]["repository-invitation"]; }; }; - /** @description Forbidden if team synchronization is set up */ - 403: never; - /** @description Unprocessable Entity if you attempt to add an organization to a team */ - 422: never; + /** + * @description Response when: + * - an existing collaborator is added as a collaborator + * - an organization member is added as an individual collaborator + * - an existing team member (whose team is also a repository collaborator) is added as an individual collaborator + */ + 204: never; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; }; }; - "teams/remove-membership-for-user-in-org": { - /** - * Remove team membership for a user - * @description Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/memberships/{username}`. - */ + "repos/remove-collaborator": { + /** Remove a repository collaborator */ responses: { /** @description Response */ 204: never; - /** @description Forbidden if team synchronization is set up */ - 403: never; }; }; - "teams/list-projects-in-org": { + "repos/get-collaborator-permission-level": { /** - * List team projects - * @description Lists the organization projects for a team. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects`. + * Get repository permissions for a user + * @description Checks the repository permission of a collaborator. The possible repository permissions are `admin`, `write`, `read`, and `none`. */ responses: { - /** @description Response */ + /** @description if user has admin permissions */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": (components["schemas"]["team-project"])[]; + "application/json": components["schemas"]["repository-collaborator-permission"]; }; }; + 404: components["responses"]["not_found"]; }; }; - "teams/check-permissions-for-project-in-org": { + "repos/list-commit-comments-for-repo": { /** - * Check team permissions for a project - * @description Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. + * List commit comments for a repository + * @description Commit Comments use [these custom media types](https://docs.github.com/rest/reference/repos#custom-media-types). You can read more about the use of media types in the API [here](https://docs.github.com/rest/overview/media-types/). * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + * Comments are ordered by ascending ID. */ responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["team-project"]; + "application/json": (components["schemas"]["commit-comment"])[]; }; }; - /** @description Not Found if project is not managed by this team */ - 404: never; }; }; - "teams/add-or-update-project-permissions-in-org": { - /** - * Add or update team project permissions - * @description Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/projects/{project_id}`. - */ - requestBody?: { - content: { - "application/json": OneOf<[{ - /** - * @description The permission to grant to the team for this project. Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - * @enum {string} - */ - permission?: "read" | "write" | "admin"; - }, null]>; - }; - }; + "repos/get-commit-comment": { + /** Get a commit comment */ responses: { /** @description Response */ - 204: never; - /** @description Forbidden if the project is not owned by the organization */ - 403: { + 200: { content: { - "application/json": { - message?: string; - documentation_url?: string; - }; + "application/json": components["schemas"]["commit-comment"]; }; }; + 404: components["responses"]["not_found"]; }; }; - "teams/remove-project-in-org": { - /** - * Remove a project from a team - * @description Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. This endpoint removes the project from the team, but does not delete the project. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/projects/{project_id}`. - */ + "repos/delete-commit-comment": { + /** Delete a commit comment */ responses: { /** @description Response */ 204: never; + 404: components["responses"]["not_found"]; }; }; - "teams/list-repos-in-org": { - /** - * List team repositories - * @description Lists a team's repositories visible to the authenticated user. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos`. - */ + "repos/update-commit-comment": { + /** Update a commit comment */ + requestBody: { + content: { + "application/json": { + /** @description The contents of the comment */ + body: string; + }; + }; + }; responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": (components["schemas"]["minimal-repository"])[]; + "application/json": components["schemas"]["commit-comment"]; }; }; + 404: components["responses"]["not_found"]; }; }; - "teams/check-permissions-for-repo-in-org": { + "reactions/list-for-commit-comment": { /** - * Check team permissions for a repository - * @description Checks whether a team has `admin`, `push`, `maintain`, `triage`, or `pull` permission for a repository. Repositories inherited through a parent team will also be checked. - * - * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `application/vnd.github.v3.repository+json` accept header. - * - * If a team doesn't have permission for the repository, you will receive a `404 Not Found` response status. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + * List reactions for a commit comment + * @description List the reactions to a [commit comment](https://docs.github.com/rest/reference/repos#comments). */ + parameters?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a commit comment. */ + query?: { + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; responses: { - /** @description Alternative response with repository permissions */ + /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["team-repository"]; + "application/json": (components["schemas"]["reaction"])[]; }; }; - /** @description Response if team has permission for the repository. This is the response when the repository media type hasn't been provded in the Accept header. */ - 204: never; - /** @description Not Found if team does not have permission for the repository */ - 404: never; + 404: components["responses"]["not_found"]; }; }; - "teams/add-or-update-repo-permissions-in-org": { + "reactions/create-for-commit-comment": { /** - * Add or update team repository permissions - * @description To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. - * - * For more information about the permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". + * Create reaction for a commit comment + * @description Create a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments). A response with an HTTP `200` status means that you already added the reaction type to this commit comment. */ - requestBody?: { + requestBody: { content: { "application/json": { /** - * @description The permission to grant the team on this repository. We accept the following permissions to be set: `pull`, `triage`, `push`, `maintain`, `admin` and you can also specify a custom repository role name, if the owning organization has defined any. If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. - * @default push + * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the commit comment. + * @enum {string} */ - permission?: string; + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; }; }; }; responses: { - /** @description Response */ - 204: never; + /** @description Reaction exists */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Reaction created */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; }; }; - "teams/remove-repo-in-org": { + "reactions/delete-for-commit-comment": { /** - * Remove a repository from a team - * @description If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team. + * Delete a commit comment reaction + * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`. * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + * Delete a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments). */ responses: { /** @description Response */ 204: never; }; }; - "teams/list-child-in-org": { + "repos/list-commits": { /** - * List child teams - * @description Lists the child teams of the team specified by `{team_slug}`. + * List commits + * @description **Signature verification object** * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`. + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | */ + parameters?: { + /** @description SHA or branch to start listing commits from. Default: the repository’s default branch (usually `master`). */ + /** @description Only commits containing this file path will be returned. */ + /** @description GitHub login or email address by which to filter by commit author. */ + /** @description Only commits before this date will be returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + query?: { + sha?: string; + path?: string; + author?: string; + until?: string; + }; + }; responses: { - /** @description if child teams exist */ + /** @description Response */ 200: { headers: { Link: components["headers"]["link"]; }; content: { - "application/json": (components["schemas"]["team"])[]; + "application/json": (components["schemas"]["commit"])[]; }; }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 500: components["responses"]["internal_error"]; }; }; - "orgs/enable-or-disable-security-product-on-all-org-repos": { + "repos/list-branches-for-head-commit": { /** - * Enable or disable a security feature for an organization - * @description Enables or disables the specified security feature for all repositories in an organization. - * - * To use this endpoint, you must be an organization owner or be member of a team with the security manager role. - * A token with the 'write:org' scope is also required. - * - * GitHub Apps must have the `organization_administration:write` permission to use this endpoint. + * List branches for HEAD commit + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch. */ - responses: { - /** @description Action started */ - 204: never; - /** @description The action could not be taken due to an in progress enablement, or a policy is preventing enablement */ - 422: never; - }; - }; - "projects/get-card": { - /** Get a project card */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["project-card"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "projects/delete-card": { - /** Delete a project card */ - responses: { - /** @description Response */ - 204: never; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - /** @description Forbidden */ - 403: { - content: { - "application/json": { - message?: string; - documentation_url?: string; - errors?: (string)[]; - }; + "application/json": (components["schemas"]["branch-short"])[]; }; }; - 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - "projects/update-card": { - /** Update an existing project card */ - requestBody?: { - content: { - "application/json": { - /** @description The project card's note */ - note?: OneOf<[string, null]>; - /** @description Whether or not the card is archived */ - archived?: boolean; - }; - }; - }; + "repos/list-comments-for-commit": { + /** + * List commit comments + * @description Use the `:commit_sha` to specify the commit that will have its comments listed. + */ responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["project-card"]; + "application/json": (components["schemas"]["commit-comment"])[]; }; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; }; }; - "projects/move-card": { - /** Move a project card */ + "repos/create-commit-comment": { + /** + * Create a commit comment + * @description Create a comment for a commit using its `:commit_sha`. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ requestBody: { content: { "application/json": { - /** @description The position of the card in a column. Can be one of: `top`, `bottom`, or `after:` to place after the specified card. */ - position: string; - /** @description The unique identifier of the column the card should be moved to */ - column_id?: number; + /** @description The contents of the comment. */ + body: string; + /** @description Relative path of the file to comment on. */ + path?: string; + /** @description Line index in the diff to comment on. */ + position?: number; + /** @description **Deprecated**. Use **position** parameter instead. Line number in the file to comment on. */ + line?: number; }; }; }; responses: { /** @description Response */ 201: { - content: { - "application/json": Record; + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/comments/1 */ + Location?: string; }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - /** @description Forbidden */ - 403: { content: { - "application/json": { - message?: string; - documentation_url?: string; - errors?: ({ - code?: string; - message?: string; - resource?: string; - field?: string; - })[]; - }; + "application/json": components["schemas"]["commit-comment"]; }; }; + 403: components["responses"]["forbidden"]; 422: components["responses"]["validation_failed"]; - /** @description Response */ - 503: { - content: { - "application/json": { - code?: string; - message?: string; - documentation_url?: string; - errors?: ({ - code?: string; - message?: string; - })[]; - }; - }; - }; }; }; - "projects/get-column": { - /** Get a project column */ + "repos/list-pull-requests-associated-with-commit": { + /** + * List pull requests associated with a commit + * @description Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, additionally returns open pull requests associated with the commit. The results only include open pull requests. + */ responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["project-column"]; + "application/json": (components["schemas"]["pull-request-simple"])[]; }; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "projects/delete-column": { - /** Delete a project column */ - responses: { - /** @description Response */ - 204: never; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; }; }; - "projects/update-column": { - /** Update an existing project column */ - requestBody: { - content: { - "application/json": { - /** @description Name of the project column */ - name: string; - }; + "repos/get-commit": { + /** + * Get a commit + * @description Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint. + * + * **Note:** If there are more than 300 files in the commit diff, the response will include pagination link headers for the remaining files, up to a limit of 3000 files. Each page contains the static commit information, and the only changes are to the file listing. + * + * You can pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch `diff` and `patch` formats. Diffs with binary data will have no `patch` property. + * + * To return only the SHA-1 hash of the commit reference, you can provide the `sha` custom [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) in the `Accept` header. You can use this endpoint to check if a remote reference's SHA-1 hash is the same as your local reference's SHA-1 hash by providing the local SHA-1 reference as the ETag. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + parameters: { + /** @description ref parameter */ + path: { + ref: string; }; }; responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["project-column"]; + "application/json": components["schemas"]["commit"]; }; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; }; }; - "projects/list-cards": { - /** List project cards */ - parameters?: { - /** @description Filters the project cards that are returned by the card's state. */ + "checks/list-for-ref": { + /** + * List check runs for a Git reference + * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Lists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. + */ + parameters: { + /** @description Filters check runs by their `completed_at` timestamp. `latest` returns the most recent check runs. */ query?: { - archived_state?: "all" | "archived" | "not_archived"; + filter?: "latest" | "all"; + app_id?: number; + }; + /** @description ref parameter */ + path: { + ref: string; }; }; responses: { @@ -88838,526 +95233,480 @@ export interface operations { Link: components["headers"]["link"]; }; content: { - "application/json": (components["schemas"]["project-card"])[]; + "application/json": { + total_count: number; + check_runs: (components["schemas"]["check-run"])[]; + }; }; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; }; }; - "projects/create-card": { - /** Create a project card */ - requestBody: { - content: { - "application/json": OneOf<[{ - /** @description The project card's note */ - note: OneOf<[string, null]>; - }, { - /** @description The unique identifier of the content associated with the card */ - content_id: number; - /** @description The piece of content associated with the card */ - content_type: string; - }]>; + "checks/list-suites-for-ref": { + /** + * List check suites for a Git reference + * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to list check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository. + */ + parameters: { + /** + * @description Filters check suites by GitHub App `id`. + * @example 1 + */ + query?: { + app_id?: number; + }; + /** @description ref parameter */ + path: { + ref: string; }; }; responses: { /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["project-card"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - /** @description Validation failed */ - 422: { - content: { - "application/json": components["schemas"]["validation-error"] | components["schemas"]["validation-error-simple"]; + 200: { + headers: { + Link: components["headers"]["link"]; }; - }; - /** @description Response */ - 503: { content: { "application/json": { - code?: string; - message?: string; - documentation_url?: string; - errors?: ({ - code?: string; - message?: string; - })[]; + total_count: number; + check_suites: (components["schemas"]["check-suite"])[]; }; }; }; }; }; - "projects/move-column": { - /** Move a project column */ - requestBody: { - content: { - "application/json": { - /** @description The position of the column in a project. Can be one of: `first`, `last`, or `after:` to place after the specified column. */ - position: string; - }; + "repos/get-combined-status-for-ref": { + /** + * Get the combined status for a specific reference + * @description Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. + * + * + * Additionally, a combined `state` is returned. The `state` is one of: + * + * * **failure** if any of the contexts report as `error` or `failure` + * * **pending** if there are no statuses or a context is `pending` + * * **success** if the latest status for all contexts is `success` + */ + parameters: { + /** @description ref parameter */ + path: { + ref: string; }; }; responses: { /** @description Response */ - 201: { + 200: { content: { - "application/json": Record; + "application/json": components["schemas"]["combined-commit-status"]; }; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed_simple"]; + 404: components["responses"]["not_found"]; }; }; - "projects/get": { + "repos/list-commit-statuses-for-ref": { /** - * Get a project - * @description Gets a project by its `id`. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + * List commit statuses for a reference + * @description Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one. + * + * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`. */ + parameters: { + /** @description ref parameter */ + path: { + ref: string; + }; + }; responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["project"]; + "application/json": (components["schemas"]["status"])[]; }; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; + 301: components["responses"]["moved_permanently"]; }; }; - "projects/delete": { + "repos/get-community-profile-metrics": { /** - * Delete a project - * @description Deletes a project board. Returns a `404 Not Found` status if projects are disabled. + * Get community profile metrics + * @description Returns all community profile metrics for a repository. The repository must be public, and cannot be a fork. + * + * The returned metrics include an overall health score, the repository description, the presence of documentation, the + * detected code of conduct, the detected license, and the presence of ISSUE\_TEMPLATE, PULL\_REQUEST\_TEMPLATE, + * README, and CONTRIBUTING files. + * + * The `health_percentage` score is defined as a percentage of how many of + * these four documents are present: README, CONTRIBUTING, LICENSE, and + * CODE_OF_CONDUCT. For example, if all four documents are present, then + * the `health_percentage` is `100`. If only one is present, then the + * `health_percentage` is `25`. + * + * `content_reports_enabled` is only returned for organization-owned repositories. */ responses: { - /** @description Delete Success */ - 204: never; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - /** @description Forbidden */ - 403: { + /** @description Response */ + 200: { content: { - "application/json": { - message?: string; - documentation_url?: string; - errors?: (string)[]; - }; + "application/json": components["schemas"]["community-profile"]; }; }; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; }; }; - "projects/update": { + "repos/compare-commits": { /** - * Update a project - * @description Updates a project board's information. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + * Compare two commits + * @description The `basehead` param is comprised of two parts separated by triple dots: `{base}...{head}`. Both must be branch names in `repo`. To compare branches across other repositories in the same network as `repo`, use the format `:branch`. + * + * The response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + * + * The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. + * + * **Working with large comparisons** + * + * To process a response with a large number of commits, you can use (`per_page` or `page`) to paginate the results. When using paging, the list of changed files is only returned with page 1, but includes all changed files for the entire comparison. For more information on working with pagination, see "[Traversing with pagination](/rest/guides/traversing-with-pagination)." + * + * When calling this API without any paging parameters (`per_page` or `page`), the returned list is limited to 250 commits and the last commit in the list is the most recent of the entire comparison. When a paging parameter is specified, the first commit in the returned list of each page is the earliest. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | */ - requestBody?: { - content: { - "application/json": { - /** @description Name of the project */ - name?: string; - /** @description Body of the project */ - body?: OneOf<[string, null]>; - /** @description State of the project; either 'open' or 'closed' */ - state?: string; - /** - * @description The baseline permission that all organization members have on this project - * @enum {string} - */ - organization_permission?: "read" | "write" | "admin" | "none"; - /** @description Whether or not this project can be seen by everyone. */ - private?: boolean; - }; + parameters: { + /** @description The base branch and head branch to compare. This parameter expects the format `{base}...{head}`. */ + path: { + basehead: string; }; }; responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["project"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - /** @description Forbidden */ - 403: { - content: { - "application/json": { - message?: string; - documentation_url?: string; - errors?: (string)[]; - }; + "application/json": components["schemas"]["commit-comparison"]; }; }; - /** @description Not Found if the authenticated user does not have access to the project */ - 404: never; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed_simple"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; }; }; - "projects/list-collaborators": { + "repos/get-content": { /** - * List project collaborators - * @description Lists the collaborators for an organization project. For a project, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. You must be an organization owner or a project `admin` to list collaborators. + * Get repository content + * @description Gets the contents of a file or directory in a repository. Specify the file path or directory in `:path`. If you omit + * `:path`, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories. + * + * Files and symlinks support [a custom media type](https://docs.github.com/rest/reference/repos#custom-media-types) for + * retrieving the raw content or rendered HTML (when supported). All content types support [a custom media + * type](https://docs.github.com/rest/reference/repos#custom-media-types) to ensure the content is returned in a consistent + * object format. + * + * **Notes**: + * * To get a repository's contents recursively, you can [recursively get the tree](https://docs.github.com/rest/reference/git#trees). + * * This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the [Git Trees + * API](https://docs.github.com/rest/reference/git#get-a-tree). + * * Download URLs expire and are meant to be used just once. To ensure the download URL does not expire, please use the contents API to obtain a fresh download URL for each download. + * #### Size limits + * If the requested file's size is: + * * 1 MB or smaller: All features of this endpoint are supported. + * * Between 1-100 MB: Only the `raw` or `object` [custom media types](https://docs.github.com/rest/repos/contents#custom-media-types-for-repository-contents) are supported. Both will work as normal, except that when using the `object` media type, the `content` field will be an empty string and the `encoding` field will be `"none"`. To get the contents of these larger files, use the `raw` media type. + * * Greater than 100 MB: This endpoint is not supported. + * + * #### If the content is a directory + * The response will be an array of objects, one object for each item in the directory. + * When listing the contents of a directory, submodules have their "type" specified as "file". Logically, the value + * _should_ be "submodule". This behavior exists in API v3 [for backwards compatibility purposes](https://git.io/v1YCW). + * In the next major version of the API, the type will be returned as "submodule". + * + * #### If the content is a symlink + * If the requested `:path` points to a symlink, and the symlink's target is a normal file in the repository, then the + * API responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object + * describing the symlink itself. + * + * #### If the content is a submodule + * The `submodule_git_url` identifies the location of the submodule repository, and the `sha` identifies a specific + * commit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out + * the submodule at that specific commit. + * + * If the submodule repository is not hosted on github.com, the Git URLs (`git_url` and `_links["git"]`) and the + * github.com URLs (`html_url` and `_links["html"]`) will have null values. */ - parameters?: { - /** @description Filters the collaborators by their affiliation. `outside` means outside collaborators of a project that are not a member of the project's organization. `direct` means collaborators with permissions to a project, regardless of organization membership status. `all` means all collaborators the authenticated user can see. */ + parameters: { + /** @description The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) */ query?: { - affiliation?: "outside" | "direct" | "all"; + ref?: string; + }; + /** @description path parameter */ + path: { + path: string; }; }; responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": (components["schemas"]["simple-user"])[]; + "application/vnd.github.object": components["schemas"]["content-tree"]; + "application/json": components["schemas"]["content-directory"] | components["schemas"]["content-file"] | components["schemas"]["content-symlink"] | components["schemas"]["content-submodule"]; }; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; + 302: components["responses"]["found"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; }; }; - "projects/add-collaborator": { + "repos/create-or-update-file-contents": { /** - * Add project collaborator - * @description Adds a collaborator to an organization project and sets their permission level. You must be an organization owner or a project `admin` to add a collaborator. + * Create or update file contents + * @description Creates a new file or replaces an existing file in a repository. You must authenticate using an access token with the `workflow` scope to use this endpoint. + * + * **Note:** If you use this endpoint and the "[Delete a file](https://docs.github.com/rest/reference/repos/#delete-file)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. */ - requestBody?: { - content: { - "application/json": OneOf<[{ - /** - * @description The permission to grant the collaborator. - * @default write - * @enum {string} - */ - permission?: "read" | "write" | "admin"; - }, null]>; + parameters: { + /** @description path parameter */ + path: { + path: string; }; }; - responses: { - /** @description Response */ - 204: never; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "projects/remove-collaborator": { - /** - * Remove user as a collaborator - * @description Removes a collaborator from an organization project. You must be an organization owner or a project `admin` to remove a collaborator. - */ - responses: { - /** @description Response */ - 204: never; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; + requestBody: { + content: { + "application/json": { + /** @description The commit message. */ + message: string; + /** @description The new file content, using Base64 encoding. */ + content: string; + /** @description **Required if you are updating a file**. The blob SHA of the file being replaced. */ + sha?: string; + /** @description The branch name. Default: the repository’s default branch (usually `master`) */ + branch?: string; + /** @description The person that committed the file. Default: the authenticated user. */ + committer?: { + /** @description The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. */ + name: string; + /** @description The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. */ + email: string; + date?: string; + }; + /** @description The author of the file. Default: The `committer` or the authenticated user if you omit `committer`. */ + author?: { + /** @description The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. */ + name: string; + /** @description The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. */ + email: string; + date?: string; + }; + }; + }; }; - }; - "projects/get-permission-for-user": { - /** - * Get project permission for a user - * @description Returns the collaborator's permission level for an organization project. Possible values for the `permission` key: `admin`, `write`, `read`, `none`. You must be an organization owner or a project `admin` to review a user's permission level. - */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["project-collaborator-permission"]; + "application/json": components["schemas"]["file-commit"]; }; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "projects/list-columns": { - /** List project columns */ - responses: { /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; + 201: { content: { - "application/json": (components["schemas"]["project-column"])[]; + "application/json": components["schemas"]["file-commit"]; }; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; }; }; - "projects/create-column": { - /** Create a project column */ + "repos/delete-file": { + /** + * Delete a file + * @description Deletes a file in a repository. + * + * You can provide an additional `committer` parameter, which is an object containing information about the committer. Or, you can provide an `author` parameter, which is an object containing information about the author. + * + * The `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used. + * + * You must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code. + * + * **Note:** If you use this endpoint and the "[Create or update file contents](https://docs.github.com/rest/reference/repos/#create-or-update-file-contents)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. + */ + parameters: { + /** @description path parameter */ + path: { + path: string; + }; + }; requestBody: { content: { "application/json": { - /** @description Name of the project column */ - name: string; + /** @description The commit message. */ + message: string; + /** @description The blob SHA of the file being deleted. */ + sha: string; + /** @description The branch name. Default: the repository’s default branch (usually `master`) */ + branch?: string; + /** @description object containing information about the committer. */ + committer?: { + /** @description The name of the author (or committer) of the commit */ + name?: string; + /** @description The email of the author (or committer) of the commit */ + email?: string; + }; + /** @description object containing information about the author. */ + author?: { + /** @description The name of the author (or committer) of the commit */ + name?: string; + /** @description The email of the author (or committer) of the commit */ + email?: string; + }; }; }; }; responses: { /** @description Response */ - 201: { + 200: { content: { - "application/json": components["schemas"]["project-column"]; + "application/json": components["schemas"]["file-commit"]; }; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed_simple"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; }; }; - "rate-limit/get": { + "repos/list-contributors": { /** - * Get rate limit status for the authenticated user - * @description **Note:** Accessing this endpoint does not count against your REST API rate limit. + * List repository contributors + * @description Lists contributors to the specified repository and sorts them by the number of commits per contributor in descending order. This endpoint may return information that is a few hours old because the GitHub REST API caches contributor data to improve performance. * - * **Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. + * GitHub identifies contributors by author email address. This endpoint groups contribution counts by GitHub user, which includes all associated email addresses. To improve performance, only the first 500 author email addresses in the repository link to GitHub users. The rest will appear as anonymous contributors without associated GitHub user information. */ + parameters?: { + /** @description Set to `1` or `true` to include anonymous contributors in results. */ + query?: { + anon?: string; + }; + }; responses: { - /** @description Response */ + /** @description if repository contains content */ 200: { headers: { - "X-RateLimit-Limit": components["headers"]["x-rate-limit-limit"]; - "X-RateLimit-Remaining": components["headers"]["x-rate-limit-remaining"]; - "X-RateLimit-Reset": components["headers"]["x-rate-limit-reset"]; + Link: components["headers"]["link"]; }; content: { - "application/json": components["schemas"]["rate-limit-overview"]; + "application/json": (components["schemas"]["contributor"])[]; }; }; - 304: components["responses"]["not_modified"]; + /** @description Response if repository is empty */ + 204: never; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; }; }; - "repos/get": { + "dependabot/list-alerts-for-repo": { /** - * Get a repository - * @description The `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network. + * List Dependabot alerts for a repository + * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories. + * You can also use tokens with the `public_repo` scope for public repositories only. + * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. */ + parameters?: { + /** + * @deprecated + * @description **Deprecated**. Page number of the results to fetch. Use cursor-based pagination with `before` or `after` instead. + */ + /** + * @deprecated + * @description **Deprecated**. The number of results per page (max 100). Use cursor-based pagination with `first` or `last` instead. + */ + query?: { + page?: number; + per_page?: number; + }; + }; responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["full-repository"]; + "application/json": (components["schemas"]["dependabot-alert"])[]; }; }; - 301: components["responses"]["moved_permanently"]; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["bad_request"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; }; }; - "repos/delete": { + "dependabot/get-alert": { /** - * Delete a repository - * @description Deleting a repository requires admin access. If OAuth is used, the `delete_repo` scope is required. - * - * If an organization owner has configured the organization to prevent members from deleting organization-owned - * repositories, you will get a `403 Forbidden` response. + * Get a Dependabot alert + * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories. + * You can also use tokens with the `public_repo` scope for public repositories only. + * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. */ responses: { /** @description Response */ - 204: never; - 307: components["responses"]["temporary_redirect"]; - /** @description If an organization owner has configured the organization to prevent members from deleting organization-owned repositories, a member will get this response: */ - 403: { + 200: { content: { - "application/json": { - message?: string; - documentation_url?: string; - }; + "application/json": components["schemas"]["dependabot-alert"]; }; }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; }; }; - "repos/update": { + "dependabot/update-alert": { /** - * Update a repository - * @description **Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/reference/repos#replace-all-repository-topics) endpoint. + * Update a Dependabot alert + * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories. + * You can also use tokens with the `public_repo` scope for public repositories only. + * GitHub Apps must have **Dependabot alerts** write permission to use this endpoint. */ - requestBody?: { + requestBody: { content: { "application/json": { - /** @description The name of the repository. */ - name?: string; - /** @description A short description of the repository. */ - description?: string; - /** @description A URL with more information about the repository. */ - homepage?: string; - /** - * @description Either `true` to make the repository private or `false` to make it public. Default: `false`. - * **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://docs.github.com/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private. - * @default false - */ - private?: boolean; - /** - * @description Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`." - * @enum {string} - */ - visibility?: "public" | "private" | "internal"; - /** - * @description Specify which security and analysis features to enable or disable for the repository. - * - * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * For example, to enable GitHub Advanced Security, use this data in the body of the `PATCH` request: - * `{ "security_and_analysis": {"advanced_security": { "status": "enabled" } } }`. - * - * You can check which security and analysis features are currently enabled by using a `GET /repos/{owner}/{repo}` request. - */ - security_and_analysis?: OneOf<[{ - /** @description Use the `status` property to enable or disable GitHub Advanced Security for this repository. For more information, see "[About GitHub Advanced Security](/github/getting-started-with-github/learning-about-github/about-github-advanced-security)." */ - advanced_security?: { - /** @description Can be `enabled` or `disabled`. */ - status?: string; - }; - /** @description Use the `status` property to enable or disable secret scanning for this repository. For more information, see "[About secret scanning](/code-security/secret-security/about-secret-scanning)." */ - secret_scanning?: { - /** @description Can be `enabled` or `disabled`. */ - status?: string; - }; - /** @description Use the `status` property to enable or disable secret scanning push protection for this repository. For more information, see "[Protecting pushes with secret scanning](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)." */ - secret_scanning_push_protection?: { - /** @description Can be `enabled` or `disabled`. */ - status?: string; - }; - }, null]>; - /** - * @description Either `true` to enable issues for this repository or `false` to disable them. - * @default true - */ - has_issues?: boolean; - /** - * @description Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. - * @default true - */ - has_projects?: boolean; - /** - * @description Either `true` to enable the wiki for this repository or `false` to disable it. - * @default true - */ - has_wiki?: boolean; - /** - * @description Either `true` to make this repo available as a template repository or `false` to prevent it. - * @default false - */ - is_template?: boolean; - /** @description Updates the default branch for this repository. */ - default_branch?: string; - /** - * @description Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. - * @default true - */ - allow_squash_merge?: boolean; - /** - * @description Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Either `true` to allow auto-merge on pull requests, or `false` to disallow auto-merge. - * @default false - */ - allow_auto_merge?: boolean; - /** - * @description Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. - * @default false - */ - delete_branch_on_merge?: boolean; - /** - * @description Either `true` to always allow a pull request head branch that is behind its base branch to be updated even if it is not required to be up to date before merging, or false otherwise. - * @default false - */ - allow_update_branch?: boolean; - /** - * @deprecated - * @description Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @description The state of the Dependabot alert. + * A `dismissed_reason` must be provided when setting the state to `dismissed`. * @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + state: "dismissed" | "open"; /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. + * @description **Required when `state` is `dismissed`.** A reason for dismissing the alert. * @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description `true` to archive this repository. **Note**: You cannot unarchive repositories through the API. - * @default false - */ - archived?: boolean; - /** - * @description Either `true` to allow private forks, or `false` to prevent private forks. - * @default false - */ - allow_forking?: boolean; - /** - * @description Either `true` to require contributors to sign off on web-based commits, or `false` to not require contributors to sign off on web-based commits. - * @default false - */ - web_commit_signoff_required?: boolean; + dismissed_reason?: "fix_started" | "inaccurate" | "no_bandwidth" | "not_used" | "tolerable_risk"; + /** @description An optional comment associated with dismissing the alert. */ + dismissed_comment?: string; }; }; }; @@ -89365,26 +95714,21 @@ export interface operations { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["full-repository"]; + "application/json": components["schemas"]["dependabot-alert"]; }; }; - 307: components["responses"]["temporary_redirect"]; + 400: components["responses"]["bad_request"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed_simple"]; }; }; - "actions/list-artifacts-for-repo": { + "dependabot/list-repo-secrets": { /** - * List artifacts for a repository - * @description Lists all artifacts for a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * List repository secrets + * @description Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */ - parameters?: { - /** @description Filters artifacts by exact match on their name field. */ - query?: { - name?: string; - }; - }; responses: { /** @description Response */ 200: { @@ -89394,703 +95738,950 @@ export interface operations { content: { "application/json": { total_count: number; - artifacts: (components["schemas"]["artifact"])[]; + secrets: (components["schemas"]["dependabot-secret"])[]; }; }; }; }; }; - "actions/get-artifact": { + "dependabot/get-repo-public-key": { /** - * Get an artifact - * @description Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * Get a repository public key + * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["artifact"]; + "application/json": components["schemas"]["dependabot-public-key"]; }; }; }; }; - "actions/delete-artifact": { - /** - * Delete an artifact - * @description Deletes an artifact for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - responses: { - /** @description Response */ - 204: never; - }; - }; - "actions/download-artifact": { - /** - * Download an artifact - * @description Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in - * the response header to find the URL for the download. The `:archive_format` must be `zip`. Anyone with read access to - * the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. - * GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - parameters: { - path: { - archive_format: string; - }; - }; - responses: { - /** @description Response */ - 302: never; - 410: components["responses"]["gone"]; - }; - }; - "actions/get-actions-cache-usage": { + "dependabot/get-repo-secret": { /** - * Get GitHub Actions cache usage for a repository - * @description Gets GitHub Actions cache usage for a repository. - * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * Get a repository secret + * @description Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["actions-cache-usage-by-repository"]; + "application/json": components["schemas"]["dependabot-secret"]; }; }; }; }; - "actions/get-actions-cache-list": { + "dependabot/create-or-update-repo-secret": { /** - * List GitHub Actions caches for a repository - * @description Lists the GitHub Actions caches for a repository. - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions:read` permission to use this endpoint. + * Create or update a repository secret + * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository + * permission to use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [libsodium-wrappers](https://www.npmjs.com/package/libsodium-wrappers) library. + * + * ``` + * const sodium = require('libsodium-wrappers') + * const secret = 'plain-text-secret' // replace with the secret you want to encrypt + * const key = 'base64-encoded-public-key' // replace with the Base64 encoded public key + * + * //Check if libsodium is ready and then proceed. + * sodium.ready.then(() => { + * // Convert Secret & Base64 key to Uint8Array. + * let binkey = sodium.from_base64(key, sodium.base64_variants.ORIGINAL) + * let binsec = sodium.from_string(secret) + * + * //Encrypt the secret using LibSodium + * let encBytes = sodium.crypto_box_seal(binsec, binkey) + * + * // Convert encrypted Uint8Array to Base64 + * let output = sodium.to_base64(encBytes, sodium.base64_variants.ORIGINAL) + * + * console.log(output) + * }); + * ``` + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` */ - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["actions-cache-list"]; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/reference/dependabot#get-a-repository-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; }; }; }; - }; - "actions/delete-actions-cache-by-key": { - /** - * Delete GitHub Actions caches for a repository (using a cache key) - * @description Deletes one or more GitHub Actions caches for a repository, using a complete cache key. By default, all caches that match the provided key are deleted, but you can optionally provide a Git ref to restrict deletions to caches that match both the provided key and the Git ref. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * - * GitHub Apps must have the `actions:write` permission to use this endpoint. - */ responses: { - /** @description Response */ - 200: { + /** @description Response when creating a secret */ + 201: { content: { - "application/json": components["schemas"]["actions-cache-list"]; + "application/json": components["schemas"]["empty-object"]; }; }; + /** @description Response when updating a secret */ + 204: never; }; }; - "actions/delete-actions-cache-by-id": { + "dependabot/delete-repo-secret": { /** - * Delete a GitHub Actions cache for a repository (using a cache ID) - * @description Deletes a GitHub Actions cache for a repository, using a cache ID. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * - * GitHub Apps must have the `actions:write` permission to use this endpoint. + * Delete a repository secret + * @description Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */ responses: { /** @description Response */ 204: never; }; }; - "actions/get-job-for-workflow-run": { + "dependency-graph/diff-range": { /** - * Get a job for a workflow run - * @description Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * Get a diff of the dependencies between commits + * @description Gets the diff of the dependency changes between two commits of a repository, based on the changes to the dependency manifests made in those commits. */ + parameters: { + /** @description The base and head Git revisions to compare. The Git revisions will be resolved to commit SHAs. Named revisions will be resolved to their corresponding HEAD commits, and an appropriate merge base will be determined. This parameter expects the format `{base}...{head}`. */ + path: { + basehead: string; + }; + }; responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["job"]; + "application/json": components["schemas"]["dependency-graph-diff"]; }; }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; - "actions/download-job-logs-for-workflow-run": { - /** - * Download job logs for a workflow run - * @description Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look - * for `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can - * use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must - * have the `actions:read` permission to use this endpoint. - */ - responses: { - /** @description Response */ - 302: never; - }; - }; - "actions/re-run-job-for-workflow-run": { + "dependency-graph/create-repository-snapshot": { /** - * Re-run a job from a workflow run - * @description Re-run a job and its dependent jobs in a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + * Create a snapshot of dependencies for a repository + * @description Create a new snapshot of a repository's dependencies. You must authenticate using an access token with the `repo` scope to use this endpoint for a repository that the requesting user has access to. */ - requestBody?: { + requestBody: { content: { - "application/json": OneOf<[{ - /** - * @description Whether to enable debug logging for the re-run. - * @default false - */ - enable_debug_logging?: boolean; - }, null]>; + "application/json": components["schemas"]["snapshot"]; }; }; responses: { /** @description Response */ 201: { content: { - "application/json": components["schemas"]["empty-object"]; + "application/json": { + /** @description ID of the created snapshot. */ + id: number; + /** @description The time at which the snapshot was created. */ + created_at: string; + /** @description Either "SUCCESS", "ACCEPTED", or "INVALID". "SUCCESS" indicates that the snapshot was successfully created and the repository's dependencies were updated. "ACCEPTED" indicates that the snapshot was successfully created, but the repository's dependencies were not updated. "INVALID" indicates that the snapshot was malformed. */ + result: string; + /** @description A message providing further details about the result, such as why the dependencies were not updated. */ + message: string; + }; }; }; - 403: components["responses"]["forbidden"]; }; }; - "actions/get-github-actions-permissions-repository": { + "repos/list-deployments": { /** - * Get GitHub Actions permissions for a repository - * @description Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions and reusable workflows allowed to run in the repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + * List deployments + * @description Simple filtering of deployments is available via query parameters: */ + parameters?: { + /** @description The SHA recorded at creation time. */ + /** @description The name of the ref. This can be a branch, tag, or SHA. */ + /** @description The name of the task for the deployment (e.g., `deploy` or `deploy:migrations`). */ + /** @description The name of the environment that was deployed to (e.g., `staging` or `production`). */ + query?: { + sha?: string; + ref?: string; + task?: string; + environment?: OneOf<[string, null]>; + }; + }; responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["actions-repository-permissions"]; + "application/json": (components["schemas"]["deployment"])[]; }; }; }; }; - "actions/set-github-actions-permissions-repository": { + "repos/create-deployment": { /** - * Set GitHub Actions permissions for a repository - * @description Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions and reusable workflows in the repository. + * Create a deployment + * @description Deployments offer a few configurable parameters with certain defaults. * - * If the repository belongs to an organization or enterprise that has set restrictive permissions at the organization or enterprise levels, such as `allowed_actions` to `selected` actions and reusable workflows, then you cannot override them for the repository. + * The `ref` parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them + * before we merge a pull request. * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + * The `environment` parameter allows deployments to be issued to different runtime environments. Teams often have + * multiple environments for verifying their applications, such as `production`, `staging`, and `qa`. This parameter + * makes it easier to track which environments have requested deployments. The default environment is `production`. + * + * The `auto_merge` parameter is used to ensure that the requested ref is not behind the repository's default branch. If + * the ref _is_ behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds, + * the API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will + * return a failure response. + * + * By default, [commit statuses](https://docs.github.com/rest/commits/statuses) for every submitted context must be in a `success` + * state. The `required_contexts` parameter allows you to specify a subset of contexts that must be `success`, or to + * specify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do + * not require any contexts or create any commit statuses, the deployment will always succeed. + * + * The `payload` parameter is available for any extra information that a deployment system might need. It is a JSON text + * field that will be passed on when a deployment event is dispatched. + * + * The `task` parameter is used by the deployment system to allow different execution paths. In the web world this might + * be `deploy:migrations` to run schema changes on the system. In the compiled world this could be a flag to compile an + * application with debugging enabled. + * + * Users with `repo` or `repo_deployment` scopes can create a deployment for a given ref. + * + * #### Merged branch response + * You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating + * a deployment. This auto-merge happens when: + * * Auto-merge option is enabled in the repository + * * Topic branch does not include the latest changes on the base branch, which is `master` in the response example + * * There are no merge conflicts + * + * If there are no new commits in the base branch, a new request to create a deployment should give a successful + * response. + * + * #### Merge conflict response + * This error happens when the `auto_merge` option is enabled and when the default branch (in this case `master`), can't + * be merged into the branch that's being deployed (in this case `topic-branch`), due to merge conflicts. + * + * #### Failed commit status checks + * This error happens when the `required_contexts` parameter indicates that one or more contexts need to have a `success` + * status for the commit to be deployed, but one or more of the required contexts do not have a state of `success`. */ requestBody: { content: { "application/json": { - enabled: components["schemas"]["actions-enabled"]; - allowed_actions?: components["schemas"]["allowed-actions"]; + /** @description The ref to deploy. This can be a branch, tag, or SHA. */ + ref: string; + /** + * @description Specifies a task to execute (e.g., `deploy` or `deploy:migrations`). + * @default deploy + */ + task?: string; + /** + * @description Attempts to automatically merge the default branch into the requested ref, if it's behind the default branch. + * @default true + */ + auto_merge?: boolean; + /** @description The [status](https://docs.github.com/rest/commits/statuses) contexts to verify against commit status checks. If you omit this parameter, GitHub verifies all unique contexts before creating a deployment. To bypass checking entirely, pass an empty array. Defaults to all unique contexts. */ + required_contexts?: (string)[]; + payload?: OneOf<[{ + [key: string]: unknown | undefined; + }, string]>; + /** + * @description Name for the target deployment environment (e.g., `production`, `staging`, `qa`). + * @default production + */ + environment?: string; + /** + * @description Short description of the deployment. + * @default + */ + description?: OneOf<[string, null]>; + /** + * @description Specifies if the given environment is specific to the deployment and will no longer exist at some point in the future. Default: `false` + * @default false + */ + transient_environment?: boolean; + /** @description Specifies if the given environment is one that end-users directly interact with. Default: `true` when `environment` is `production` and `false` otherwise. */ + production_environment?: boolean; }; }; }; responses: { /** @description Response */ - 204: never; + 201: { + content: { + "application/json": components["schemas"]["deployment"]; + }; + }; + /** @description Merged branch response */ + 202: { + content: { + "application/json": { + message?: string; + }; + }; + }; + /** @description Conflict when there is a merge conflict or the commit's status checks failed */ + 409: never; + 422: components["responses"]["validation_failed"]; }; }; - "actions/get-workflow-access-to-repository": { - /** - * Get the level of access for workflows outside of the repository - * @description Gets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. - * This endpoint only applies to internal repositories. For more information, see "[Managing GitHub Actions settings for a repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-an-internal-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the - * repository `administration` permission to use this endpoint. - */ + "repos/get-deployment": { + /** Get a deployment */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["actions-workflow-access-to-repository"]; + "application/json": components["schemas"]["deployment"]; }; }; + 404: components["responses"]["not_found"]; }; }; - "actions/set-workflow-access-to-repository": { + "repos/delete-deployment": { /** - * Set the level of access for workflows outside of the repository - * @description Sets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. - * This endpoint only applies to internal repositories. For more information, see "[Managing GitHub Actions settings for a repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-an-internal-repository)." + * Delete a deployment + * @description If the repository only has one deployment, you can delete the deployment regardless of its status. If the repository has more than one deployment, you can only delete inactive deployments. This ensures that repositories with multiple deployments will always have an active deployment. Anyone with `repo` or `repo_deployment` scopes can delete a deployment. * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the - * repository `administration` permission to use this endpoint. + * To set a deployment as inactive, you must: + * + * * Create a new deployment that is active so that the system has a record of the current state, then delete the previously active deployment. + * * Mark the active deployment as inactive by adding any non-successful deployment status. + * + * For more information, see "[Create a deployment](https://docs.github.com/rest/reference/repos/#create-a-deployment)" and "[Create a deployment status](https://docs.github.com/rest/reference/repos#create-a-deployment-status)." */ - requestBody: { - content: { - "application/json": components["schemas"]["actions-workflow-access-to-repository"]; - }; - }; responses: { /** @description Response */ 204: never; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; }; }; - "actions/get-allowed-actions-repository": { + "repos/list-deployment-statuses": { /** - * Get allowed actions and reusable workflows for a repository - * @description Gets the settings for selected actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + * List deployment statuses + * @description Users with pull access can view deployment statuses for a deployment: */ responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["selected-actions"]; + "application/json": (components["schemas"]["deployment-status"])[]; }; }; + 404: components["responses"]["not_found"]; }; }; - "actions/set-allowed-actions-repository": { + "repos/create-deployment-status": { /** - * Set allowed actions and reusable workflows for a repository - * @description Sets the actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." - * - * If the repository belongs to an organization or enterprise that has `selected` actions and reusable workflows set at the organization or enterprise levels, then you cannot override any of the allowed actions and reusable workflows settings. - * - * To use the `patterns_allowed` setting for private repositories, the repository must belong to an enterprise. If the repository does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories. + * Create a deployment status + * @description Users with `push` access can create deployment statuses for a given deployment. * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + * GitHub Apps require `read & write` access to "Deployments" and `read-only` access to "Repo contents" (for private repos). OAuth Apps require the `repo_deployment` scope. */ - requestBody?: { + requestBody: { content: { - "application/json": components["schemas"]["selected-actions"]; + "application/json": { + /** + * @description The state of the status. When you set a transient deployment to `inactive`, the deployment will be shown as `destroyed` in GitHub. + * @enum {string} + */ + state: "error" | "failure" | "inactive" | "in_progress" | "queued" | "pending" | "success"; + /** + * @description The target URL to associate with this status. This URL should contain output to keep the user updated while the task is running or serve as historical information for what happened in the deployment. **Note:** It's recommended to use the `log_url` parameter, which replaces `target_url`. + * @default + */ + target_url?: string; + /** + * @description The full URL of the deployment's output. This parameter replaces `target_url`. We will continue to accept `target_url` to support legacy uses, but we recommend replacing `target_url` with `log_url`. Setting `log_url` will automatically set `target_url` to the same value. Default: `""` + * @default + */ + log_url?: string; + /** + * @description A short description of the status. The maximum description length is 140 characters. + * @default + */ + description?: string; + /** + * @description Name for the target deployment environment, which can be changed when setting a deploy status. For example, `production`, `staging`, or `qa`. + * @enum {string} + */ + environment?: "production" | "staging" | "qa"; + /** + * @description Sets the URL for accessing your environment. Default: `""` + * @default + */ + environment_url?: string; + /** @description Adds a new `inactive` status to all prior non-transient, non-production environment deployments with the same repository and `environment` name as the created status's deployment. An `inactive` status is only added to deployments that had a `success` state. Default: `true` */ + auto_inactive?: boolean; + }; }; }; responses: { /** @description Response */ - 204: never; + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/example/deployments/42/statuses/1 */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["deployment-status"]; + }; + }; + 422: components["responses"]["validation_failed"]; }; }; - "actions/get-github-actions-default-workflow-permissions-repository": { + "repos/get-deployment-status": { /** - * Get default workflow permissions for a repository - * @description Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, - * as well as if GitHub Actions can submit approving pull request reviews. - * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the repository `administration` permission to use this API. + * Get a deployment status + * @description Users with pull access can view a deployment status for a deployment: */ + parameters: { + path: { + status_id: number; + }; + }; responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["actions-get-default-workflow-permissions"]; + "application/json": components["schemas"]["deployment-status"]; }; }; + 404: components["responses"]["not_found"]; }; }; - "actions/set-github-actions-default-workflow-permissions-repository": { + "repos/create-dispatch-event": { /** - * Set default workflow permissions for a repository - * @description Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, and sets if GitHub Actions - * can submit approving pull request reviews. - * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." + * Create a repository dispatch event + * @description You can use this endpoint to trigger a webhook event called `repository_dispatch` when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the `repository_dispatch` event occurs. For an example `repository_dispatch` webhook payload, see "[RepositoryDispatchEvent](https://docs.github.com/webhooks/event-payloads/#repository_dispatch)." * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the repository `administration` permission to use this API. + * The `client_payload` parameter is available for any extra information that your workflow might need. This parameter is a JSON payload that will be passed on when the webhook event is dispatched. For example, the `client_payload` can include a message that a user would like to send using a GitHub Actions workflow. Or the `client_payload` can be used as a test to debug your workflow. + * + * This endpoint requires write access to the repository by providing either: + * + * - Personal access tokens with `repo` scope. For more information, see "[Creating a personal access token for the command line](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line)" in the GitHub Help documentation. + * - GitHub Apps with both `metadata:read` and `contents:read&write` permissions. + * + * This input example shows how you can use the `client_payload` as a test to debug your workflow. */ requestBody: { content: { - "application/json": components["schemas"]["actions-set-default-workflow-permissions"]; + "application/json": { + /** @description A custom webhook event name. Must be 100 characters or fewer. */ + event_type: string; + /** @description JSON payload with extra information about the webhook event that your action or workflow may use. The maximum number of top-level properties is 10. */ + client_payload?: { + [key: string]: unknown | undefined; + }; + }; }; }; responses: { - /** @description Success response */ + /** @description Response */ 204: never; - /** @description Conflict response when changing a setting is prevented by the owning organization or enterprise */ - 409: never; + 422: components["responses"]["validation_failed"]; }; }; - "actions/list-self-hosted-runners-for-repo": { + "repos/get-all-environments": { /** - * List self-hosted runners for a repository - * @description Lists all self-hosted runners configured in a repository. You must authenticate using an access token with the `repo` scope to use this endpoint. + * List environments + * @description Lists the environments for a repository. + * + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { "application/json": { - total_count: number; - runners: (components["schemas"]["runner"])[]; + /** @description The number of environments in this repository */ + total_count?: number; + environments?: (components["schemas"]["environment"])[]; }; }; }; }; }; - "actions/list-runner-applications-for-repo": { + "repos/get-environment": { /** - * List runner applications for a repository - * @description Lists binaries for the runner application that you can download and run. + * Get an environment + * @description **Note:** To get information about name patterns that branches must match in order to deploy to this environment, see "[Get a deployment branch policy](/rest/deployments/branch-policies#get-a-deployment-branch-policy)." * - * You must authenticate using an access token with the `repo` scope to use this endpoint. + * Anyone with read access to the repository can use this endpoint. If the + * repository is private, you must use an access token with the `repo` scope. GitHub + * Apps must have the `actions:read` permission to use this endpoint. */ responses: { /** @description Response */ 200: { content: { - "application/json": (components["schemas"]["runner-application"])[]; + "application/json": components["schemas"]["environment"]; }; }; }; }; - "actions/create-registration-token-for-repo": { + "repos/create-or-update-environment": { /** - * Create a registration token for a repository - * @description Returns a token that you can pass to the `config` script. The token expires after one hour. You must authenticate - * using an access token with the `repo` scope to use this endpoint. + * Create or update an environment + * @description Create or update an environment with protection rules, such as required reviewers. For more information about environment protection rules, see "[Environments](/actions/reference/environments#environment-protection-rules)." * - * #### Example using registration token - * - * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * **Note:** To create or update name patterns that branches must match in order to deploy to this environment, see "[Deployment branch policies](/rest/deployments/branch-policies)." * - * ``` - * ./config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN - * ``` + * **Note:** To create or update secrets for an environment, see "[Secrets](/rest/reference/actions#secrets)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. */ - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["authentication-token"]; - }; + requestBody?: { + content: { + "application/json": OneOf<[{ + wait_timer?: components["schemas"]["wait-timer"]; + /** @description The people or teams that may review jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. */ + reviewers?: OneOf<[({ + type?: components["schemas"]["deployment-reviewer-type"]; + /** @description The id of the user or team who can review the deployment */ + id?: number; + })[], null]>; + deployment_branch_policy?: components["schemas"]["deployment-branch-policy-settings"]; + }, null]>; }; }; - }; - "actions/create-remove-token-for-repo": { - /** - * Create a remove token for a repository - * @description Returns a token that you can pass to remove a self-hosted runner from a repository. The token expires after one hour. - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * - * #### Example using remove token - * - * To remove your self-hosted runner from a repository, replace TOKEN with the remove token provided by this endpoint. - * - * ``` - * ./config.sh remove --token TOKEN - * ``` - */ responses: { /** @description Response */ - 201: { + 200: { content: { - "application/json": components["schemas"]["authentication-token"]; + "application/json": components["schemas"]["environment"]; }; }; - }; - }; - "actions/get-self-hosted-runner-for-repo": { - /** - * Get a self-hosted runner for a repository - * @description Gets a specific self-hosted runner configured in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this - * endpoint. - */ - responses: { - /** @description Response */ - 200: { + /** @description Validation error when the environment name is invalid or when `protected_branches` and `custom_branch_policies` in `deployment_branch_policy` are set to the same value */ + 422: { content: { - "application/json": components["schemas"]["runner"]; + "application/json": components["schemas"]["basic-error"]; }; }; }; }; - "actions/delete-self-hosted-runner-from-repo": { + "repos/delete-an-environment": { /** - * Delete a self-hosted runner from a repository - * @description Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. - * - * You must authenticate using an access token with the `repo` - * scope to use this endpoint. + * Delete an environment + * @description You must authenticate using an access token with the repo scope to use this endpoint. */ responses: { - /** @description Response */ + /** @description Default response */ 204: never; }; }; - "actions/list-labels-for-self-hosted-runner-for-repo": { + "repos/list-deployment-branch-policies": { /** - * List labels for a self-hosted runner for a repository - * @description Lists all labels for a self-hosted runner configured in a repository. + * List deployment branch policies + * @description Lists the deployment branch policies for an environment. * - * You must authenticate using an access token with the `repo` scope to use this - * endpoint. + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - }; - }; - "actions/set-custom-labels-for-self-hosted-runner-for-repo": { - /** - * Set custom labels for a self-hosted runner for a repository - * @description Remove all previous custom labels and set the new custom labels for a specific - * self-hosted runner configured in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this - * endpoint. - */ - requestBody: { - content: { - "application/json": { - /** @description The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels. */ - labels: (string)[]; + /** @description Response */ + 200: { + content: { + "application/json": { + /** @description The number of deployment branch policies for the environment. */ + total_count: number; + branch_policies: (components["schemas"]["deployment-branch-policy"])[]; + }; }; }; }; - responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; }; - "actions/add-custom-labels-to-self-hosted-runner-for-repo": { + "repos/create-deployment-branch-policy": { /** - * Add custom labels to a self-hosted runner for a repository - * @description Add custom labels to a self-hosted runner configured in a repository. + * Create a deployment branch policy + * @description Creates a deployment branch policy for an environment. * - * You must authenticate using an access token with the `repo` scope to use this - * endpoint. + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. */ requestBody: { content: { - "application/json": { - /** @description The names of the custom labels to add to the runner. */ - labels: (string)[]; - }; + "application/json": components["schemas"]["deployment-branch-policy-name-pattern"]; }; }; responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["deployment-branch-policy"]; + }; + }; + /** @description Response if the same branch name pattern already exists */ + 303: never; + /** @description Not Found or `deployment_branch_policy.custom_branch_policies` property for the environment is set to false */ + 404: never; }; }; - "actions/remove-all-custom-labels-from-self-hosted-runner-for-repo": { + "repos/get-deployment-branch-policy": { /** - * Remove all custom labels from a self-hosted runner for a repository - * @description Remove all custom labels from a self-hosted runner configured in a - * repository. Returns the remaining read-only labels from the runner. + * Get a deployment branch policy + * @description Gets a deployment branch policy for an environment. * - * You must authenticate using an access token with the `repo` scope to use this - * endpoint. + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ responses: { - 200: components["responses"]["actions_runner_labels_readonly"]; - 404: components["responses"]["not_found"]; + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["deployment-branch-policy"]; + }; + }; }; }; - "actions/remove-custom-label-from-self-hosted-runner-for-repo": { + "repos/update-deployment-branch-policy": { /** - * Remove a custom label from a self-hosted runner for a repository - * @description Remove a custom label from a self-hosted runner configured - * in a repository. Returns the remaining labels from the runner. - * - * This endpoint returns a `404 Not Found` status if the custom label is not - * present on the runner. + * Update a deployment branch policy + * @description Updates a deployment branch policy for an environment. * - * You must authenticate using an access token with the `repo` scope to use this - * endpoint. + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. */ - responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; + requestBody: { + content: { + "application/json": components["schemas"]["deployment-branch-policy-name-pattern"]; + }; }; - }; - "actions/list-workflow-runs-for-repo": { - /** - * List workflow runs for a repository - * @description Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). - * - * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": { - total_count: number; - workflow_runs: (components["schemas"]["workflow-run"])[]; - }; + "application/json": components["schemas"]["deployment-branch-policy"]; }; }; }; }; - "actions/get-workflow-run": { + "repos/delete-deployment-branch-policy": { /** - * Get a workflow run - * @description Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * Delete a deployment branch policy + * @description Deletes a deployment branch policy for an environment. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. */ + responses: { + /** @description Response */ + 204: never; + }; + }; + "activity/list-repo-events": { + /** List repository events */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["workflow-run"]; + "application/json": (components["schemas"]["event"])[]; }; }; }; }; - "actions/delete-workflow-run": { - /** - * Delete a workflow run - * @description Delete a specific workflow run. Anyone with write access to the repository can use this endpoint. If the repository is - * private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:write` permission to use - * this endpoint. - */ - responses: { - /** @description Response */ - 204: never; + "repos/list-forks": { + /** List forks */ + parameters?: { + /** @description The sort order. `stargazers` will sort by star count. */ + query?: { + sort?: "newest" | "oldest" | "stargazers" | "watchers"; + }; }; - }; - "actions/get-reviews-for-run": { - /** - * Get the review history for a workflow run - * @description Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": (components["schemas"]["environment-approvals"])[]; + "application/json": (components["schemas"]["minimal-repository"])[]; }; }; + 400: components["responses"]["bad_request"]; }; }; - "actions/approve-workflow-run": { + "repos/create-fork": { /** - * Approve a workflow run for a fork pull request - * @description Approves a workflow run for a pull request from a public fork of a first time contributor. For more information, see ["Approving workflow runs from public forks](https://docs.github.com/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks)." + * Create a fork + * @description Create a fork for the authenticated user. * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + * **Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). */ + requestBody?: { + content: { + "application/json": OneOf<[{ + /** @description Optional parameter to specify the organization name if forking into an organization. */ + organization?: string; + /** @description When forking from an existing repository, a new name for the fork. */ + name?: string; + /** @description When forking from an existing repository, fork with only the default branch. */ + default_branch_only?: boolean; + }, null]>; + }; + }; responses: { /** @description Response */ - 201: { + 202: { content: { - "application/json": components["schemas"]["empty-object"]; + "application/json": components["schemas"]["full-repository"]; }; }; + 400: components["responses"]["bad_request"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - "actions/list-workflow-run-artifacts": { - /** - * List workflow run artifacts - * @description Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ + "git/create-blob": { + /** Create a blob */ + requestBody: { + content: { + "application/json": { + /** @description The new blob's content. */ + content: string; + /** + * @description The encoding used for `content`. Currently, `"utf-8"` and `"base64"` are supported. + * @default utf-8 + */ + encoding?: string; + }; + }; + }; responses: { /** @description Response */ - 200: { + 201: { headers: { - Link: components["headers"]["link"]; + /** @example https://api.github.com/repos/octocat/example/git/blobs/3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15 */ + Location?: string; }; content: { - "application/json": { - total_count: number; - artifacts: (components["schemas"]["artifact"])[]; - }; + "application/json": components["schemas"]["short-blob"]; }; }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; }; }; - "actions/get-workflow-run-attempt": { + "git/get-blob": { /** - * Get a workflow run attempt - * @description Gets a specific workflow run attempt. Anyone with read access to the repository - * can use this endpoint. If the repository is private you must use an access token - * with the `repo` scope. GitHub Apps must have the `actions:read` permission to - * use this endpoint. + * Get a blob + * @description The `content` in the response will always be Base64 encoded. + * + * _Note_: This API supports blobs up to 100 megabytes in size. */ + parameters: { + path: { + file_sha: string; + }; + }; responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["workflow-run"]; + "application/json": components["schemas"]["blob"]; }; }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - "actions/list-jobs-for-workflow-run-attempt": { + "git/create-commit": { /** - * List jobs for a workflow run attempt - * @description Lists jobs for a specific workflow run attempt. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + * Create a commit + * @description Creates a new Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects). + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | */ + requestBody: { + content: { + "application/json": { + /** @description The commit message */ + message: string; + /** @description The SHA of the tree object this commit points to */ + tree: string; + /** @description The SHAs of the commits that were the parents of this commit. If omitted or empty, the commit will be written as a root commit. For a single parent, an array of one SHA should be provided; for a merge commit, an array of more than one should be provided. */ + parents?: (string)[]; + /** @description Information about the author of the commit. By default, the `author` will be the authenticated user and the current date. See the `author` and `committer` object below for details. */ + author?: { + /** @description The name of the author (or committer) of the commit */ + name: string; + /** @description The email of the author (or committer) of the commit */ + email: string; + /** + * Format: date-time + * @description Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + date?: string; + }; + /** @description Information about the person who is making the commit. By default, `committer` will use the information set in `author`. See the `author` and `committer` object below for details. */ + committer?: { + /** @description The name of the author (or committer) of the commit */ + name?: string; + /** @description The email of the author (or committer) of the commit */ + email?: string; + /** + * Format: date-time + * @description Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + date?: string; + }; + /** @description The [PGP signature](https://en.wikipedia.org/wiki/Pretty_Good_Privacy) of the commit. GitHub adds the signature to the `gpgsig` header of the created commit. For a commit signature to be verifiable by Git or GitHub, it must be an ASCII-armored detached PGP signature over the string commit as it would be written to the object database. To pass a `signature` parameter, you need to first manually create a valid PGP signature, which can be complicated. You may find it easier to [use the command line](https://git-scm.com/book/id/v2/Git-Tools-Signing-Your-Work) to create signed commits. */ + signature?: string; + }; + }; + }; responses: { /** @description Response */ - 200: { + 201: { headers: { - Link: components["headers"]["link"]; + /** @example https://api.github.com/repos/octocat/Hello-World/git/commits/7638417db6d59f3c431d3e1f261cc637155684cd */ + Location?: string; }; content: { - "application/json": { - total_count: number; - jobs: (components["schemas"]["job"])[]; - }; + "application/json": components["schemas"]["git-commit"]; }; }; 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - "actions/download-workflow-run-attempt-logs": { - /** - * Download workflow run attempt logs - * @description Gets a redirect URL to download an archive of log files for a specific workflow run attempt. This link expires after - * 1 minute. Look for `Location:` in the response header to find the URL for the download. Anyone with read access to - * the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. - * GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - responses: { - /** @description Response */ - 302: never; - }; - }; - "actions/cancel-workflow-run": { + "git/get-commit": { /** - * Cancel a workflow run - * @description Cancels a workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + * Get a commit + * @description Gets a Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects). + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | */ responses: { /** @description Response */ - 202: { + 200: { content: { - "application/json": components["schemas"]["empty-object"]; + "application/json": components["schemas"]["git-commit"]; }; }; - 409: components["responses"]["conflict"]; + 404: components["responses"]["not_found"]; }; }; - "actions/list-jobs-for-workflow-run": { + "git/list-matching-refs": { /** - * List jobs for a workflow run - * @description Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + * List matching references + * @description Returns an array of references from your Git database that match the supplied name. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't exist in the repository, but existing refs start with `:ref`, they will be returned as an array. + * + * When you use this endpoint without providing a `:ref`, it will return an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just `heads` and `tags`. + * + * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + * + * If you request matching references for a branch named `feature` but the branch `feature` doesn't exist, the response can still include other matching head refs that start with the word `feature`, such as `featureA` and `featureB`. */ - parameters?: { - /** @description Filters jobs by their `completed_at` timestamp. `latest` returns jobs from the most recent execution of the workflow run. `all` returns all jobs for a workflow run, including from old executions of the workflow run. */ - query?: { - filter?: "latest" | "all"; + parameters: { + /** @description ref parameter */ + path: { + ref: string; }; }; responses: { @@ -90100,719 +96691,792 @@ export interface operations { Link: components["headers"]["link"]; }; content: { - "application/json": { - total_count: number; - jobs: (components["schemas"]["job"])[]; - }; + "application/json": (components["schemas"]["git-ref"])[]; }; }; }; }; - "actions/download-workflow-run-logs": { - /** - * Download workflow run logs - * @description Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for - * `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use - * this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have - * the `actions:read` permission to use this endpoint. - */ - responses: { - /** @description Response */ - 302: never; - }; - }; - "actions/delete-workflow-run-logs": { - /** - * Delete workflow run logs - * @description Deletes all logs for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - responses: { - /** @description Response */ - 204: never; - 403: components["responses"]["forbidden"]; - 500: components["responses"]["internal_error"]; - }; - }; - "actions/get-pending-deployments-for-run": { + "git/get-ref": { /** - * Get pending deployments for a workflow run - * @description Get all deployment environments for a workflow run that are waiting for protection rules to pass. + * Get a reference + * @description Returns a single reference from your Git database. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't match an existing ref, a `404` is returned. * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". */ + parameters: { + /** @description ref parameter */ + path: { + ref: string; + }; + }; responses: { /** @description Response */ 200: { content: { - "application/json": (components["schemas"]["pending-deployment"])[]; + "application/json": components["schemas"]["git-ref"]; }; }; + 404: components["responses"]["not_found"]; }; }; - "actions/review-pending-deployments-for-run": { + "git/create-ref": { /** - * Review pending deployments for a workflow run - * @description Approve or reject pending deployments that are waiting on approval by a required reviewer. - * - * Required reviewers with read access to the repository contents and deployments can use this endpoint. Required reviewers must authenticate using an access token with the `repo` scope to use this endpoint. + * Create a reference + * @description Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches. */ requestBody: { content: { "application/json": { - /** @description The list of environment ids to approve or reject */ - environment_ids: (number)[]; - /** - * @description Whether to approve or reject deployment to the specified environments. - * @enum {string} - */ - state: "approved" | "rejected"; - /** @description A comment to accompany the deployment review */ - comment: string; + /** @description The name of the fully qualified reference (ie: `refs/heads/master`). If it doesn't start with 'refs' and have at least two slashes, it will be rejected. */ + ref: string; + /** @description The SHA1 value for this reference. */ + sha: string; + key?: string; }; }; }; responses: { /** @description Response */ - 200: { + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/git/refs/heads/featureA */ + Location?: string; + }; content: { - "application/json": (components["schemas"]["deployment"])[]; + "application/json": components["schemas"]["git-ref"]; }; }; + 422: components["responses"]["validation_failed"]; }; }; - "actions/re-run-workflow": { - /** - * Re-run a workflow - * @description Re-runs your workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - requestBody?: { - content: { - "application/json": OneOf<[{ - /** - * @description Whether to enable debug logging for the re-run. - * @default false - */ - enable_debug_logging?: boolean; - }, null]>; + "git/delete-ref": { + /** Delete a reference */ + parameters: { + /** @description ref parameter */ + path: { + ref: string; }; }; responses: { /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; + 204: never; + 422: components["responses"]["validation_failed"]; }; }; - "actions/re-run-workflow-failed-jobs": { - /** - * Re-run failed jobs from a workflow run - * @description Re-run all of the failed jobs and their dependent jobs in a workflow run using the `id` of the workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. - */ - requestBody?: { + "git/update-ref": { + /** Update a reference */ + parameters: { + /** + * @description The name of the fully qualified reference to update. For example, `refs/heads/master`. If the value doesn't start with `refs` and have at least two slashes, it will be rejected. + * @example refs/head/master + */ + path: { + ref: string; + }; + }; + requestBody: { content: { - "application/json": OneOf<[{ + "application/json": { + /** @description The SHA1 value to set this reference to */ + sha: string; /** - * @description Whether to enable debug logging for the re-run. + * @description Indicates whether to force the update or to make sure the update is a fast-forward update. Leaving this out or setting it to `false` will make sure you're not overwriting work. * @default false */ - enable_debug_logging?: boolean; - }, null]>; + force?: boolean; + }; }; }; responses: { /** @description Response */ - 201: { + 200: { content: { - "application/json": components["schemas"]["empty-object"]; + "application/json": components["schemas"]["git-ref"]; }; }; + 422: components["responses"]["validation_failed"]; }; }; - "actions/get-workflow-run-usage": { + "git/create-tag": { /** - * Get workflow run usage - * @description Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. 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](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * Create a tag object + * @description Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://docs.github.com/rest/reference/git#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://docs.github.com/rest/reference/git#create-a-reference) the tag reference - this call would be unnecessary. * - * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["workflow-run-usage"]; + requestBody: { + content: { + "application/json": { + /** @description The tag's name. This is typically a version (e.g., "v0.0.1"). */ + tag: string; + /** @description The tag message. */ + message: string; + /** @description The SHA of the git object this is tagging. */ + object: string; + /** + * @description The type of the object we're tagging. Normally this is a `commit` but it can also be a `tree` or a `blob`. + * @enum {string} + */ + type: "commit" | "tree" | "blob"; + /** @description An object with information about the individual creating the tag. */ + tagger?: { + /** @description The name of the author of the tag */ + name: string; + /** @description The email of the author of the tag */ + email: string; + /** + * Format: date-time + * @description When this object was tagged. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + date?: string; + }; }; }; }; - }; - "actions/list-repo-secrets": { - /** - * List repository secrets - * @description Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. - */ responses: { /** @description Response */ - 200: { + 201: { headers: { - Link: components["headers"]["link"]; + /** @example https://api.github.com/repos/octocat/Hello-World/git/tags/940bd336248efae0f9ee5bc7b2d5c985887b16ac */ + Location?: string; }; content: { - "application/json": { - total_count: number; - secrets: (components["schemas"]["actions-secret"])[]; - }; + "application/json": components["schemas"]["git-tag"]; }; }; + 422: components["responses"]["validation_failed"]; }; }; - "actions/get-repo-public-key": { + "git/get-tag": { /** - * Get a repository public key - * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint. + * Get a tag + * @description **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | */ + parameters: { + path: { + tag_sha: string; + }; + }; responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["actions-public-key"]; + "application/json": components["schemas"]["git-tag"]; }; }; + 404: components["responses"]["not_found"]; }; }; - "actions/get-repo-secret": { + "git/create-tree": { /** - * Get a repository secret - * @description Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. + * Create a tree + * @description The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure. + * + * If you use this endpoint to add, delete, or modify the file contents in a tree, you will need to commit the tree and then update a branch to point to the commit. For more information see "[Create a commit](https://docs.github.com/rest/reference/git#create-a-commit)" and "[Update a reference](https://docs.github.com/rest/reference/git#update-a-reference)." + * + * Returns an error if you try to delete a file that does not exist. */ + requestBody: { + content: { + "application/json": { + /** @description Objects (of `path`, `mode`, `type`, and `sha`) specifying a tree structure. */ + tree: ({ + /** @description The file referenced in the tree. */ + path?: string; + /** + * @description The file mode; one of `100644` for file (blob), `100755` for executable (blob), `040000` for subdirectory (tree), `160000` for submodule (commit), or `120000` for a blob that specifies the path of a symlink. + * @enum {string} + */ + mode?: "100644" | "100755" | "040000" | "160000" | "120000"; + /** + * @description Either `blob`, `tree`, or `commit`. + * @enum {string} + */ + type?: "blob" | "tree" | "commit"; + /** + * @description The SHA1 checksum ID of the object in the tree. Also called `tree.sha`. If the value is `null` then the file will be deleted. + * + * **Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error. + */ + sha?: OneOf<[string, null]>; + /** + * @description The content you want this file to have. GitHub will write this blob out and use that SHA for this entry. Use either this, or `tree.sha`. + * + * **Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error. + */ + content?: string; + })[]; + /** + * @description The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on. + * If not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit. + */ + base_tree?: string; + }; + }; + }; responses: { /** @description Response */ - 200: { + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/trees/cd8274d15fa3ae2ab983129fb037999f264ba9a7 */ + Location?: string; + }; content: { - "application/json": components["schemas"]["actions-secret"]; + "application/json": components["schemas"]["git-tree"]; }; }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - "actions/create-or-update-repo-secret": { + "git/get-tree": { /** - * Create or update a repository secret - * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access - * token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use - * this endpoint. - * - * #### Example encrypting a secret using Node.js - * - * Encrypt your secret using the [libsodium-wrappers](https://www.npmjs.com/package/libsodium-wrappers) library. - * - * ``` - * const sodium = require('libsodium-wrappers') - * const secret = 'plain-text-secret' // replace with the secret you want to encrypt - * const key = 'base64-encoded-public-key' // replace with the Base64 encoded public key - * - * //Check if libsodium is ready and then proceed. - * sodium.ready.then(() => { - * // Convert Secret & Base64 key to Uint8Array. - * let binkey = sodium.from_base64(key, sodium.base64_variants.ORIGINAL) - * let binsec = sodium.from_string(secret) - * - * //Encrypt the secret using LibSodium - * let encBytes = sodium.crypto_box_seal(binsec, binkey) - * - * // Convert encrypted Uint8Array to Base64 - * let output = sodium.to_base64(encBytes, sodium.base64_variants.ORIGINAL) - * - * console.log(output) - * }); - * ``` - * - * #### Example encrypting a secret using Python - * - * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. - * - * ``` - * from base64 import b64encode - * from nacl import encoding, public - * - * def encrypt(public_key: str, secret_value: str) -> str: - * """Encrypt a Unicode string using the public key.""" - * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) - * sealed_box = public.SealedBox(public_key) - * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) - * return b64encode(encrypted).decode("utf-8") - * ``` - * - * #### Example encrypting a secret using C# - * - * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. - * - * ``` - * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); - * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); - * - * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); - * - * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); - * ``` - * - * #### Example encrypting a secret using Ruby - * - * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. - * - * ```ruby - * require "rbnacl" - * require "base64" + * Get a tree + * @description Returns a single tree using the SHA1 value for that tree. * - * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") - * public_key = RbNaCl::PublicKey.new(key) + * If `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, use the non-recursive method of fetching trees, and fetch one sub-tree at a time. * - * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) - * encrypted_secret = box.encrypt("my_secret") * - * # Print the base64 encoded secret - * puts Base64.strict_encode64(encrypted_secret) - * ``` + * **Note**: The limit for the `tree` array is 100,000 entries with a maximum size of 7 MB when using the `recursive` parameter. */ - requestBody: { - content: { - "application/json": { - /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/reference/actions#get-a-repository-public-key) endpoint. */ - encrypted_value?: string; - /** @description ID of the key you used to encrypt the secret. */ - key_id?: string; - }; + parameters: { + /** @description Setting this parameter to any value returns the objects or subtrees referenced by the tree specified in `:tree_sha`. For example, setting `recursive` to any of the following will enable returning objects or subtrees: `0`, `1`, `"true"`, and `"false"`. Omit this parameter to prevent recursively returning objects or subtrees. */ + query?: { + recursive?: string; + }; + path: { + tree_sha: string; }; }; responses: { - /** @description Response when creating a secret */ - 201: { + /** @description Response */ + 200: { content: { - "application/json": components["schemas"]["empty-object"]; + "application/json": components["schemas"]["git-tree"]; }; }; - /** @description Response when updating a secret */ - 204: never; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - "actions/delete-repo-secret": { + "repos/list-webhooks": { /** - * Delete a repository secret - * @description Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. + * List repository webhooks + * @description Lists webhooks for a repository. `last response` may return null if there have not been any deliveries within 30 days. */ responses: { /** @description Response */ - 204: never; + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": (components["schemas"]["hook"])[]; + }; + }; + 404: components["responses"]["not_found"]; }; }; - "actions/list-repo-workflows": { + "repos/create-webhook": { /** - * List repository workflows - * @description Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * Create a repository webhook + * @description Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can + * share the same `config` as long as those webhooks do not have any `events` that overlap. */ + requestBody?: { + content: { + "application/json": OneOf<[{ + /** @description Use `web` to create a webhook. Default: `web`. This parameter only accepts the value `web`. */ + name?: string; + /** @description Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/repos#create-hook-config-params). */ + config?: { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + token?: string; + digest?: string; + }; + /** + * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. + * @default [ + * "push" + * ] + */ + events?: (string)[]; + /** + * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + * @default true + */ + active?: boolean; + }, null]>; + }; + }; responses: { /** @description Response */ - 200: { + 201: { headers: { - Link: components["headers"]["link"]; + /** @example https://api.github.com/repos/octocat/Hello-World/hooks/12345678 */ + Location?: string; }; content: { - "application/json": { - total_count: number; - workflows: (components["schemas"]["workflow"])[]; - }; + "application/json": components["schemas"]["hook"]; }; }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - "actions/get-workflow": { + "repos/get-webhook": { /** - * Get a workflow - * @description Gets a specific workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * Get a repository webhook + * @description Returns a webhook configured in a repository. To get only the webhook `config` properties, see "[Get a webhook configuration for a repository](/rest/reference/repos#get-a-webhook-configuration-for-a-repository)." */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["workflow"]; + "application/json": components["schemas"]["hook"]; }; }; + 404: components["responses"]["not_found"]; }; }; - "actions/disable-workflow": { - /** - * Disable a workflow - * @description Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ + "repos/delete-webhook": { + /** Delete a repository webhook */ responses: { /** @description Response */ 204: never; + 404: components["responses"]["not_found"]; }; }; - "actions/create-workflow-dispatch": { + "repos/update-webhook": { /** - * Create a workflow dispatch event - * @description You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. - * - * You must configure your GitHub Actions workflow to run when the [`workflow_dispatch` webhook](/developers/webhooks-and-events/webhook-events-and-payloads#workflow_dispatch) event occurs. The `inputs` are configured in the workflow file. For more information about how to configure the `workflow_dispatch` event in the workflow file, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Creating a personal access token for the command line](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line)." + * Update a repository webhook + * @description Updates a webhook configured in a repository. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for a repository](/rest/reference/repos#update-a-webhook-configuration-for-a-repository)." */ requestBody: { content: { "application/json": { - /** @description The git reference for the workflow. The reference can be a branch or tag name. */ - ref: string; - /** @description Input keys and values configured in the workflow file. The maximum number of properties is 10. Any default properties configured in the workflow file will be used when `inputs` are omitted. */ - inputs?: { - [key: string]: string | undefined; + /** @description Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/repos#create-hook-config-params). */ + config?: { + url: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + address?: string; + room?: string; }; + /** + * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. This replaces the entire array of events. + * @default [ + * "push" + * ] + */ + events?: (string)[]; + /** @description Determines a list of events to be added to the list of events that the Hook triggers for. */ + add_events?: (string)[]; + /** @description Determines a list of events to be removed from the list of events that the Hook triggers for. */ + remove_events?: (string)[]; + /** + * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + * @default true + */ + active?: boolean; }; }; }; responses: { /** @description Response */ - 204: never; + 200: { + content: { + "application/json": components["schemas"]["hook"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - "actions/enable-workflow": { + "repos/get-webhook-config-for-repo": { /** - * Enable a workflow - * @description Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * Get a webhook configuration for a repository + * @description Returns the webhook configuration for a repository. To get more information about the webhook, including the `active` state and `events`, use "[Get a repository webhook](/rest/reference/orgs#get-a-repository-webhook)." * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + * Access tokens must have the `read:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:read` permission. */ responses: { /** @description Response */ - 204: never; + 200: { + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; }; }; - "actions/list-workflow-runs": { + "repos/update-webhook-config-for-repo": { /** - * List workflow runs for a workflow - * @description List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + * Update a webhook configuration for a repository + * @description Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use "[Update a repository webhook](/rest/reference/orgs#update-a-repository-webhook)." * - * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. + * Access tokens must have the `write:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:write` permission. */ + requestBody?: { + content: { + "application/json": { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + }; + }; responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": { - total_count: number; - workflow_runs: (components["schemas"]["workflow-run"])[]; - }; + "application/json": components["schemas"]["webhook-config"]; }; }; }; }; - "actions/get-workflow-usage": { + "repos/list-webhook-deliveries": { /** - * Get workflow usage - * @description Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. 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](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". - * - * You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * List deliveries for a repository webhook + * @description Returns a list of webhook deliveries for a webhook configured in a repository. */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["workflow-usage"]; + "application/json": (components["schemas"]["hook-delivery-item"])[]; }; }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; }; }; - "issues/list-assignees": { + "repos/get-webhook-delivery": { /** - * List assignees - * @description Lists the [available assignees](https://docs.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository. + * Get a delivery for a repository webhook + * @description Returns a delivery for a webhook configured in a repository. */ responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": (components["schemas"]["simple-user"])[]; + "application/json": components["schemas"]["hook-delivery"]; }; }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/redeliver-webhook-delivery": { + /** + * Redeliver a delivery for a repository webhook + * @description Redeliver a webhook delivery for a webhook configured in a repository. + */ + responses: { + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/ping-webhook": { + /** + * Ping a repository webhook + * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. + */ + responses: { + /** @description Response */ + 204: never; 404: components["responses"]["not_found"]; }; }; - "issues/check-user-can-be-assigned": { + "repos/test-push-webhook": { /** - * Check if a user can be assigned - * @description Checks if a user has permission to be assigned to an issue in this repository. - * - * If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. + * Test the push repository webhook + * @description This will trigger the hook with the latest push to the current repository if the hook is subscribed to `push` events. If the hook is not subscribed to `push` events, the server will respond with 204 but no test POST will be generated. * - * Otherwise a `404` status code is returned. + * **Note**: Previously `/repos/:owner/:repo/hooks/:hook_id/test` */ - parameters: { - path: { - assignee: string; - }; - }; responses: { - /** @description If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. */ + /** @description Response */ 204: never; - /** @description Otherwise a `404` status code is returned. */ - 404: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; + 404: components["responses"]["not_found"]; }; }; - "repos/list-autolinks": { + "migrations/get-import-status": { /** - * List all autolinks of a repository - * @description This returns a list of autolinks configured for the given repository. + * Get an import status + * @description View the progress of an import. * - * Information about autolinks are only available to repository administrators. + * **Import status** + * + * This section includes details about the possible values of the `status` field of the Import Progress response. + * + * An import that does not have errors will progress through these steps: + * + * * `detecting` - the "detection" step of the import is in progress because the request did not include a `vcs` parameter. The import is identifying the type of source control present at the URL. + * * `importing` - the "raw" step of the import is in progress. This is where commit data is fetched from the original repository. The import progress response will include `commit_count` (the total number of raw commits that will be imported) and `percent` (0 - 100, the current progress through the import). + * * `mapping` - the "rewrite" step of the import is in progress. This is where SVN branches are converted to Git branches, and where author updates are applied. The import progress response does not include progress information. + * * `pushing` - the "push" step of the import is in progress. This is where the importer updates the repository on GitHub. The import progress response will include `push_percent`, which is the percent value reported by `git push` when it is "Writing objects". + * * `complete` - the import is complete, and the repository is ready on GitHub. + * + * If there are problems, you will see one of these in the `status` field: + * + * * `auth_failed` - the import requires authentication in order to connect to the original repository. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. + * * `error` - the import encountered an error. The import progress response will include the `failed_step` and an error message. Contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api) for more information. + * * `detection_needs_auth` - the importer requires authentication for the originating repository to continue detection. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. + * * `detection_found_nothing` - the importer didn't recognize any source control at the URL. To resolve, [Cancel the import](https://docs.github.com/rest/reference/migrations#cancel-an-import) and [retry](https://docs.github.com/rest/reference/migrations#start-an-import) with the correct URL. + * * `detection_found_multiple` - the importer found several projects or repositories at the provided URL. When this is the case, the Import Progress response will also include a `project_choices` field with the possible project choices as values. To update project choice, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. + * + * **The project_choices field** + * + * When multiple projects are found at the provided URL, the response hash will include a `project_choices` field, the value of which is an array of hashes each representing a project choice. The exact key/value pairs of the project hashes will differ depending on the version control type. + * + * **Git LFS related fields** + * + * This section includes details about Git LFS related fields that may be present in the Import Progress response. + * + * * `use_lfs` - describes whether the import has been opted in or out of using Git LFS. The value can be `opt_in`, `opt_out`, or `undecided` if no action has been taken. + * * `has_large_files` - the boolean value describing whether files larger than 100MB were found during the `importing` step. + * * `large_files_size` - the total size in gigabytes of files larger than 100MB found in the originating repository. + * * `large_files_count` - the total number of files larger than 100MB found in the originating repository. To see a list of these files, make a "Get Large Files" request. */ responses: { /** @description Response */ 200: { content: { - "application/json": (components["schemas"]["autolink"])[]; + "application/json": components["schemas"]["import"]; }; }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["porter_maintenance"]; }; }; - "repos/create-autolink": { + "migrations/start-import": { /** - * Create an autolink reference for a repository - * @description Users with admin access to the repository can create an autolink. + * Start an import + * @description Start a source import to a GitHub repository using GitHub Importer. */ requestBody: { content: { "application/json": { - /** @description This prefix appended by certain characters will generate a link any time it is found in an issue, pull request, or commit. */ - key_prefix: string; - /** @description The URL must contain `` for the reference number. `` matches different characters depending on the value of `is_alphanumeric`. */ - url_template: string; + /** @description The URL of the originating repository. */ + vcs_url: string; /** - * @description Whether this autolink reference matches alphanumeric characters. If true, the `` parameter of the `url_template` matches alphanumeric characters `A-Z` (case insensitive), `0-9`, and `-`. If false, this autolink reference only matches numeric characters. - * @default true + * @description The originating VCS type. Without this parameter, the import job will take additional time to detect the VCS type before beginning the import. This detection step will be reflected in the response. + * @enum {string} */ - is_alphanumeric?: boolean; + vcs?: "subversion" | "git" | "mercurial" | "tfvc"; + /** @description If authentication is required, the username to provide to `vcs_url`. */ + vcs_username?: string; + /** @description If authentication is required, the password to provide to `vcs_url`. */ + vcs_password?: string; + /** @description For a tfvc import, the name of the project that is being imported. */ + tfvc_project?: string; }; }; }; responses: { - /** @description response */ + /** @description Response */ 201: { headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/autolinks/1 */ + /** @example https://api.github.com/repos/spraints/socm/import */ Location?: string; }; content: { - "application/json": components["schemas"]["autolink"]; + "application/json": components["schemas"]["import"]; }; }; + 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; + 503: components["responses"]["porter_maintenance"]; }; }; - "repos/get-autolink": { + "migrations/cancel-import": { /** - * Get an autolink reference of a repository - * @description This returns a single autolink reference by ID that was configured for the given repository. - * - * Information about autolinks are only available to repository administrators. + * Cancel an import + * @description Stop an import for a repository. */ responses: { /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["autolink"]; - }; - }; - 404: components["responses"]["not_found"]; + 204: never; + 503: components["responses"]["porter_maintenance"]; }; }; - "repos/delete-autolink": { + "migrations/update-import": { /** - * Delete an autolink reference from a repository - * @description This deletes a single autolink reference by ID that was configured for the given repository. + * Update an import + * @description An import can be updated with credentials or a project choice by passing in the appropriate parameters in this API + * request. If no parameters are provided, the import will be restarted. * - * Information about autolinks are only available to repository administrators. + * Some servers (e.g. TFS servers) can have several projects at a single URL. In those cases the import progress will + * have the status `detection_found_multiple` and the Import Progress response will include a `project_choices` array. + * You can select the project to import by providing one of the objects in the `project_choices` array in the update request. */ + requestBody?: { + content: { + "application/json": OneOf<[{ + /** @description The username to provide to the originating repository. */ + vcs_username?: string; + /** @description The password to provide to the originating repository. */ + vcs_password?: string; + /** + * @description The type of version control system you are migrating from. + * @enum {string} + */ + vcs?: "subversion" | "tfvc" | "git" | "mercurial"; + /** @description For a tfvc import, the name of the project that is being imported. */ + tfvc_project?: string; + }, null]>; + }; + }; responses: { /** @description Response */ - 204: never; - 404: components["responses"]["not_found"]; + 200: { + content: { + "application/json": components["schemas"]["import"]; + }; + }; + 503: components["responses"]["porter_maintenance"]; }; }; - "repos/enable-automated-security-fixes": { + "migrations/get-commit-authors": { /** - * Enable automated security fixes - * @description Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". + * Get commit authors + * @description Each type of source control system represents authors in a different way. For example, a Git commit author has a display name and an email address, but a Subversion commit author just has a username. The GitHub Importer will make the author information valid, but the author might not be correct. For example, it will change the bare Subversion username `hubot` into something like `hubot `. + * + * This endpoint and the [Map a commit author](https://docs.github.com/rest/reference/migrations#map-a-commit-author) endpoint allow you to provide correct Git author information. */ responses: { /** @description Response */ - 204: never; + 200: { + content: { + "application/json": (components["schemas"]["porter-author"])[]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["porter_maintenance"]; }; }; - "repos/disable-automated-security-fixes": { + "migrations/map-commit-author": { /** - * Disable automated security fixes - * @description Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". + * Map a commit author + * @description Update an author's identity for the import. Your application can continue updating authors any time before you push new commits to the repository. */ - responses: { - /** @description Response */ - 204: never; - }; - }; - "repos/list-branches": { - /** List branches */ - parameters?: { - /** @description Setting to `true` returns only protected branches. When set to `false`, only unprotected branches are returned. Omitting this parameter returns all branches. */ - query?: { - protected?: boolean; + parameters: { + path: { + author_id: number; }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["short-branch"])[]; + requestBody?: { + content: { + "application/json": { + /** @description The new Git author email. */ + email?: string; + /** @description The new Git author name. */ + name?: string; }; }; - 404: components["responses"]["not_found"]; }; - }; - "repos/get-branch": { - /** Get a branch */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["branch-with-protection"]; + "application/json": components["schemas"]["porter-author"]; }; }; - 301: components["responses"]["moved_permanently"]; 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["porter_maintenance"]; }; }; - "repos/get-branch-protection": { + "migrations/get-large-files": { /** - * Get branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Get large files + * @description List files larger than 100MB found during the import */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["branch-protection"]; + "application/json": (components["schemas"]["porter-large-file"])[]; }; }; - 404: components["responses"]["not_found"]; + 503: components["responses"]["porter_maintenance"]; }; }; - "repos/update-branch-protection": { + "migrations/set-lfs-preference": { /** - * Update branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Protecting a branch requires admin or owner permissions to the repository. - * - * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. - * - * **Note**: The list of users, apps, and teams in total is limited to 100 items. + * Update Git LFS preference + * @description You can import repositories from Subversion, Mercurial, and TFS that include files larger than 100MB. This ability is powered by [Git LFS](https://git-lfs.github.com). You can learn more about our LFS feature and working with large files [on our help site](https://docs.github.com/articles/versioning-large-files/). */ requestBody: { content: { "application/json": { - /** @description Require status checks to pass before merging. Set to `null` to disable. */ - required_status_checks: OneOf<[{ - /** @description Require branches to be up to date before merging. */ - strict: boolean; - /** - * @deprecated - * @description **Deprecated**: The list of status checks to require in order to merge into this branch. If any of these checks have recently been set by a particular GitHub App, they will be required to come from that app in future for the branch to merge. Use `checks` instead of `contexts` for more fine-grained control. - */ - contexts: (string)[]; - /** @description The list of status checks to require in order to merge into this branch. */ - checks?: ({ - /** @description The name of the required check */ - context: string; - /** @description The ID of the GitHub App that must provide this check. Omit this field to automatically select the GitHub App that has recently provided this check, or any app if it was not set by a GitHub App. Pass -1 to explicitly allow any app to set the status. */ - app_id?: number; - })[]; - }, null]>; - /** @description Enforce all configured restrictions for administrators. Set to `true` to enforce required status checks for repository administrators. Set to `null` to disable. */ - enforce_admins: OneOf<[boolean, null]>; - /** @description Require at least one approving review on a pull request, before merging. Set to `null` to disable. */ - required_pull_request_reviews: OneOf<[{ - /** @description Specify which users, teams, and apps can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories. */ - dismissal_restrictions?: { - /** @description The list of user `login`s with dismissal access */ - users?: (string)[]; - /** @description The list of team `slug`s with dismissal access */ - teams?: (string)[]; - /** @description The list of app `slug`s with dismissal access */ - apps?: (string)[]; - }; - /** @description Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. */ - dismiss_stale_reviews?: boolean; - /** @description Blocks merging pull requests until [code owners](https://docs.github.com/articles/about-code-owners/) review them. */ - require_code_owner_reviews?: boolean; - /** @description Specify the number of reviewers required to approve pull requests. Use a number between 1 and 6 or 0 to not require reviewers. */ - required_approving_review_count?: number; - /** - * @description Whether the most recent push must be approved by someone other than the person who pushed it. Default: `false`. - * @default false - */ - require_last_push_approval?: boolean; - /** @description Allow specific users, teams, or apps to bypass pull request requirements. */ - bypass_pull_request_allowances?: { - /** @description The list of user `login`s allowed to bypass pull request requirements. */ - users?: (string)[]; - /** @description The list of team `slug`s allowed to bypass pull request requirements. */ - teams?: (string)[]; - /** @description The list of app `slug`s allowed to bypass pull request requirements. */ - apps?: (string)[]; - }; - }, null]>; - /** @description Restrict who can push to the protected branch. User, app, and team `restrictions` are only available for organization-owned repositories. Set to `null` to disable. */ - restrictions: OneOf<[{ - /** @description The list of user `login`s with push access */ - users: (string)[]; - /** @description The list of team `slug`s with push access */ - teams: (string)[]; - /** @description The list of app `slug`s with push access */ - apps?: (string)[]; - }, null]>; - /** @description Enforces a linear commit Git history, which prevents anyone from pushing merge commits to a branch. Set to `true` to enforce a linear commit history. Set to `false` to disable a linear commit Git history. Your repository must allow squash merging or rebase merging before you can enable a linear commit history. Default: `false`. For more information, see "[Requiring a linear commit history](https://docs.github.com/github/administering-a-repository/requiring-a-linear-commit-history)" in the GitHub Help documentation. */ - required_linear_history?: boolean; - /** @description Permits force pushes to the protected branch by anyone with write access to the repository. Set to `true` to allow force pushes. Set to `false` or `null` to block force pushes. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://docs.github.com/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation." */ - allow_force_pushes?: OneOf<[boolean, null]>; - /** @description Allows deletion of the protected branch by anyone with write access to the repository. Set to `false` to prevent deletion of the protected branch. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://docs.github.com/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation. */ - allow_deletions?: boolean; - /** @description If set to `true`, the `restrictions` branch protection settings which limits who can push will also block pushes which create new branches, unless the push is initiated by a user, team, or app which has the ability to push. Set to `true` to restrict new branch creation. Default: `false`. */ - block_creations?: boolean; - /** @description Requires all conversations on code to be resolved before a pull request can be merged into a branch that matches this rule. Set to `false` to disable. Default: `false`. */ - required_conversation_resolution?: boolean; /** - * @description Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. Default: `false`. - * @default false - */ - lock_branch?: boolean; - /** - * @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. Default: `false`. - * @default false + * @description Whether to store large files during the import. `opt_in` means large files will be stored using Git LFS. `opt_out` means large files will be removed during the import. + * @enum {string} */ - allow_fork_syncing?: boolean; + use_lfs: "opt_in" | "opt_out"; }; }; }; @@ -90820,134 +97484,112 @@ export interface operations { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["protected-branch"]; + "application/json": components["schemas"]["import"]; }; }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["porter_maintenance"]; }; }; - "repos/delete-branch-protection": { + "apps/get-repo-installation": { /** - * Delete branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Get a repository installation for the authenticated app + * @description Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ responses: { /** @description Response */ - 204: never; - 403: components["responses"]["forbidden"]; + 200: { + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; }; }; - "repos/get-admin-branch-protection": { - /** - * Get admin branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + "interactions/get-restrictions-for-repo": { + /** + * Get interaction restrictions for a repository + * @description Shows which type of GitHub user can interact with this repository and when the restriction expires. If there are no restrictions, you will see an empty response. */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["protected-branch-admin-enforced"]; + "application/json": components["schemas"]["interaction-limit-response"] | Record; }; }; }; }; - "repos/set-admin-branch-protection": { + "interactions/set-restrictions-for-repo": { /** - * Set admin branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + * Set interaction restrictions for a repository + * @description Temporarily restricts interactions to a certain type of GitHub user within the given repository. You must have owner or admin access to set these restrictions. If an interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. */ + requestBody: { + content: { + "application/json": components["schemas"]["interaction-limit"]; + }; + }; responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["protected-branch-admin-enforced"]; + "application/json": components["schemas"]["interaction-limit-response"]; }; }; + /** @description Response */ + 409: never; }; }; - "repos/delete-admin-branch-protection": { + "interactions/remove-restrictions-for-repo": { /** - * Delete admin branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + * Remove interaction restrictions for a repository + * @description Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. If the interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. */ responses: { /** @description Response */ 204: never; - 404: components["responses"]["not_found"]; + /** @description Response */ + 409: never; }; }; - "repos/get-pull-request-review-protection": { + "repos/list-invitations": { /** - * Get pull request review protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * List repository invitations + * @description When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. */ responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["protected-branch-pull-request-review"]; + "application/json": (components["schemas"]["repository-invitation"])[]; }; }; }; }; - "repos/delete-pull-request-review-protection": { - /** - * Delete pull request review protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ + "repos/delete-invitation": { + /** Delete a repository invitation */ responses: { /** @description Response */ 204: never; - 404: components["responses"]["not_found"]; }; }; - "repos/update-pull-request-review-protection": { - /** - * Update pull request review protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled. - * - * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. - */ + "repos/update-invitation": { + /** Update a repository invitation */ requestBody?: { content: { "application/json": { - /** @description Specify which users, teams, and apps can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories. */ - dismissal_restrictions?: { - /** @description The list of user `login`s with dismissal access */ - users?: (string)[]; - /** @description The list of team `slug`s with dismissal access */ - teams?: (string)[]; - /** @description The list of app `slug`s with dismissal access */ - apps?: (string)[]; - }; - /** @description Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. */ - dismiss_stale_reviews?: boolean; - /** @description Blocks merging pull requests until [code owners](https://docs.github.com/articles/about-code-owners/) have reviewed. */ - require_code_owner_reviews?: boolean; - /** @description Specifies the number of reviewers required to approve pull requests. Use a number between 1 and 6 or 0 to not require reviewers. */ - required_approving_review_count?: number; /** - * @description Whether the most recent push must be approved by someone other than the person who pushed it. Default: `false` - * @default false + * @description The permissions that the associated user will have on the repository. Valid values are `read`, `write`, `maintain`, `triage`, and `admin`. + * @enum {string} */ - require_last_push_approval?: boolean; - /** @description Allow specific users, teams, or apps to bypass pull request requirements. */ - bypass_pull_request_allowances?: { - /** @description The list of user `login`s allowed to bypass pull request requirements. */ - users?: (string)[]; - /** @description The list of team `slug`s allowed to bypass pull request requirements. */ - teams?: (string)[]; - /** @description The list of app `slug`s allowed to bypass pull request requirements. */ - apps?: (string)[]; - }; + permissions?: "read" | "write" | "maintain" | "triage" | "admin"; }; }; }; @@ -90955,110 +97597,150 @@ export interface operations { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["protected-branch-pull-request-review"]; + "application/json": components["schemas"]["repository-invitation"]; }; }; - 422: components["responses"]["validation_failed"]; }; }; - "repos/get-commit-signature-protection": { + "issues/list-for-repo": { /** - * Get commit signature protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://docs.github.com/articles/signing-commits-with-gpg) in GitHub Help. + * List repository issues + * @description List issues in a repository. Only open issues will be listed. * - * **Note**: You must enable branch protection to require signed commits. + * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. */ + parameters?: { + /** @description If an `integer` is passed, it should refer to a milestone by its `number` field. If the string `*` is passed, issues with any milestone are accepted. If the string `none` is passed, issues without milestones are returned. */ + /** @description Indicates the state of the issues to return. */ + /** @description Can be the name of a user. Pass in `none` for issues with no assigned user, and `*` for issues assigned to any user. */ + /** @description The user that created the issue. */ + /** @description A user that's mentioned in the issue. */ + /** @description What to sort results by. */ + query?: { + milestone?: string; + state?: "open" | "closed" | "all"; + assignee?: string; + creator?: string; + mentioned?: string; + sort?: "created" | "updated" | "comments"; + }; + }; responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["protected-branch-admin-enforced"]; + "application/json": (components["schemas"]["issue"])[]; }; }; + 301: components["responses"]["moved_permanently"]; 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - "repos/create-commit-signature-protection": { + "issues/create": { /** - * Create commit signature protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Create an issue + * @description Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://docs.github.com/articles/disabling-issues/), the API returns a `410 Gone` status. * - * When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits. + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ + requestBody: { + content: { + "application/json": { + /** @description The title of the issue. */ + title: string | number; + /** @description The contents of the issue. */ + body?: string; + /** @description Login for the user that this issue should be assigned to. _NOTE: Only users with push access can set the assignee for new issues. The assignee is silently dropped otherwise. **This field is deprecated.**_ */ + assignee?: OneOf<[string, null]>; + milestone?: string | number; + /** @description Labels to associate with this issue. _NOTE: Only users with push access can set labels for new issues. Labels are silently dropped otherwise._ */ + labels?: (OneOf<[string, { + id?: number; + name?: string; + description?: OneOf<[string, null]>; + color?: OneOf<[string, null]>; + }]>)[]; + /** @description Logins for Users to assign to this issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ */ + assignees?: (string)[]; + }; + }; + }; responses: { /** @description Response */ - 200: { + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/issues/1347 */ + Location?: string; + }; content: { - "application/json": components["schemas"]["protected-branch-admin-enforced"]; + "application/json": components["schemas"]["issue"]; }; }; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; }; }; - "repos/delete-commit-signature-protection": { + "issues/list-comments-for-repo": { /** - * Delete commit signature protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits. + * List issue comments for a repository + * @description By default, Issue Comments are ordered by ascending ID. */ + parameters?: { + /** @description Either `asc` or `desc`. Ignored without the `sort` parameter. */ + query?: { + direction?: "asc" | "desc"; + }; + }; responses: { /** @description Response */ - 204: never; + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": (components["schemas"]["issue-comment"])[]; + }; + }; 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - "repos/get-status-checks-protection": { - /** - * Get status checks protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ + "issues/get-comment": { + /** Get an issue comment */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["status-check-policy"]; + "application/json": components["schemas"]["issue-comment"]; }; }; 404: components["responses"]["not_found"]; }; }; - "repos/remove-status-check-protection": { - /** - * Remove status check protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ + "issues/delete-comment": { + /** Delete an issue comment */ responses: { /** @description Response */ 204: never; }; }; - "repos/update-status-check-protection": { - /** - * Update status check protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. - */ - requestBody?: { + "issues/update-comment": { + /** Update an issue comment */ + requestBody: { content: { "application/json": { - /** @description Require branches to be up to date before merging. */ - strict?: boolean; - /** - * @deprecated - * @description **Deprecated**: The list of status checks to require in order to merge into this branch. If any of these checks have recently been set by a particular GitHub App, they will be required to come from that app in future for the branch to merge. Use `checks` instead of `contexts` for more fine-grained control. - */ - contexts?: (string)[]; - /** @description The list of status checks to require in order to merge into this branch. */ - checks?: ({ - /** @description The name of the required check */ - context: string; - /** @description The ID of the GitHub App that must provide this check. Omit this field to automatically select the GitHub App that has recently provided this check, or any app if it was not set by a GitHub App. Pass -1 to explicitly allow any app to set the status. */ - app_id?: number; - })[]; + /** @description The contents of the comment. */ + body: string; }; }; }; @@ -91066,631 +97748,526 @@ export interface operations { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["status-check-policy"]; + "application/json": components["schemas"]["issue-comment"]; }; }; - 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; }; }; - "repos/get-all-status-check-contexts": { + "reactions/list-for-issue-comment": { /** - * Get all status check contexts - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * List reactions for an issue comment + * @description List the reactions to an [issue comment](https://docs.github.com/rest/reference/issues#comments). */ + parameters?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to an issue comment. */ + query?: { + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": (string)[]; + "application/json": (components["schemas"]["reaction"])[]; }; }; 404: components["responses"]["not_found"]; }; }; - "repos/set-status-check-contexts": { + "reactions/create-for-issue-comment": { /** - * Set status check contexts - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Create reaction for an issue comment + * @description Create a reaction to an [issue comment](https://docs.github.com/rest/reference/issues#comments). A response with an HTTP `200` status means that you already added the reaction type to this issue comment. */ - requestBody?: { + requestBody: { content: { - "application/json": OneOf<[{ - /** @description The name of the status checks */ - contexts: (string)[]; - }, (string)[]]>; + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the issue comment. + * @enum {string} + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; }; }; responses: { - /** @description Response */ + /** @description Reaction exists */ 200: { content: { - "application/json": (string)[]; + "application/json": components["schemas"]["reaction"]; }; }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/add-status-check-contexts": { - /** - * Add status check contexts - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description The name of the status checks */ - contexts: (string)[]; - }, (string)[]]>; - }; - }; - responses: { - /** @description Response */ - 200: { + /** @description Reaction created */ + 201: { content: { - "application/json": (string)[]; + "application/json": components["schemas"]["reaction"]; }; }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; }; }; - "repos/remove-status-check-contexts": { + "reactions/delete-for-issue-comment": { /** - * Remove status check contexts - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Delete an issue comment reaction + * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id`. + * + * Delete a reaction to an [issue comment](https://docs.github.com/rest/reference/issues#comments). */ - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description The name of the status checks */ - contexts: (string)[]; - }, (string)[]]>; - }; + responses: { + /** @description Response */ + 204: never; }; + }; + "issues/list-events-for-repo": { + /** List issue events for a repository */ responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": (string)[]; + "application/json": (components["schemas"]["issue-event"])[]; }; }; - 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; }; }; - "repos/get-access-restrictions": { - /** - * Get access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists who has access to this protected branch. - * - * **Note**: Users, apps, and teams `restrictions` are only available for organization-owned repositories. - */ + "issues/get-event": { + /** Get an issue event */ + parameters: { + path: { + event_id: number; + }; + }; responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["branch-restriction-policy"]; + "application/json": components["schemas"]["issue-event"]; }; }; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; }; }; - "repos/delete-access-restrictions": { - /** - * Delete access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Disables the ability to restrict who can push to this branch. - */ - responses: { - /** @description Response */ - 204: never; - }; - }; - "repos/get-apps-with-access-to-protected-branch": { + "issues/get": { /** - * Get apps with access to the protected branch - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Get an issue + * @description The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-redirects-redirects) if the issue was + * [transferred](https://docs.github.com/articles/transferring-an-issue-to-another-repository/) to another repository. If + * the issue was transferred to or deleted from a repository where the authenticated user lacks read access, the API + * returns a `404 Not Found` status. If the issue was deleted from a repository where the authenticated user has read + * access, the API returns a `410 Gone` status. To receive webhook events for transferred and deleted issues, subscribe + * to the [`issues`](https://docs.github.com/webhooks/event-payloads/#issues) webhook. * - * Lists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. */ responses: { /** @description Response */ 200: { content: { - "application/json": (components["schemas"]["integration"])[]; + "application/json": components["schemas"]["issue"]; }; }; + 301: components["responses"]["moved_permanently"]; + 304: components["responses"]["not_modified"]; 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; }; }; - "repos/set-app-access-restrictions": { + "issues/update": { /** - * Set app access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Replaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * Update an issue + * @description Issue owners and users with push access can edit an issue. */ requestBody?: { content: { - "application/json": OneOf<[{ - /** @description The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items. */ - apps: (string)[]; - }, (string)[]]>; + "application/json": { + /** @description The title of the issue. */ + title?: string | number; + /** @description The contents of the issue. */ + body?: OneOf<[string, null]>; + /** @description Login for the user that this issue should be assigned to. **This field is deprecated.** */ + assignee?: OneOf<[string, null]>; + /** + * @description State of the issue. Either `open` or `closed`. + * @enum {string} + */ + state?: "open" | "closed"; + /** + * @description The reason for the current state + * @enum {string|null} + */ + state_reason?: "completed" | "not_planned" | "reopened" | "" | null; + milestone?: string | number; + /** @description Labels to associate with this issue. Pass one or more Labels to _replace_ the set of Labels on this Issue. Send an empty array (`[]`) to clear all Labels from the Issue. _NOTE: Only users with push access can set labels for issues. Labels are silently dropped otherwise._ */ + labels?: (OneOf<[string, { + id?: number; + name?: string; + description?: OneOf<[string, null]>; + color?: OneOf<[string, null]>; + }]>)[]; + /** @description Logins for Users to assign to this issue. Pass one or more user logins to _replace_ the set of assignees on this Issue. Send an empty array (`[]`) to clear all assignees from the Issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ */ + assignees?: (string)[]; + }; }; }; responses: { /** @description Response */ 200: { content: { - "application/json": (components["schemas"]["integration"])[]; + "application/json": components["schemas"]["issue"]; }; }; + 301: components["responses"]["moved_permanently"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; }; }; - "repos/add-app-access-restrictions": { + "issues/add-assignees": { /** - * Add app access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Grants the specified apps push access for this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * Add assignees to an issue + * @description Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced. */ requestBody?: { content: { - "application/json": OneOf<[{ - /** @description The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items. */ - apps: (string)[]; - }, (string)[]]>; + "application/json": { + /** @description Usernames of people to assign this issue to. _NOTE: Only users with push access can add assignees to an issue. Assignees are silently ignored otherwise._ */ + assignees?: (string)[]; + }; }; }; responses: { /** @description Response */ - 200: { + 201: { content: { - "application/json": (components["schemas"]["integration"])[]; + "application/json": components["schemas"]["issue"]; }; }; - 422: components["responses"]["validation_failed"]; }; }; - "repos/remove-app-access-restrictions": { + "issues/remove-assignees": { /** - * Remove app access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Removes the ability of an app to push to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * Remove assignees from an issue + * @description Removes one or more assignees from an issue. */ requestBody?: { content: { - "application/json": OneOf<[{ - /** @description The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items. */ - apps: (string)[]; - }, (string)[]]>; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": (components["schemas"]["integration"])[]; + "application/json": { + /** @description Usernames of assignees to remove from an issue. _NOTE: Only users with push access can remove assignees from an issue. Assignees are silently ignored otherwise._ */ + assignees?: (string)[]; }; }; - 422: components["responses"]["validation_failed"]; }; - }; - "repos/get-teams-with-access-to-protected-branch": { - /** - * Get teams with access to the protected branch - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists the teams who have push access to this branch. The list includes child teams. - */ responses: { /** @description Response */ 200: { content: { - "application/json": (components["schemas"]["team"])[]; + "application/json": components["schemas"]["issue"]; }; }; - 404: components["responses"]["not_found"]; }; }; - "repos/set-team-access-restrictions": { + "issues/list-comments": { /** - * Set team access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Replaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams. - * - * | Type | Description | - * | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ | - * | `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | - */ - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description The slug values for teams */ - teams: (string)[]; - }, (string)[]]>; - }; - }; + * List issue comments + * @description Issue Comments are ordered by ascending ID. + */ responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": (components["schemas"]["team"])[]; + "application/json": (components["schemas"]["issue-comment"])[]; }; }; - 422: components["responses"]["validation_failed"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; }; }; - "repos/add-team-access-restrictions": { + "issues/create-comment": { /** - * Add team access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Grants the specified teams push access for this branch. You can also give push access to child teams. - * - * | Type | Description | - * | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ | - * | `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + * Create an issue comment + * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ - requestBody?: { + requestBody: { content: { - "application/json": OneOf<[{ - /** @description The slug values for teams */ - teams: (string)[]; - }, (string)[]]>; + "application/json": { + /** @description The contents of the comment. */ + body: string; + }; }; }; responses: { /** @description Response */ - 200: { + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/issues/comments/1 */ + Location?: string; + }; content: { - "application/json": (components["schemas"]["team"])[]; + "application/json": components["schemas"]["issue-comment"]; }; }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; 422: components["responses"]["validation_failed"]; }; }; - "repos/remove-team-access-restrictions": { - /** - * Remove team access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Removes the ability of a team to push to this branch. You can also remove push access for child teams. - * - * | Type | Description | - * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | - * | `array` | Teams that should no longer have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | - */ - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description The slug values for teams */ - teams: (string)[]; - }, (string)[]]>; - }; - }; + "issues/list-events": { + /** List issue events */ responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": (components["schemas"]["team"])[]; + "application/json": (components["schemas"]["issue-event-for-issue"])[]; }; }; - 422: components["responses"]["validation_failed"]; + 410: components["responses"]["gone"]; }; }; - "repos/get-users-with-access-to-protected-branch": { - /** - * Get users with access to the protected branch - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists the people who have push access to this branch. - */ + "issues/list-labels-on-issue": { + /** List labels for an issue */ responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": (components["schemas"]["simple-user"])[]; + "application/json": (components["schemas"]["label"])[]; }; }; + 301: components["responses"]["moved_permanently"]; 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; }; }; - "repos/set-user-access-restrictions": { + "issues/set-labels": { /** - * Set user access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people. - * - * | Type | Description | - * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | - * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + * Set labels for an issue + * @description Removes any previous labels and sets the new labels for an issue. */ requestBody?: { content: { "application/json": OneOf<[{ - /** @description The username for users */ - users: (string)[]; - }, (string)[]]>; + /** @description The names of the labels to set for the issue. The labels you set replace any existing labels. You can pass an empty array to remove all labels. Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. You can also add labels to the existing labels for an issue. For more information, see "[Add labels to an issue](https://docs.github.com/rest/reference/issues#add-labels-to-an-issue)." */ + labels?: (string)[]; + }, (string)[], { + labels?: ({ + name: string; + })[]; + }, ({ + name: string; + })[], string]>; }; }; responses: { /** @description Response */ 200: { content: { - "application/json": (components["schemas"]["simple-user"])[]; + "application/json": (components["schemas"]["label"])[]; }; }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; 422: components["responses"]["validation_failed"]; }; }; - "repos/add-user-access-restrictions": { - /** - * Add user access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Grants the specified people push access for this branch. - * - * | Type | Description | - * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | - * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | - */ + "issues/add-labels": { + /** Add labels to an issue */ requestBody?: { content: { "application/json": OneOf<[{ - /** @description The username for users */ - users: (string)[]; - }, (string)[]]>; + /** @description The names of the labels to add to the issue's existing labels. You can pass an empty array to remove all labels. Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. You can also replace all of the labels for an issue. For more information, see "[Set labels for an issue](https://docs.github.com/rest/reference/issues#set-labels-for-an-issue)." */ + labels?: (string)[]; + }, (string)[], { + labels?: ({ + name: string; + })[]; + }, ({ + name: string; + })[], string]>; }; }; responses: { /** @description Response */ 200: { content: { - "application/json": (components["schemas"]["simple-user"])[]; + "application/json": (components["schemas"]["label"])[]; }; }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; 422: components["responses"]["validation_failed"]; }; }; - "repos/remove-user-access-restrictions": { + "issues/remove-all-labels": { + /** Remove all labels from an issue */ + responses: { + /** @description Response */ + 204: never; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + "issues/remove-label": { /** - * Remove user access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Removes the ability of a user to push to this branch. - * - * | Type | Description | - * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- | - * | `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + * Remove a label from an issue + * @description Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a `404 Not Found` status if the label does not exist. */ - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description The username for users */ - users: (string)[]; - }, (string)[]]>; + parameters: { + path: { + name: string; }; }; responses: { /** @description Response */ 200: { content: { - "application/json": (components["schemas"]["simple-user"])[]; + "application/json": (components["schemas"]["label"])[]; }; }; - 422: components["responses"]["validation_failed"]; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; }; }; - "repos/rename-branch": { + "issues/lock": { /** - * Rename a branch - * @description Renames a branch in a repository. - * - * **Note:** Although the API responds immediately, the branch rename process might take some extra time to complete in the background. You won't be able to push to the old branch name while the rename process is in progress. For more information, see "[Renaming a branch](https://docs.github.com/github/administering-a-repository/renaming-a-branch)". - * - * The permissions required to use this endpoint depends on whether you are renaming the default branch. - * - * To rename a non-default branch: - * - * * Users must have push access. - * * GitHub Apps must have the `contents:write` repository permission. - * - * To rename the default branch: + * Lock an issue + * @description Users with push access can lock an issue or pull request's conversation. * - * * Users must have admin or owner permissions. - * * GitHub Apps must have the `administration:write` repository permission. + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." */ - requestBody: { + requestBody?: { content: { - "application/json": { - /** @description The new name of the branch. */ - new_name: string; - }; + "application/json": OneOf<[{ + /** + * @description The reason for locking the issue or pull request conversation. Lock will fail if you don't use one of these reasons: + * \* `off-topic` + * \* `too heated` + * \* `resolved` + * \* `spam` + * @enum {string} + */ + lock_reason?: "off-topic" | "too heated" | "resolved" | "spam"; + }, null]>; }; }; responses: { /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["branch-with-protection"]; - }; - }; + 204: never; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; 422: components["responses"]["validation_failed"]; }; }; - "checks/create": { + "issues/unlock": { /** - * Create a check run - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Creates a new check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to create check runs. - * - * In a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs. + * Unlock an issue + * @description Users with push access can unlock an issue's conversation. */ - requestBody: { - content: { - "application/json": OneOf<[{ - /** @enum {unknown} */ - status: "completed"; - [key: string]: unknown | undefined; - }, { - /** @enum {unknown} */ - status?: "queued" | "in_progress"; - [key: string]: unknown | undefined; - }]>; - }; - }; responses: { /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["check-run"]; - }; - }; + 204: never; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; - "checks/get": { + "reactions/list-for-issue": { /** - * Get a check run - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Gets a single check run using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. + * List reactions for an issue + * @description List the reactions to an [issue](https://docs.github.com/rest/reference/issues). */ + parameters?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to an issue. */ + query?: { + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["check-run"]; + "application/json": (components["schemas"]["reaction"])[]; }; }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; }; }; - "checks/update": { + "reactions/create-for-issue": { /** - * Update a check run - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Updates a check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to edit check runs. + * Create reaction for an issue + * @description Create a reaction to an [issue](https://docs.github.com/rest/reference/issues/). A response with an HTTP `200` status means that you already added the reaction type to this issue. */ requestBody: { content: { - "application/json": ({ - /** @description The name of the check. For example, "code-coverage". */ - name?: string; - /** @description The URL of the integrator's site that has the full details of the check. */ - details_url?: string; - /** @description A reference for the run on the integrator's system. */ - external_id?: string; - /** - * Format: date-time - * @description This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - started_at?: string; - /** - * @description The current status. - * @enum {string} - */ - status?: "queued" | "in_progress" | "completed"; + "application/json": { /** - * @description **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. - * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. You cannot change a check run conclusion to `stale`, only GitHub can set this. + * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the issue. * @enum {string} */ - conclusion?: "action_required" | "cancelled" | "failure" | "neutral" | "success" | "skipped" | "stale" | "timed_out"; - /** - * Format: date-time - * @description The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - completed_at?: string; - /** @description Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. */ - output?: { - /** @description **Required**. */ - title?: string; - /** @description Can contain Markdown. */ - summary: string; - /** @description Can contain Markdown. */ - text?: string; - /** @description Adds information from your analysis to specific lines of code. Annotations are visible in GitHub's pull request UI. Annotations are visible in GitHub's pull request UI. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/rest/reference/checks#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. For details about annotations in the UI, see "[About status checks](https://docs.github.com/articles/about-status-checks#checks)". */ - annotations?: ({ - /** @description The path of the file to add an annotation to. For example, `assets/css/main.css`. */ - path: string; - /** @description The start line of the annotation. Line numbers start at 1. */ - start_line: number; - /** @description The end line of the annotation. */ - end_line: number; - /** @description The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. Column numbers start at 1. */ - start_column?: number; - /** @description The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. */ - end_column?: number; - /** - * @description The level of the annotation. - * @enum {string} - */ - annotation_level: "notice" | "warning" | "failure"; - /** @description A short description of the feedback for these lines of code. The maximum size is 64 KB. */ - message: string; - /** @description The title that represents the annotation. The maximum size is 255 characters. */ - title?: string; - /** @description Details about this annotation. The maximum size is 64 KB. */ - raw_details?: string; - })[]; - /** @description Adds images to the output displayed in the GitHub pull request UI. */ - images?: ({ - /** @description The alternative text for the image. */ - alt: string; - /** @description The full URL of the image. */ - image_url: string; - /** @description A short image description. */ - caption?: string; - })[]; - }; - /** @description Possible further actions the integrator can perform, which a user may trigger. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. See the [`actions` object](https://docs.github.com/rest/reference/checks#actions-object) description. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://docs.github.com/rest/reference/checks#check-runs-and-requested-actions)." */ - actions?: ({ - /** @description The text to be displayed on a button in the web UI. The maximum size is 20 characters. */ - label: string; - /** @description A short explanation of what this action would do. The maximum size is 40 characters. */ - description: string; - /** @description A reference for the action on the integrator's system. The maximum size is 20 characters. */ - identifier: string; - })[]; - }) & (({ - /** @enum {unknown} */ - status?: "completed"; - [key: string]: unknown | undefined; - }) | ({ - /** @enum {unknown} */ - status?: "queued" | "in_progress"; - [key: string]: unknown | undefined; - })); + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; }; }; responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["check-run"]; + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; }; }; + 422: components["responses"]["validation_failed"]; }; }; - "checks/list-annotations": { + "reactions/delete-for-issue": { /** - * List check run annotations - * @description Lists annotations for a check run using the annotation `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get annotations for a check run. OAuth Apps and authenticated users must have the `repo` scope to get annotations for a check run in a private repository. + * Delete an issue reaction + * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id`. + * + * Delete a reaction to an [issue](https://docs.github.com/rest/reference/issues/). */ + responses: { + /** @description Response */ + 204: never; + }; + }; + "issues/list-events-for-timeline": { + /** List timeline events for an issue */ responses: { /** @description Response */ 200: { @@ -91698,966 +98275,776 @@ export interface operations { Link: components["headers"]["link"]; }; content: { - "application/json": (components["schemas"]["check-annotation"])[]; + "application/json": (components["schemas"]["timeline-issue-events"])[]; }; }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; }; }; - "checks/rerequest-run": { - /** - * Rerequest a check run - * @description Triggers GitHub to rerequest an existing check run, without pushing new code to a repository. This endpoint will trigger the [`check_run` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) event with the action `rerequested`. When a check run is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. - * - * To rerequest a check run, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. - */ + "repos/list-deploy-keys": { + /** List deploy keys */ responses: { /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Forbidden if the check run is not rerequestable or doesn't belong to the authenticated GitHub App */ - 403: { - content: { - "application/json": components["schemas"]["basic-error"]; + 200: { + headers: { + Link: components["headers"]["link"]; }; - }; - 404: components["responses"]["not_found"]; - /** @description Validation error if the check run is not rerequestable */ - 422: { content: { - "application/json": components["schemas"]["basic-error"]; + "application/json": (components["schemas"]["deploy-key"])[]; }; }; }; }; - "checks/create-suite": { + "repos/create-deploy-key": { /** - * Create a check suite - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * - * By default, check suites are automatically created when you create a [check run](https://docs.github.com/rest/reference/checks#check-runs). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using "[Update repository preferences for check suites](https://docs.github.com/rest/reference/checks#update-repository-preferences-for-check-suites)". Your GitHub App must have the `checks:write` permission to create check suites. + * Create a deploy key + * @description You can create a read-only deploy key. */ requestBody: { content: { "application/json": { - /** @description The sha of the head commit. */ - head_sha: string; + /** @description A name for the key. */ + title?: string; + /** @description The contents of the key. */ + key: string; + /** + * @description If `true`, the key will only be able to read repository contents. Otherwise, the key will be able to read and write. + * + * Deploy keys with write access can perform the same actions as an organization member with admin access, or a collaborator on a personal repository. For more information, see "[Repository permission levels for an organization](https://docs.github.com/articles/repository-permission-levels-for-an-organization/)" and "[Permission levels for a user account repository](https://docs.github.com/articles/permission-levels-for-a-user-account-repository/)." + */ + read_only?: boolean; }; }; }; responses: { - /** @description Response when the suite already exists */ - 200: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/keys/1 */ + Location?: string; + }; content: { - "application/json": components["schemas"]["check-suite"]; + "application/json": components["schemas"]["deploy-key"]; }; }; - /** @description Response when the suite was created */ - 201: { + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-deploy-key": { + /** Get a deploy key */ + responses: { + /** @description Response */ + 200: { content: { - "application/json": components["schemas"]["check-suite"]; + "application/json": components["schemas"]["deploy-key"]; }; }; + 404: components["responses"]["not_found"]; }; }; - "checks/set-suites-preferences": { + "repos/delete-deploy-key": { /** - * Update repository preferences for check suites - * @description Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://docs.github.com/rest/reference/checks#create-a-check-suite). You must have admin permissions in the repository to set preferences for check suites. + * Delete a deploy key + * @description Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead. */ + responses: { + /** @description Response */ + 204: never; + }; + }; + "issues/list-labels-for-repo": { + /** List labels for a repository */ + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": (components["schemas"]["label"])[]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/create-label": { + /** Create a label */ requestBody: { content: { "application/json": { - /** @description Enables or disables automatic creation of CheckSuite events upon pushes to the repository. Enabled by default. */ - auto_trigger_checks?: ({ - /** @description The `id` of the GitHub App. */ - app_id: number; - /** - * @description Set to `true` to enable automatic creation of CheckSuite events upon pushes to the repository, or `false` to disable them. - * @default true - */ - setting: boolean; - })[]; + /** @description The name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see "[Emoji cheat sheet](https://github.com/ikatyang/emoji-cheat-sheet)." */ + name: string; + /** @description The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. */ + color?: string; + /** @description A short description of the label. Must be 100 characters or fewer. */ + description?: string; }; }; }; responses: { /** @description Response */ - 200: { + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/labels/bug */ + Location?: string; + }; content: { - "application/json": components["schemas"]["check-suite-preference"]; + "application/json": components["schemas"]["label"]; }; }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - "checks/get-suite": { - /** - * Get a check suite - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * - * Gets a single check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository. - */ + "issues/get-label": { + /** Get a label */ + parameters: { + path: { + name: string; + }; + }; responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["check-suite"]; + "application/json": components["schemas"]["label"]; }; }; + 404: components["responses"]["not_found"]; }; }; - "checks/list-for-suite": { - /** - * List check runs in a check suite - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Lists check runs for a check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. - */ - parameters?: { - /** @description Filters check runs by their `completed_at` timestamp. `latest` returns the most recent check runs. */ - query?: { - filter?: "latest" | "all"; + "issues/delete-label": { + /** Delete a label */ + parameters: { + path: { + name: string; }; }; responses: { /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + 204: never; + }; + }; + "issues/update-label": { + /** Update a label */ + parameters: { + path: { + name: string; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The new name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see "[Emoji cheat sheet](https://github.com/ikatyang/emoji-cheat-sheet)." */ + new_name?: string; + /** @description The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. */ + color?: string; + /** @description A short description of the label. Must be 100 characters or fewer. */ + description?: string; }; + }; + }; + responses: { + /** @description Response */ + 200: { content: { - "application/json": { - total_count: number; - check_runs: (components["schemas"]["check-run"])[]; - }; + "application/json": components["schemas"]["label"]; }; }; }; }; - "checks/rerequest-suite": { + "repos/list-languages": { /** - * Rerequest a check suite - * @description Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://docs.github.com/webhooks/event-payloads/#check_suite) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. - * - * To rerequest a check suite, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. + * List repository languages + * @description Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language. */ responses: { /** @description Response */ - 201: { + 200: { content: { - "application/json": components["schemas"]["empty-object"]; + "application/json": components["schemas"]["language"]; }; }; }; }; - "code-scanning/list-alerts-for-repo": { + "repos/enable-lfs-for-repo": { /** - * List code scanning alerts for a repository - * @description Lists code scanning alerts. - * - * To use this endpoint, you must use an access token with the `security_events` scope or, for alerts from public repositories only, an access token with the `public_repo` scope. - * - * GitHub Apps must have the `security_events` read - * permission to use this endpoint. - * - * The response includes a `most_recent_instance` object. - * This provides details of the most recent instance of this alert - * for the default branch (or for the specified Git reference if you used `ref` in the request). + * Enable Git LFS for a repository + * @description Enables Git LFS for a repository. Access tokens must have the `admin:enterprise` scope. */ - parameters?: { - /** @description The property by which to sort the results. */ - /** @description If specified, only code scanning alerts with this state will be returned. */ - query?: { - sort?: "created" | "updated"; - state?: components["schemas"]["code-scanning-alert-state"]; - }; + responses: { + 202: components["responses"]["accepted"]; + /** + * @description We will return a 403 with one of the following messages: + * + * - Git LFS support not enabled because Git LFS is globally disabled. + * - Git LFS support not enabled because Git LFS is disabled for the root repository in the network. + * - Git LFS support not enabled because Git LFS is disabled for . + */ + 403: never; }; + }; + "repos/disable-lfs-for-repo": { + /** + * Disable Git LFS for a repository + * @description Disables Git LFS for a repository. Access tokens must have the `admin:enterprise` scope. + */ responses: { /** @description Response */ - 200: { - content: { - "application/json": (components["schemas"]["code-scanning-alert-items"])[]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["code_scanning_forbidden_read"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; + 204: never; }; }; - "code-scanning/get-alert": { + "licenses/get-for-repo": { /** - * Get a code scanning alert - * @description Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. + * Get the license for a repository + * @description This method returns the contents of the repository's license file, if one is detected. * - * **Deprecation notice**: - * The instances field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The same information can now be retrieved via a GET request to the URL specified by `instances_url`. + * Similar to [Get repository content](https://docs.github.com/rest/reference/repos#get-repository-content), this method also supports [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw license content or rendered license HTML. */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["code-scanning-alert"]; + "application/json": components["schemas"]["license-content"]; }; }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["code_scanning_forbidden_read"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; }; }; - "code-scanning/update-alert": { + "repos/merge-upstream": { /** - * Update a code scanning alert - * @description Updates the status of a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. + * Sync a fork branch with the upstream repository + * @description Sync a branch of a forked repository to keep it up-to-date with the upstream repository. */ requestBody: { content: { "application/json": { - state: components["schemas"]["code-scanning-alert-set-state"]; - dismissed_reason?: components["schemas"]["code-scanning-alert-dismissed-reason"]; - dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + /** @description The name of the branch which should be updated to match upstream. */ + branch: string; }; }; }; responses: { - /** @description Response */ + /** @description The branch has been successfully synced with the upstream repository */ 200: { content: { - "application/json": components["schemas"]["code-scanning-alert"]; + "application/json": components["schemas"]["merged-upstream"]; }; }; - 403: components["responses"]["code_scanning_forbidden_write"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; + /** @description The branch could not be synced because of a merge conflict */ + 409: never; + /** @description The branch could not be synced for some other reason */ + 422: never; }; }; - "code-scanning/list-alert-instances": { - /** - * List instances of a code scanning alert - * @description Lists all instances of the specified code scanning alert. - * You must use an access token with the `security_events` scope to use this endpoint with private repos, - * the `public_repo` scope also grants permission to read security events on public repos only. - * GitHub Apps must have the `security_events` read permission to use this endpoint. - */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": (components["schemas"]["code-scanning-alert-instance"])[]; + "repos/merge": { + /** Merge a branch */ + requestBody: { + content: { + "application/json": { + /** @description The name of the base branch that the head will be merged into. */ + base: string; + /** @description The head to merge. This can be a branch name or a commit SHA1. */ + head: string; + /** @description Commit message to use for the merge commit. If omitted, a default message will be used. */ + commit_message?: string; }; }; - 403: components["responses"]["code_scanning_forbidden_read"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - "code-scanning/list-recent-analyses": { - /** - * List code scanning analyses for a repository - * @description Lists the details of all code scanning analyses for a repository, - * starting with the most recent. - * The response is paginated and you can use the `page` and `per_page` parameters - * to list the analyses you're interested in. - * By default 30 analyses are listed per page. - * - * The `rules_count` field in the response give the number of rules - * that were run in the analysis. - * For very old analyses this data is not available, - * and `0` is returned in this field. - * - * You must use an access token with the `security_events` scope to use this endpoint with private repos, - * the `public_repo` scope also grants permission to read security events on public repos only. - * GitHub Apps must have the `security_events` read permission to use this endpoint. - * - * **Deprecation notice**: - * The `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field. - */ - parameters?: { - /** @description The Git reference for the analyses you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ - /** @description Filter analyses belonging to the same SARIF upload. */ - /** @description The property by which to sort the results. */ - query?: { - ref?: components["schemas"]["code-scanning-ref"]; - sarif_id?: components["schemas"]["code-scanning-analysis-sarif-id"]; - sort?: "created"; - }; }; responses: { - /** @description Response */ - 200: { + /** @description Successful Response (The resulting merge commit) */ + 201: { content: { - "application/json": (components["schemas"]["code-scanning-analysis"])[]; + "application/json": components["schemas"]["commit"]; }; }; - 403: components["responses"]["code_scanning_forbidden_read"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; + /** @description Response when already merged */ + 204: never; + 403: components["responses"]["forbidden"]; + /** @description Not Found when the base or head does not exist */ + 404: never; + /** @description Conflict when there is a merge conflict */ + 409: never; + 422: components["responses"]["validation_failed"]; }; }; - "code-scanning/get-analysis": { - /** - * Get a code scanning analysis for a repository - * @description Gets a specified code scanning analysis for a repository. - * You must use an access token with the `security_events` scope to use this endpoint with private repos, - * the `public_repo` scope also grants permission to read security events on public repos only. - * GitHub Apps must have the `security_events` read permission to use this endpoint. - * - * The default JSON response contains fields that describe the analysis. - * This includes the Git reference and commit SHA to which the analysis relates, - * the datetime of the analysis, the name of the code scanning tool, - * and the number of alerts. - * - * The `rules_count` field in the default response give the number of rules - * that were run in the analysis. - * For very old analyses this data is not available, - * and `0` is returned in this field. - * - * If you use the Accept header `application/sarif+json`, - * the response contains the analysis data that was uploaded. - * This is formatted as - * [SARIF version 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html). - */ - parameters: { - /** @description The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation. */ - path: { - analysis_id: number; + "issues/list-milestones": { + /** List milestones */ + parameters?: { + /** @description The state of the milestone. Either `open`, `closed`, or `all`. */ + /** @description What to sort results by. Either `due_on` or `completeness`. */ + /** @description The direction of the sort. Either `asc` or `desc`. */ + query?: { + state?: "open" | "closed" | "all"; + sort?: "due_on" | "completeness"; + direction?: "asc" | "desc"; }; }; responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["code-scanning-analysis"]; - "application/json+sarif": { - [key: string]: unknown | undefined; - }; + "application/json": (components["schemas"]["milestone"])[]; }; }; - 403: components["responses"]["code_scanning_forbidden_read"]; 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; }; }; - "code-scanning/delete-analysis": { - /** - * Delete a code scanning analysis from a repository - * @description Deletes a specified code scanning analysis from a repository. For - * private repositories, you must use an access token with the `repo` scope. For public repositories, - * you must use an access token with `public_repo` scope. - * GitHub Apps must have the `security_events` write permission to use this endpoint. - * - * You can delete one analysis at a time. - * To delete a series of analyses, start with the most recent analysis and work backwards. - * Conceptually, the process is similar to the undo function in a text editor. - * - * When you list the analyses for a repository, - * one or more will be identified as deletable in the response: - * - * ``` - * "deletable": true - * ``` - * - * An analysis is deletable when it's the most recent in a set of analyses. - * Typically, a repository will have multiple sets of analyses - * for each enabled code scanning tool, - * where a set is determined by a unique combination of analysis values: - * - * * `ref` - * * `tool` - * * `category` - * - * If you attempt to delete an analysis that is not the most recent in a set, - * you'll get a 400 response with the message: - * - * ``` - * Analysis specified is not deletable. - * ``` - * - * The response from a successful `DELETE` operation provides you with - * two alternative URLs for deleting the next analysis in the set: - * `next_analysis_url` and `confirm_delete_url`. - * Use the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis - * in a set. This is a useful option if you want to preserve at least one analysis - * for the specified tool in your repository. - * Use the `confirm_delete_url` URL if you are content to remove all analyses for a tool. - * When you delete the last analysis in a set, the value of `next_analysis_url` and `confirm_delete_url` - * in the 200 response is `null`. - * - * As an example of the deletion process, - * let's imagine that you added a workflow that configured a particular code scanning tool - * to analyze the code in a repository. This tool has added 15 analyses: - * 10 on the default branch, and another 5 on a topic branch. - * You therefore have two separate sets of analyses for this tool. - * You've now decided that you want to remove all of the analyses for the tool. - * To do this you must make 15 separate deletion requests. - * To start, you must find an analysis that's identified as deletable. - * Each set of analyses always has one that's identified as deletable. - * Having found the deletable analysis for one of the two sets, - * delete this analysis and then continue deleting the next analysis in the set until they're all deleted. - * Then repeat the process for the second set. - * The procedure therefore consists of a nested loop: - * - * **Outer loop**: - * * List the analyses for the repository, filtered by tool. - * * Parse this list to find a deletable analysis. If found: - * - * **Inner loop**: - * * Delete the identified analysis. - * * Parse the response for the value of `confirm_delete_url` and, if found, use this in the next iteration. - * - * The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely. - */ - parameters: { - /** @description Allow deletion if the specified analysis is the last in a set. If you attempt to delete the final analysis in a set without setting this parameter to `true`, you'll get a 400 response with the message: `Analysis is last of its type and deletion may result in the loss of historical alert data. Please specify confirm_delete.` */ - query?: { - confirm_delete?: OneOf<[string, null]>; - }; - /** @description The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation. */ - path: { - analysis_id: number; + "issues/create-milestone": { + /** Create a milestone */ + requestBody: { + content: { + "application/json": { + /** @description The title of the milestone. */ + title: string; + /** + * @description The state of the milestone. Either `open` or `closed`. + * @default open + * @enum {string} + */ + state?: "open" | "closed"; + /** @description A description of the milestone. */ + description?: string; + /** + * Format: date-time + * @description The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + due_on?: string; + }; }; }; responses: { /** @description Response */ - 200: { + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/milestones/1 */ + Location?: string; + }; content: { - "application/json": components["schemas"]["code-scanning-analysis-deletion"]; + "application/json": components["schemas"]["milestone"]; }; }; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["code_scanning_forbidden_write"]; 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; + 422: components["responses"]["validation_failed"]; }; }; - "code-scanning/list-codeql-databases": { - /** - * List CodeQL databases for a repository - * @description Lists the CodeQL databases that are available in a repository. - * - * For private repositories, you must use an access token with the `security_events` scope. - * For public repositories, you can use tokens with the `security_events` or `public_repo` scope. - * GitHub Apps must have the `contents` read permission to use this endpoint. - */ + "issues/get-milestone": { + /** Get a milestone */ responses: { /** @description Response */ 200: { content: { - "application/json": (components["schemas"]["code-scanning-codeql-database"])[]; + "application/json": components["schemas"]["milestone"]; }; }; - 403: components["responses"]["code_scanning_forbidden_read"]; 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; }; }; - "code-scanning/get-codeql-database": { - /** - * Get a CodeQL database for a repository - * @description Gets a CodeQL database for a language in a repository. - * - * By default this endpoint returns JSON metadata about the CodeQL database. To - * download the CodeQL database binary content, set the `Accept` header of the request - * to [`application/zip`](https://docs.github.com/rest/overview/media-types), and make sure - * your HTTP client is configured to follow redirects or use the `Location` header - * to make a second request to get the redirect URL. - * - * For private repositories, you must use an access token with the `security_events` scope. - * For public repositories, you can use tokens with the `security_events` or `public_repo` scope. - * GitHub Apps must have the `contents` read permission to use this endpoint. - */ - parameters: { - /** @description The language of the CodeQL database. */ - path: { - language: string; - }; - }; + "issues/delete-milestone": { + /** Delete a milestone */ responses: { /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-scanning-codeql-database"]; - }; - }; - 302: components["responses"]["found"]; - 403: components["responses"]["code_scanning_forbidden_read"]; + 204: never; 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; }; }; - "code-scanning/upload-sarif": { - /** - * Upload an analysis as SARIF data - * @description Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint for private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. - * - * There are two places where you can upload code scanning results. - * - If you upload to a pull request, for example `--ref refs/pull/42/merge` or `--ref refs/pull/42/head`, then the results appear as alerts in a pull request check. For more information, see "[Triaging code scanning alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)." - * - If you upload to a branch, for example `--ref refs/heads/my-branch`, then the results appear in the **Security** tab for your repository. For more information, see "[Managing code scanning alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)." - * - * You must compress the SARIF-formatted analysis data that you want to upload, using `gzip`, and then encode it as a Base64 format string. For example: - * - * ``` - * gzip -c analysis-data.sarif | base64 -w0 - * ``` - * - * SARIF upload supports a maximum of 5000 results per analysis run. Any results over this limit are ignored and any SARIF uploads with more than 25,000 results are rejected. Typically, but not necessarily, a SARIF file contains a single run of a single tool. If a code scanning tool generates too many results, you should update the analysis configuration to run only the most important rules or queries. - * - * The `202 Accepted`, response includes an `id` value. - * You can use this ID to check the status of the upload by using this for the `/sarifs/{sarif_id}` endpoint. - * For more information, see "[Get information about a SARIF upload](/rest/reference/code-scanning#get-information-about-a-sarif-upload)." - */ - requestBody: { + "issues/update-milestone": { + /** Update a milestone */ + requestBody?: { content: { "application/json": { - commit_sha: components["schemas"]["code-scanning-analysis-commit-sha"]; - ref: components["schemas"]["code-scanning-ref"]; - sarif: components["schemas"]["code-scanning-analysis-sarif-file"]; + /** @description The title of the milestone. */ + title?: string; /** - * Format: uri - * @description The base directory used in the analysis, as it appears in the SARIF file. - * This property is used to convert file paths from absolute to relative, so that alerts can be mapped to their correct location in the repository. + * @description The state of the milestone. Either `open` or `closed`. + * @default open + * @enum {string} */ - checkout_uri?: string; + state?: "open" | "closed"; + /** @description A description of the milestone. */ + description?: string; /** * Format: date-time - * @description The time that the analysis run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - started_at?: string; - /** @description The name of the tool used to generate the code scanning analysis. If this parameter is not used, the tool name defaults to "API". If the uploaded SARIF contains a tool GUID, this will be available for filtering using the `tool_guid` parameter of operations such as `GET /repos/{owner}/{repo}/code-scanning/alerts`. */ - tool_name?: string; - /** - * @description Whether the SARIF file will be validated according to the code scanning specifications. - * This parameter is intended to help integrators ensure that the uploaded SARIF files are correctly rendered by code scanning. + * @description The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - validate?: boolean; + due_on?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["milestone"]; }; }; }; + }; + "issues/list-labels-for-milestone": { + /** List labels for issues in a milestone */ responses: { /** @description Response */ - 202: { + 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["code-scanning-sarifs-receipt"]; + "application/json": (components["schemas"]["label"])[]; }; }; - /** @description Bad Request if the sarif field is invalid */ - 400: never; - 403: components["responses"]["code_scanning_forbidden_write"]; - 404: components["responses"]["not_found"]; - /** @description Payload Too Large if the sarif field is too large */ - 413: never; - 503: components["responses"]["service_unavailable"]; }; }; - "code-scanning/get-sarif": { + "activity/list-repo-notifications-for-authenticated-user": { /** - * Get information about a SARIF upload - * @description Gets information about a SARIF upload, including the status and the URL of the analysis that was uploaded so that you can retrieve details of the analysis. For more information, see "[Get a code scanning analysis for a repository](/rest/reference/code-scanning#get-a-code-scanning-analysis-for-a-repository)." You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. + * List repository notifications for the authenticated user + * @description Lists all notifications for the current user in the specified repository. */ - parameters: { - /** @description The SARIF ID obtained after uploading. */ - path: { - sarif_id: string; - }; - }; responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["code-scanning-sarifs-status"]; + "application/json": (components["schemas"]["thread"])[]; }; }; - 403: components["responses"]["code_scanning_forbidden_read"]; - /** @description Not Found if the sarif id does not match any upload */ - 404: never; - 503: components["responses"]["service_unavailable"]; }; }; - "repos/codeowners-errors": { + "activity/mark-repo-notifications-as-read": { /** - * List CODEOWNERS errors - * @description List any syntax errors that are detected in the CODEOWNERS - * file. - * - * For more information about the correct CODEOWNERS syntax, - * see "[About code owners](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners)." + * Mark repository notifications as read + * @description Marks all notifications in a repository as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List repository notifications for the authenticated user](https://docs.github.com/rest/reference/activity#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. */ - parameters?: { - /** @description A branch, tag or commit name used to determine which version of the CODEOWNERS file to use. Default: the repository's default branch (e.g. `main`) */ - query?: { - ref?: string; + requestBody?: { + content: { + "application/json": { + /** + * Format: date-time + * @description Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. + */ + last_read_at?: string; + }; }; }; responses: { /** @description Response */ - 200: { + 202: { content: { - "application/json": components["schemas"]["codeowners-errors"]; + "application/json": { + message?: string; + url?: string; + }; }; }; - /** @description Resource not found */ - 404: never; + /** @description Reset Content */ + 205: never; }; }; - "codespaces/list-in-repository-for-authenticated-user": { - /** - * List codespaces in a repository for the authenticated user - * @description Lists the codespaces associated to a specified repository and the authenticated user. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. - */ + "repos/get-pages": { + /** Get a GitHub Pages site */ responses: { /** @description Response */ 200: { content: { - "application/json": { - total_count: number; - codespaces: (components["schemas"]["codespace"])[]; - }; + "application/json": components["schemas"]["page"]; }; }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; }; }; - "codespaces/create-with-repo-for-authenticated-user": { + "repos/update-information-about-pages-site": { /** - * Create a codespace in a repository - * @description Creates a codespace owned by the authenticated user in the specified repository. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + * Update information about a GitHub Pages site + * @description Updates information for a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). */ requestBody: { content: { - "application/json": OneOf<[{ - /** @description Git ref (typically a branch name) for this codespace */ - ref?: string; - /** @description Location for this codespace. Assigned by IP if not provided */ - location?: string; - /** @description IP for location auto-detection when proxying a request */ - client_ip?: string; - /** @description Machine type to use for this codespace */ - machine?: string; - /** @description Path to devcontainer.json config to use for this codespace */ - devcontainer_path?: string; - /** @description Whether to authorize requested permissions from devcontainer.json */ - multi_repo_permissions_opt_out?: boolean; - /** @description Working directory for this codespace */ - working_directory?: string; - /** @description Time in minutes before codespace stops from inactivity */ - idle_timeout_minutes?: number; - /** @description Display name for this codespace */ - display_name?: string; - /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ - retention_period_minutes?: number; - }, null]>; + "application/json": ({ + /** @description Specify a custom domain for the repository. Sending a `null` value will remove the custom domain. For more about custom domains, see "[Using a custom domain with GitHub Pages](https://docs.github.com/articles/using-a-custom-domain-with-github-pages/)." */ + cname?: OneOf<[string, null]>; + /** @description Specify whether HTTPS should be enforced for the repository. */ + https_enforced?: boolean; + /** @description Configures access controls for the GitHub Pages site. If public is set to `true`, the site is accessible to anyone on the internet. If set to `false`, the site will only be accessible to users who have at least `read` access to the repository that published the site. This includes anyone in your Enterprise if the repository is set to `internal` visibility. This feature is only available to repositories in an organization on an Enterprise plan. */ + public?: boolean; + /** + * @description The process by which the GitHub Pages site will be built. `workflow` means that the site is built by a custom GitHub Actions workflow. `legacy` means that the site is built by GitHub when changes are pushed to a specific branch. + * @enum {string} + */ + build_type?: "legacy" | "workflow"; + source?: ("gh-pages" | "master" | "master /docs") | ({ + /** @description The repository branch used to publish your site's source files. */ + branch: string; + /** + * @description The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`. + * @enum {string} + */ + path: "/" | "/docs"; + }); + }) & (Record | Record | Record | Record | Record); }; }; responses: { - /** @description Response when the codespace was successfully created */ - 201: { - content: { - "application/json": components["schemas"]["codespace"]; - }; + /** @description Response */ + 204: never; + 400: components["responses"]["bad_request"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/create-pages-site": { + /** + * Create a GitHub Pages site + * @description Configures a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages)." You must be an admin of the repository in order to use this operation. + */ + requestBody: { + content: { + "application/json": OneOf<[({ + /** + * @description The process in which the Page will be built. Possible values are `"legacy"` and `"workflow"`. + * @enum {string} + */ + build_type?: "legacy" | "workflow"; + /** @description The source branch and directory used to publish your Pages site. */ + source?: { + /** @description The repository branch used to publish your site's source files. */ + branch: string; + /** + * @description The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`. Default: `/` + * @default / + * @enum {string} + */ + path?: "/" | "/docs"; + }; + }) & (Record | Record), null]>; }; - /** @description Response when the codespace creation partially failed but is being retried in the background */ - 202: { + }; + responses: { + /** @description Response */ + 201: { content: { - "application/json": components["schemas"]["codespace"]; + "application/json": components["schemas"]["page"]; }; }; - 400: components["responses"]["bad_request"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; }; }; - "codespaces/list-devcontainers-in-repository-for-authenticated-user": { + "repos/delete-pages-site": { /** - * List devcontainer configurations in a repository for the authenticated user - * @description Lists the devcontainer.json files associated with a specified repository and the authenticated user. These files - * specify launchpoint configurations for codespaces created within the repository. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. + * Delete a GitHub Pages site + * @description Deletes a GitHub Pages site. You must be an admin of the repository in order to use this operation. */ + responses: { + /** @description Response */ + 204: never; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/list-pages-builds": { + /** List GitHub Pages builds */ responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": { - total_count: number; - devcontainers: ({ - path: string; - name?: string; - })[]; - }; + "application/json": (components["schemas"]["page-build"])[]; }; }; - 400: components["responses"]["bad_request"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; }; }; - "codespaces/repo-machines-for-authenticated-user": { + "repos/request-pages-build": { /** - * List available machine types for a repository - * @description List the machine types available for a given repository based on its configuration. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * Request a GitHub Pages build + * @description You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures. * - * GitHub Apps must have write access to the `codespaces_metadata` repository permission to use this endpoint. + * Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes. */ - parameters?: { - /** @description The location to check for available machines. Assigned by IP if not provided. */ - /** @description IP for location auto-detection when proxying a request */ - query?: { - location?: string; - client_ip?: string; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["page-build-status"]; + }; }; }; + }; + "repos/get-latest-pages-build": { + /** Get latest Pages build */ responses: { /** @description Response */ 200: { content: { - "application/json": { - total_count: number; - machines: (components["schemas"]["codespace-machine"])[]; - }; + "application/json": components["schemas"]["page-build"]; }; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; }; }; - "codespaces/pre-flight-with-repo-for-authenticated-user": { - /** - * Get default attributes for a codespace - * @description Gets the default attributes for codespaces created by the user with the repository. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - parameters?: { - /** @description The branch or commit to check for a default devcontainer path. If not specified, the default branch will be checked. */ - /** @description An alternative IP for default location auto-detection, such as when proxying a request. */ - query?: { - ref?: string; - client_ip?: string; + "repos/get-pages-build": { + /** Get GitHub Pages build */ + parameters: { + path: { + build_id: number; }; }; responses: { - /** @description Response when a user is able to create codespaces from the repository. */ + /** @description Response */ 200: { content: { - "application/json": { - billable_owner?: components["schemas"]["simple-user"]; - defaults?: { - location: string; - devcontainer_path: OneOf<[string, null]>; - }; - }; + "application/json": components["schemas"]["page-build"]; }; }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; }; }; - "codespaces/list-repo-secrets": { + "repos/create-pages-deployment": { /** - * List repository secrets - * @description Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `codespaces_secrets` repository permission to use this endpoint. + * Create a GitHub Pages deployment + * @description Create a GitHub Pages deployment for a repository. + * + * Users must have write permissions. GitHub Apps must have the `pages:write` permission to use this endpoint. */ + requestBody: { + content: { + "application/json": { + /** @description The URL of an artifact that contains the .zip or .tar of static assets to deploy. The artifact belongs to the repository. */ + artifact_url: string; + /** + * @description The target environment for this GitHub Pages deployment. + * @default github-pages + */ + environment?: string; + /** + * @description A unique string that represents the version of the build for this deployment. + * @default GITHUB_SHA + */ + pages_build_version: string; + /** @description The OIDC token issued by GitHub Actions certifying the origin of the deployment. */ + oidc_token: string; + }; + }; + }; responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": { - total_count: number; - secrets: (components["schemas"]["repo-codespaces-secret"])[]; - }; + "application/json": components["schemas"]["page-deployment"]; }; }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - "codespaces/get-repo-public-key": { + "repos/get-pages-health-check": { /** - * Get a repository public key - * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `codespaces_secrets` repository permission to use this endpoint. + * Get a DNS health check for GitHub Pages + * @description Gets a health check of the DNS settings for the `CNAME` record configured for a repository's GitHub Pages. + * + * The first request to this endpoint returns a `202 Accepted` status and starts an asynchronous background task to get the results for the domain. After the background task completes, subsequent requests to this endpoint return a `200 OK` status with the health check results in the response. + * + * Users must have admin or owner permissions. GitHub Apps must have the `pages:write` and `administration:write` permission to use this endpoint. */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["codespaces-public-key"]; + "application/json": components["schemas"]["pages-health-check"]; + }; + }; + /** @description Empty response */ + 202: { + content: { + "application/json": components["schemas"]["empty-object"]; }; }; + /** @description Custom domains are not available for GitHub Pages */ + 400: never; + 404: components["responses"]["not_found"]; + /** @description There isn't a CNAME for this page */ + 422: never; }; }; - "codespaces/get-repo-secret": { + "projects/list-for-repo": { /** - * Get a repository secret - * @description Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `codespaces_secrets` repository permission to use this endpoint. + * List repository projects + * @description Lists the projects in a repository. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + parameters?: { + /** @description Indicates the state of the projects to return. */ + query?: { + state?: "open" | "closed" | "all"; + }; + }; responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["repo-codespaces-secret"]; + "application/json": (components["schemas"]["project"])[]; }; }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed_simple"]; }; }; - "codespaces/create-or-update-repo-secret": { + "projects/create-for-repo": { /** - * Create or update a repository secret - * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access - * token with the `repo` scope to use this endpoint. GitHub Apps must have the `codespaces_secrets` repository - * permission to use this endpoint. - * - * #### Example of encrypting a secret using Node.js - * - * Encrypt your secret using the [libsodium-wrappers](https://www.npmjs.com/package/libsodium-wrappers) library. - * - * ``` - * const sodium = require('libsodium-wrappers') - * const secret = 'plain-text-secret' // replace with the secret you want to encrypt - * const key = 'base64-encoded-public-key' // replace with the Base64 encoded public key - * - * //Check if libsodium is ready and then proceed. - * sodium.ready.then(() => { - * // Convert Secret & Base64 key to Uint8Array. - * let binkey = sodium.from_base64(key, sodium.base64_variants.ORIGINAL) - * let binsec = sodium.from_string(secret) - * - * //Encrypt the secret using LibSodium - * let encBytes = sodium.crypto_box_seal(binsec, binkey) - * - * // Convert encrypted Uint8Array to Base64 - * let output = sodium.to_base64(encBytes, sodium.base64_variants.ORIGINAL) - * - * console.log(output) - * }); - * ``` - * - * #### Example of encrypting a secret using Python - * - * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. - * - * ``` - * from base64 import b64encode - * from nacl import encoding, public - * - * def encrypt(public_key: str, secret_value: str) -> str: - * """Encrypt a Unicode string using the public key.""" - * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) - * sealed_box = public.SealedBox(public_key) - * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) - * return b64encode(encrypted).decode("utf-8") - * ``` - * - * #### Example of encrypting a secret using C# - * - * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. - * - * ``` - * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); - * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); - * - * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); - * - * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); - * ``` - * - * #### Example of encrypting a secret using Ruby - * - * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. - * - * ```ruby - * require "rbnacl" - * require "base64" - * - * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") - * public_key = RbNaCl::PublicKey.new(key) - * - * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) - * encrypted_secret = box.encrypt("my_secret") - * - * # Print the base64 encoded secret - * puts Base64.strict_encode64(encrypted_secret) - * ``` + * Create a repository project + * @description Creates a repository project board. Returns a `410 Gone` status if projects are disabled in the repository or if the repository does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ requestBody: { content: { "application/json": { - /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/reference/codespaces#get-a-repository-public-key) endpoint. */ - encrypted_value?: string; - /** @description ID of the key you used to encrypt the secret. */ - key_id?: string; + /** @description The name of the project. */ + name: string; + /** @description The description of the project. */ + body?: string; }; }; }; responses: { - /** @description Response when creating a secret */ + /** @description Response */ 201: { content: { - "application/json": components["schemas"]["empty-object"]; + "application/json": components["schemas"]["project"]; }; }; - /** @description Response when updating a secret */ - 204: never; - }; - }; - "codespaces/delete-repo-secret": { - /** - * Delete a repository secret - * @description Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `codespaces_secrets` repository permission to use this endpoint. - */ - responses: { - /** @description Response */ - 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed_simple"]; }; }; - "repos/list-collaborators": { - /** - * List repository collaborators - * @description For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. - * Organization members with write, maintain, or admin privileges on the organization-owned repository can use this endpoint. - * - * Team members will include the members of child teams. - * - * You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this - * endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this - * endpoint. + "pulls/list": { + /** + * List pull requests + * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ parameters?: { - /** @description Filter collaborators returned by their affiliation. `outside` means all outside collaborators of an organization-owned repository. `direct` means all collaborators with permissions to an organization-owned repository, regardless of organization membership status. `all` means all collaborators the authenticated user can see. */ - /** @description Filter collaborators by the permissions they have on the repository. If not specified, all collaborators will be returned. */ + /** @description Either `open`, `closed`, or `all` to filter by state. */ + /** @description Filter pulls by head user or head organization and branch name in the format of `user:ref-name` or `organization:ref-name`. For example: `github:new-script-format` or `octocat:test-branch`. */ + /** @description Filter pulls by base branch name. Example: `gh-pages`. */ + /** @description What to sort results by. `popularity` will sort by the number of comments. `long-running` will sort by date created and will limit the results to pull requests that have been open for more than a month and have had activity within the past month. */ + /** @description The direction of the sort. Default: `desc` when sort is `created` or sort is not specified, otherwise `asc`. */ query?: { - affiliation?: "outside" | "direct" | "all"; - permission?: "pull" | "triage" | "push" | "maintain" | "admin"; + state?: "open" | "closed" | "all"; + head?: string; + base?: string; + sort?: "created" | "updated" | "popularity" | "long-running"; + direction?: "asc" | "desc"; }; }; responses: { @@ -92667,113 +99054,69 @@ export interface operations { Link: components["headers"]["link"]; }; content: { - "application/json": (components["schemas"]["collaborator"])[]; + "application/json": (components["schemas"]["pull-request-simple"])[]; }; }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/check-collaborator": { - /** - * Check if a user is a repository collaborator - * @description For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. - * - * Team members will include the members of child teams. - * - * You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this - * endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this - * endpoint. - */ - responses: { - /** @description Response if user is a collaborator */ - 204: never; - /** @description Not Found if user is not a collaborator */ - 404: never; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; }; }; - "repos/add-collaborator": { + "pulls/create": { /** - * Add a repository collaborator - * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - * - * Adding an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." - * - * For more information on permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". There are restrictions on which permissions can be granted to organization members when an organization base role is in place. In this case, the permission being given must be equal to or higher than the org base permission. Otherwise, the request will fail with: - * - * ``` - * Cannot assign {member} permission of {role name} - * ``` - * - * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - * - * The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [repository invitations API endpoints](https://docs.github.com/rest/reference/repos#invitations). - * - * **Updating an existing collaborator's permission level** - * - * The endpoint can also be used to change the permissions of an existing collaborator without first removing and re-adding the collaborator. To change the permissions, use the same endpoint and pass a different `permission` parameter. The response will be a `204`, with no other indication that the permission level changed. + * Create a pull request + * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * **Rate limits** + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. * - * You are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository. + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. */ - requestBody?: { + requestBody: { content: { "application/json": { - /** - * @description The permission to grant the collaborator. **Only valid on organization-owned repositories.** We accept the following permissions to be set: `pull`, `triage`, `push`, `maintain`, `admin` and you can also specify a custom repository role name, if the owning organization has defined any. - * @default push - */ - permission?: string; + /** @description The title of the new pull request. Required unless `issue` is specified. */ + title?: string; + /** @description The name of the branch where your changes are implemented. For cross-repository pull requests in the same network, namespace `head` with a user like this: `username:branch`. */ + head: string; + /** @description The name of the branch you want the changes pulled into. This should be an existing branch on the current repository. You cannot submit a pull request to one repository that requests a merge to a base of another repository. */ + base: string; + /** @description The contents of the pull request. */ + body?: string; + /** @description Indicates whether [maintainers can modify](https://docs.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. */ + maintainer_can_modify?: boolean; + /** @description Indicates whether the pull request is a draft. See "[Draft Pull Requests](https://docs.github.com/articles/about-pull-requests#draft-pull-requests)" in the GitHub Help documentation to learn more. */ + draft?: boolean; + /** @description An issue in the repository to convert to a pull request. The issue title, body, and comments will become the title, body, and comments on the new pull request. Required unless `title` is specified. */ + issue?: number; }; }; }; responses: { - /** @description Response when a new invitation is created */ + /** @description Response */ 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/pulls/1347 */ + Location?: string; + }; content: { - "application/json": components["schemas"]["repository-invitation"]; + "application/json": components["schemas"]["pull-request"]; }; }; - /** - * @description Response when: - * - an existing collaborator is added as a collaborator - * - an organization member is added as an individual collaborator - * - an existing team member (whose team is also a repository collaborator) is added as an individual collaborator - */ - 204: never; 403: components["responses"]["forbidden"]; 422: components["responses"]["validation_failed"]; }; }; - "repos/remove-collaborator": { - /** Remove a repository collaborator */ - responses: { - /** @description Response */ - 204: never; - }; - }; - "repos/get-collaborator-permission-level": { + "pulls/list-review-comments-for-repo": { /** - * Get repository permissions for a user - * @description Checks the repository permission of a collaborator. The possible repository permissions are `admin`, `write`, `read`, and `none`. + * List review comments in a repository + * @description Lists review comments for all pull requests in a repository. By default, review comments are in ascending order by ID. */ - responses: { - /** @description if user has admin permissions */ - 200: { - content: { - "application/json": components["schemas"]["repository-collaborator-permission"]; - }; + parameters?: { + /** @description The direction to sort results. Ignored without `sort` parameter. */ + query?: { + sort?: "created" | "updated" | "created_at"; + direction?: "asc" | "desc"; }; - 404: components["responses"]["not_found"]; }; - }; - "repos/list-commit-comments-for-repo": { - /** - * List commit comments for a repository - * @description Commit Comments use [these custom media types](https://docs.github.com/rest/reference/repos#custom-media-types). You can read more about the use of media types in the API [here](https://docs.github.com/rest/overview/media-types/). - * - * Comments are ordered by ascending ID. - */ responses: { /** @description Response */ 200: { @@ -92781,37 +99124,46 @@ export interface operations { Link: components["headers"]["link"]; }; content: { - "application/json": (components["schemas"]["commit-comment"])[]; + "application/json": (components["schemas"]["pull-request-review-comment"])[]; }; }; }; }; - "repos/get-commit-comment": { - /** Get a commit comment */ + "pulls/get-review-comment": { + /** + * Get a review comment for a pull request + * @description Provides details for a review comment. + */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["commit-comment"]; + "application/json": components["schemas"]["pull-request-review-comment"]; }; }; 404: components["responses"]["not_found"]; }; }; - "repos/delete-commit-comment": { - /** Delete a commit comment */ + "pulls/delete-review-comment": { + /** + * Delete a review comment for a pull request + * @description Deletes a review comment. + */ responses: { /** @description Response */ 204: never; 404: components["responses"]["not_found"]; }; }; - "repos/update-commit-comment": { - /** Update a commit comment */ + "pulls/update-review-comment": { + /** + * Update a review comment for a pull request + * @description Enables you to edit a review comment. + */ requestBody: { content: { "application/json": { - /** @description The contents of the comment */ + /** @description The text of the reply to the review comment. */ body: string; }; }; @@ -92820,19 +99172,18 @@ export interface operations { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["commit-comment"]; + "application/json": components["schemas"]["pull-request-review-comment"]; }; }; - 404: components["responses"]["not_found"]; }; }; - "reactions/list-for-commit-comment": { + "reactions/list-for-pull-request-review-comment": { /** - * List reactions for a commit comment - * @description List the reactions to a [commit comment](https://docs.github.com/rest/reference/repos#comments). + * List reactions for a pull request review comment + * @description List the reactions to a [pull request review comment](https://docs.github.com/rest/reference/pulls#review-comments). */ parameters?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a commit comment. */ + /** @description Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a pull request review comment. */ query?: { content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; }; @@ -92850,16 +99201,16 @@ export interface operations { 404: components["responses"]["not_found"]; }; }; - "reactions/create-for-commit-comment": { + "reactions/create-for-pull-request-review-comment": { /** - * Create reaction for a commit comment - * @description Create a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments). A response with an HTTP `200` status means that you already added the reaction type to this commit comment. + * Create reaction for a pull request review comment + * @description Create a reaction to a [pull request review comment](https://docs.github.com/rest/reference/pulls#comments). A response with an HTTP `200` status means that you already added the reaction type to this pull request review comment. */ requestBody: { content: { "application/json": { /** - * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the commit comment. + * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the pull request review comment. * @enum {string} */ content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; @@ -92882,100 +99233,150 @@ export interface operations { 422: components["responses"]["validation_failed"]; }; }; - "reactions/delete-for-commit-comment": { + "reactions/delete-for-pull-request-comment": { /** - * Delete a commit comment reaction - * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`. + * Delete a pull request comment reaction + * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.` * - * Delete a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments). + * Delete a reaction to a [pull request review comment](https://docs.github.com/rest/reference/pulls#review-comments). */ responses: { /** @description Response */ 204: never; }; }; - "repos/list-commits": { + "pulls/get": { /** - * List commits - * @description **Signature verification object** + * Get a pull request + * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * Lists details of a pull request by providing its number. * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | + * When you get, [create](https://docs.github.com/rest/reference/pulls/#create-a-pull-request), or [edit](https://docs.github.com/rest/reference/pulls#update-a-pull-request) a pull request, GitHub creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". * - * These are the possible values for `reason` in the `verification` object: + * The value of the `mergeable` attribute can be `true`, `false`, or `null`. If the value is `null`, then GitHub has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-`null` value for the `mergeable` attribute in the response. If `mergeable` is `true`, then `merge_commit_sha` will be the SHA of the _test_ merge commit. * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + * The value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request: + * + * * If merged as a [merge commit](https://docs.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit. + * * If merged via a [squash](https://docs.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch. + * * If [rebased](https://docs.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to. + * + * Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. */ - parameters?: { - /** @description SHA or branch to start listing commits from. Default: the repository’s default branch (usually `master`). */ - /** @description Only commits containing this file path will be returned. */ - /** @description GitHub login or email address by which to filter by commit author. */ - /** @description Only commits before this date will be returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - query?: { - sha?: string; - path?: string; - author?: string; - until?: string; - }; - }; responses: { - /** @description Response */ + /** @description Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": (components["schemas"]["commit"])[]; + "application/json": components["schemas"]["pull-request"]; }; }; - 400: components["responses"]["bad_request"]; + 304: components["responses"]["not_modified"]; 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; }; }; - "repos/list-branches-for-head-commit": { + "pulls/update": { /** - * List branches for HEAD commit - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Update a pull request + * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch. + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. */ + requestBody?: { + content: { + "application/json": { + /** @description The title of the pull request. */ + title?: string; + /** @description The contents of the pull request. */ + body?: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state?: "open" | "closed"; + /** @description The name of the branch you want your changes pulled into. This should be an existing branch on the current repository. You cannot update the base branch on a pull request to point to another repository. */ + base?: string; + /** @description Indicates whether [maintainers can modify](https://docs.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. */ + maintainer_can_modify?: boolean; + }; + }; + }; responses: { /** @description Response */ 200: { content: { - "application/json": (components["schemas"]["branch-short"])[]; + "application/json": components["schemas"]["pull-request"]; }; }; + 403: components["responses"]["forbidden"]; 422: components["responses"]["validation_failed"]; }; }; - "repos/list-comments-for-commit": { + "codespaces/create-with-pr-for-authenticated-user": { /** - * List commit comments - * @description Use the `:commit_sha` to specify the commit that will have its comments listed. + * Create a codespace from a pull request + * @description Creates a codespace owned by the authenticated user for the specified pull request. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + requestBody: { + content: { + "application/json": OneOf<[{ + /** @description Location for this codespace. Assigned by IP if not provided */ + location?: string; + /** @description IP for location auto-detection when proxying a request */ + client_ip?: string; + /** @description Machine type to use for this codespace */ + machine?: string; + /** @description Path to devcontainer.json config to use for this codespace */ + devcontainer_path?: string; + /** @description Whether to authorize requested permissions from devcontainer.json */ + multi_repo_permissions_opt_out?: boolean; + /** @description Working directory for this codespace */ + working_directory?: string; + /** @description Time in minutes before codespace stops from inactivity */ + idle_timeout_minutes?: number; + /** @description Display name for this codespace */ + display_name?: string; + /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ + retention_period_minutes?: number; + }, null]>; + }; + }; + responses: { + /** @description Response when the codespace was successfully created */ + 201: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + /** @description Response when the codespace creation partially failed but is being retried in the background */ + 202: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "pulls/list-review-comments": { + /** + * List review comments on a pull request + * @description Lists all review comments for a pull request. By default, review comments are in ascending order by ID. */ + parameters?: { + /** @description The direction to sort results. Ignored without `sort` parameter. */ + query?: { + direction?: "asc" | "desc"; + }; + }; responses: { /** @description Response */ 200: { @@ -92983,29 +99384,53 @@ export interface operations { Link: components["headers"]["link"]; }; content: { - "application/json": (components["schemas"]["commit-comment"])[]; + "application/json": (components["schemas"]["pull-request-review-comment"])[]; }; }; }; }; - "repos/create-commit-comment": { + "pulls/create-review-comment": { /** - * Create a commit comment - * @description Create a comment for a commit using its `:commit_sha`. + * Create a review comment for a pull request + * @description + * Creates a review comment in the pull request diff. To add a regular comment to a pull request timeline, see "[Create an issue comment](https://docs.github.com/rest/reference/issues#create-an-issue-comment)." We recommend creating a review comment using `line`, `side`, and optionally `start_line` and `start_side` if your comment applies to more than one line in the pull request diff. + * + * The `position` parameter is deprecated. If you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. + * + * **Note:** The position value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. * * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ requestBody: { content: { "application/json": { - /** @description The contents of the comment. */ + /** @description The text of the review comment. */ body: string; - /** @description Relative path of the file to comment on. */ - path?: string; - /** @description Line index in the diff to comment on. */ + /** @description The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the `position`. */ + commit_id: string; + /** @description The relative path to the file that necessitates a comment. */ + path: string; + /** + * @deprecated + * @description **This parameter is deprecated. Use `line` instead**. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note above. + */ position?: number; - /** @description **Deprecated**. Use **position** parameter instead. Line number in the file to comment on. */ - line?: number; + /** + * @description In a split diff view, the side of the diff that the pull request's changes appear on. Can be `LEFT` or `RIGHT`. Use `LEFT` for deletions that appear in red. Use `RIGHT` for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see "[Diff view options](https://docs.github.com/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. + * @enum {string} + */ + side?: "LEFT" | "RIGHT"; + /** @description The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to. */ + line: number; + /** @description **Required when using multi-line comments unless using `in_reply_to`**. The `start_line` is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see "[Commenting on a pull request](https://docs.github.com/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. */ + start_line?: number; + /** + * @description **Required when using multi-line comments unless using `in_reply_to`**. The `start_side` is the starting side of the diff that the comment applies to. Can be `LEFT` or `RIGHT`. To learn more about multi-line comments, see "[Commenting on a pull request](https://docs.github.com/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. See `side` in this table for additional context. + * @enum {string} + */ + start_side?: "LEFT" | "RIGHT" | "side"; + /** @description The ID of the review comment to reply to. To find the ID of a review comment with ["List review comments on a pull request"](#list-review-comments-on-a-pull-request). When specified, all parameters other than `body` in the request body are ignored. */ + in_reply_to?: number; }; }; }; @@ -93013,21 +99438,148 @@ export interface operations { /** @description Response */ 201: { headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/comments/1 */ + /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "pulls/create-reply-for-review-comment": { + /** + * Create a reply for a review comment + * @description Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + requestBody: { + content: { + "application/json": { + /** @description The text of the review comment. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 */ Location?: string; }; content: { - "application/json": components["schemas"]["commit-comment"]; + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "pulls/list-commits": { + /** + * List commits on a pull request + * @description Lists a maximum of 250 commits for a pull request. To receive a complete commit list for pull requests with more than 250 commits, use the [List commits](https://docs.github.com/rest/reference/repos#list-commits) endpoint. + */ + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": (components["schemas"]["commit"])[]; + }; + }; + }; + }; + "pulls/list-files": { + /** + * List pull requests files + * @description **Note:** Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. + */ + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": (components["schemas"]["diff-entry"])[]; + }; + }; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "pulls/check-if-merged": { + /** Check if a pull request has been merged */ + responses: { + /** @description Response if pull request has been merged */ + 204: never; + /** @description Not Found if pull request has not been merged */ + 404: never; + }; + }; + "pulls/merge": { + /** + * Merge a pull request + * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + requestBody?: { + content: { + "application/json": OneOf<[{ + /** @description Title for the automatic commit message. */ + commit_title?: string; + /** @description Extra detail to append to automatic commit message. */ + commit_message?: string; + /** @description SHA that pull request head must match to allow merge. */ + sha?: string; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method?: "merge" | "squash" | "rebase"; + }, null]>; + }; + }; + responses: { + /** @description if merge was successful */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-merge-result"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Method Not Allowed if merge cannot be performed */ + 405: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + /** @description Conflict if sha was provided and pull request head did not match */ + 409: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; }; }; - 403: components["responses"]["forbidden"]; 422: components["responses"]["validation_failed"]; }; }; - "repos/list-pull-requests-associated-with-commit": { + "pulls/list-requested-reviewers": { /** - * List pull requests associated with a commit - * @description Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, additionally returns open pull requests associated with the commit. The results only include open pull requests. + * Get all requested reviewers for a pull request + * @description Gets the users or teams whose review is requested for a pull request. Once a requested reviewer submits a review, they are no longer considered a requested reviewer. Their review will instead be returned by the [List reviews for a pull request](https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request) operation. */ responses: { /** @description Response */ @@ -93036,384 +99588,234 @@ export interface operations { Link: components["headers"]["link"]; }; content: { - "application/json": (components["schemas"]["pull-request-simple"])[]; + "application/json": components["schemas"]["pull-request-review-request"]; }; }; }; }; - "repos/get-commit": { + "pulls/request-reviewers": { /** - * Get a commit - * @description Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint. - * - * **Note:** If there are more than 300 files in the commit diff, the response will include pagination link headers for the remaining files, up to a limit of 3000 files. Each page contains the static commit information, and the only changes are to the file listing. - * - * You can pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch `diff` and `patch` formats. Diffs with binary data will have no `patch` property. - * - * To return only the SHA-1 hash of the commit reference, you can provide the `sha` custom [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) in the `Accept` header. You can use this endpoint to check if a remote reference's SHA-1 hash is the same as your local reference's SHA-1 hash by providing the local SHA-1 reference as the ETag. - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + * Request reviewers for a pull request + * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ - parameters: { - /** @description ref parameter */ - path: { - ref: string; + requestBody?: { + content: { + "application/json": { + /** @description An array of user `login`s that will be requested. */ + reviewers?: (string)[]; + /** @description An array of team `slug`s that will be requested. */ + team_reviewers?: (string)[]; + } & (Record | Record); }; }; responses: { /** @description Response */ - 200: { + 201: { content: { - "application/json": components["schemas"]["commit"]; + "application/json": components["schemas"]["pull-request-simple"]; }; }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - 503: components["responses"]["service_unavailable"]; + 403: components["responses"]["forbidden"]; + /** @description Unprocessable Entity if user is not a collaborator */ + 422: never; }; }; - "checks/list-for-ref": { - /** - * List check runs for a Git reference - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Lists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. - */ - parameters: { - /** @description Filters check runs by their `completed_at` timestamp. `latest` returns the most recent check runs. */ - query?: { - filter?: "latest" | "all"; - app_id?: number; - }; - /** @description ref parameter */ - path: { - ref: string; + "pulls/remove-requested-reviewers": { + /** Remove requested reviewers from a pull request */ + requestBody: { + content: { + "application/json": { + /** @description An array of user `login`s that will be removed. */ + reviewers: (string)[]; + /** @description An array of team `slug`s that will be removed. */ + team_reviewers?: (string)[]; + }; }; }; responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": { - total_count: number; - check_runs: (components["schemas"]["check-run"])[]; - }; + "application/json": components["schemas"]["pull-request-simple"]; }; }; + 422: components["responses"]["validation_failed"]; }; }; - "checks/list-suites-for-ref": { + "pulls/list-reviews": { /** - * List check suites for a Git reference - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * - * Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to list check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository. + * List reviews for a pull request + * @description The list of reviews returns in chronological order. */ - parameters: { - /** - * @description Filters check suites by GitHub App `id`. - * @example 1 - */ - query?: { - app_id?: number; - }; - /** @description ref parameter */ - path: { - ref: string; - }; - }; responses: { - /** @description Response */ + /** @description The list of reviews returns in chronological order. */ 200: { headers: { Link: components["headers"]["link"]; }; content: { - "application/json": { - total_count: number; - check_suites: (components["schemas"]["check-suite"])[]; - }; + "application/json": (components["schemas"]["pull-request-review"])[]; }; }; }; }; - "repos/get-combined-status-for-ref": { + "pulls/create-review": { /** - * Get the combined status for a specific reference - * @description Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. + * Create a review for a pull request + * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. * + * Pull request reviews created in the `PENDING` state are not submitted and therefore do not include the `submitted_at` property in the response. To create a pending review for a pull request, leave the `event` parameter blank. For more information about submitting a `PENDING` review, see "[Submit a review for a pull request](https://docs.github.com/rest/pulls#submit-a-review-for-a-pull-request)." * - * Additionally, a combined `state` is returned. The `state` is one of: + * **Note:** To comment on a specific line in a file, you need to first determine the _position_ of that line in the diff. The GitHub REST API offers the `application/vnd.github.v3.diff` [media type](https://docs.github.com/rest/overview/media-types#commits-commit-comparison-and-pull-requests). To see a pull request diff, add this media type to the `Accept` header of a call to the [single pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) endpoint. * - * * **failure** if any of the contexts report as `error` or `failure` - * * **pending** if there are no statuses or a context is `pending` - * * **success** if the latest status for all contexts is `success` + * The `position` value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. */ - parameters: { - /** @description ref parameter */ - path: { - ref: string; + requestBody?: { + content: { + "application/json": { + /** @description The SHA of the commit that needs a review. Not using the latest commit SHA may render your review comment outdated if a subsequent commit modifies the line you specify as the `position`. Defaults to the most recent commit in the pull request when you do not specify a value. */ + commit_id?: string; + /** @description **Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review. */ + body?: string; + /** + * @description The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. By leaving this blank, you set the review action state to `PENDING`, which means you will need to [submit the pull request review](https://docs.github.com/rest/pulls#submit-a-review-for-a-pull-request) when you are ready. + * @enum {string} + */ + event?: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + /** @description Use the following table to specify the location, destination, and contents of the draft review comment. */ + comments?: ({ + /** @description The relative path to the file that necessitates a review comment. */ + path: string; + /** @description The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note below. */ + position?: number; + /** @description Text of the review comment. */ + body: string; + line?: number; + side?: string; + start_line?: number; + start_side?: string; + })[]; + }; }; }; responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["combined-commit-status"]; + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "pulls/get-review": { + /** Get a review for a pull request */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review"]; }; }; 404: components["responses"]["not_found"]; }; }; - "repos/list-commit-statuses-for-ref": { + "pulls/update-review": { /** - * List commit statuses for a reference - * @description Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one. - * - * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`. + * Update a review for a pull request + * @description Update the review summary comment with new text. */ - parameters: { - /** @description ref parameter */ - path: { - ref: string; + requestBody: { + content: { + "application/json": { + /** @description The body text of the pull request review. */ + body: string; + }; }; }; responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": (components["schemas"]["status"])[]; + "application/json": components["schemas"]["pull-request-review"]; }; }; - 301: components["responses"]["moved_permanently"]; + 422: components["responses"]["validation_failed_simple"]; }; }; - "repos/get-community-profile-metrics": { - /** - * Get community profile metrics - * @description Returns all community profile metrics for a repository. The repository must be public, and cannot be a fork. - * - * The returned metrics include an overall health score, the repository description, the presence of documentation, the - * detected code of conduct, the detected license, and the presence of ISSUE\_TEMPLATE, PULL\_REQUEST\_TEMPLATE, - * README, and CONTRIBUTING files. - * - * The `health_percentage` score is defined as a percentage of how many of - * these four documents are present: README, CONTRIBUTING, LICENSE, and - * CODE_OF_CONDUCT. For example, if all four documents are present, then - * the `health_percentage` is `100`. If only one is present, then the - * `health_percentage` is `25`. - * - * `content_reports_enabled` is only returned for organization-owned repositories. - */ + "pulls/delete-pending-review": { + /** Delete a pending review for a pull request */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["community-profile"]; + "application/json": components["schemas"]["pull-request-review"]; }; }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; }; }; - "repos/compare-commits": { + "pulls/list-comments-for-review": { /** - * Compare two commits - * @description The `basehead` param is comprised of two parts separated by triple dots: `{base}...{head}`. Both must be branch names in `repo`. To compare branches across other repositories in the same network as `repo`, use the format `:branch`. - * - * The response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. - * - * The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. - * - * **Working with large comparisons** - * - * To process a response with a large number of commits, you can use (`per_page` or `page`) to paginate the results. When using paging, the list of changed files is only returned with page 1, but includes all changed files for the entire comparison. For more information on working with pagination, see "[Traversing with pagination](/rest/guides/traversing-with-pagination)." - * - * When calling this API without any paging parameters (`per_page` or `page`), the returned list is limited to 250 commits and the last commit in the list is the most recent of the entire comparison. When a paging parameter is specified, the first commit in the returned list of each page is the earliest. - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + * List comments for a pull request review + * @description List comments for a specific pull request review. */ - parameters: { - /** @description The base branch and head branch to compare. This parameter expects the format `{base}...{head}`. */ - path: { - basehead: string; - }; - }; responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["commit-comparison"]; + "application/json": (components["schemas"]["review-comment"])[]; }; }; 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - 503: components["responses"]["service_unavailable"]; }; }; - "repos/get-content": { + "pulls/dismiss-review": { /** - * Get repository content - * @description Gets the contents of a file or directory in a repository. Specify the file path or directory in `:path`. If you omit - * `:path`, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories. - * - * Files and symlinks support [a custom media type](https://docs.github.com/rest/reference/repos#custom-media-types) for - * retrieving the raw content or rendered HTML (when supported). All content types support [a custom media - * type](https://docs.github.com/rest/reference/repos#custom-media-types) to ensure the content is returned in a consistent - * object format. - * - * **Notes**: - * * To get a repository's contents recursively, you can [recursively get the tree](https://docs.github.com/rest/reference/git#trees). - * * This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the [Git Trees - * API](https://docs.github.com/rest/reference/git#get-a-tree). - * * Download URLs expire and are meant to be used just once. To ensure the download URL does not expire, please use the contents API to obtain a fresh download URL for each download. - * #### Size limits - * If the requested file's size is: - * * 1 MB or smaller: All features of this endpoint are supported. - * * Between 1-100 MB: Only the `raw` or `object` [custom media types](https://docs.github.com/rest/repos/contents#custom-media-types-for-repository-contents) are supported. Both will work as normal, except that when using the `object` media type, the `content` field will be an empty string and the `encoding` field will be `"none"`. To get the contents of these larger files, use the `raw` media type. - * * Greater than 100 MB: This endpoint is not supported. - * - * #### If the content is a directory - * The response will be an array of objects, one object for each item in the directory. - * When listing the contents of a directory, submodules have their "type" specified as "file". Logically, the value - * _should_ be "submodule". This behavior exists in API v3 [for backwards compatibility purposes](https://git.io/v1YCW). - * In the next major version of the API, the type will be returned as "submodule". - * - * #### If the content is a symlink - * If the requested `:path` points to a symlink, and the symlink's target is a normal file in the repository, then the - * API responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object - * describing the symlink itself. - * - * #### If the content is a submodule - * The `submodule_git_url` identifies the location of the submodule repository, and the `sha` identifies a specific - * commit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out - * the submodule at that specific commit. - * - * If the submodule repository is not hosted on github.com, the Git URLs (`git_url` and `_links["git"]`) and the - * github.com URLs (`html_url` and `_links["html"]`) will have null values. + * Dismiss a review for a pull request + * @description **Note:** To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/reference/repos#branches), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews. */ - parameters: { - /** @description The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) */ - query?: { - ref?: string; - }; - /** @description path parameter */ - path: { - path: string; + requestBody: { + content: { + "application/json": { + /** @description The message for the pull request review dismissal */ + message: string; + /** @enum {string} */ + event?: "DISMISS"; + }; }; }; responses: { /** @description Response */ 200: { content: { - "application/vnd.github.object": components["schemas"]["content-tree"]; - "application/json": components["schemas"]["content-directory"] | components["schemas"]["content-file"] | components["schemas"]["content-symlink"] | components["schemas"]["content-submodule"]; + "application/json": components["schemas"]["pull-request-review"]; }; }; - 302: components["responses"]["found"]; - 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; }; }; - "repos/create-or-update-file-contents": { + "pulls/submit-review": { /** - * Create or update file contents - * @description Creates a new file or replaces an existing file in a repository. You must authenticate using an access token with the `workflow` scope to use this endpoint. - * - * **Note:** If you use this endpoint and the "[Delete a file](https://docs.github.com/rest/reference/repos/#delete-file)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. + * Submit a review for a pull request + * @description Submits a pending review for a pull request. For more information about creating a pending review for a pull request, see "[Create a review for a pull request](https://docs.github.com/rest/pulls#create-a-review-for-a-pull-request)." */ - parameters: { - /** @description path parameter */ - path: { - path: string; - }; - }; requestBody: { content: { "application/json": { - /** @description The commit message. */ - message: string; - /** @description The new file content, using Base64 encoding. */ - content: string; - /** @description **Required if you are updating a file**. The blob SHA of the file being replaced. */ - sha?: string; - /** @description The branch name. Default: the repository’s default branch (usually `master`) */ - branch?: string; - /** @description The person that committed the file. Default: the authenticated user. */ - committer?: { - /** @description The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. */ - name: string; - /** @description The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. */ - email: string; - date?: string; - }; - /** @description The author of the file. Default: The `committer` or the authenticated user if you omit `committer`. */ - author?: { - /** @description The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. */ - name: string; - /** @description The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. */ - email: string; - date?: string; - }; + /** @description The body text of the pull request review */ + body?: string; + /** + * @description The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. When you leave this blank, the API returns _HTTP 422 (Unrecognizable entity)_ and sets the review action state to `PENDING`, which means you will need to re-submit the pull request review using a review action. + * @enum {string} + */ + event: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; }; }; }; @@ -93421,587 +99823,431 @@ export interface operations { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["file-commit"]; - }; - }; - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["file-commit"]; + "application/json": components["schemas"]["pull-request-review"]; }; }; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; + 422: components["responses"]["validation_failed_simple"]; }; }; - "repos/delete-file": { + "pulls/update-branch": { /** - * Delete a file - * @description Deletes a file in a repository. - * - * You can provide an additional `committer` parameter, which is an object containing information about the committer. Or, you can provide an `author` parameter, which is an object containing information about the author. - * - * The `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used. - * - * You must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code. - * - * **Note:** If you use this endpoint and the "[Create or update file contents](https://docs.github.com/rest/reference/repos/#create-or-update-file-contents)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. + * Update a pull request branch + * @description Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch. */ - parameters: { - /** @description path parameter */ - path: { - path: string; - }; - }; - requestBody: { + requestBody?: { content: { - "application/json": { - /** @description The commit message. */ - message: string; - /** @description The blob SHA of the file being deleted. */ - sha: string; - /** @description The branch name. Default: the repository’s default branch (usually `master`) */ - branch?: string; - /** @description object containing information about the committer. */ - committer?: { - /** @description The name of the author (or committer) of the commit */ - name?: string; - /** @description The email of the author (or committer) of the commit */ - email?: string; - }; - /** @description object containing information about the author. */ - author?: { - /** @description The name of the author (or committer) of the commit */ - name?: string; - /** @description The email of the author (or committer) of the commit */ - email?: string; - }; - }; + "application/json": OneOf<[{ + /** @description The expected SHA of the pull request's HEAD ref. This is the most recent commit on the pull request's branch. If the expected SHA does not match the pull request's HEAD, you will receive a `422 Unprocessable Entity` status. You can use the "[List commits](https://docs.github.com/rest/reference/repos#list-commits)" endpoint to find the most recent commit SHA. Default: SHA of the pull request's current HEAD ref. */ + expected_head_sha?: string; + }, null]>; }; }; responses: { /** @description Response */ - 200: { + 202: { content: { - "application/json": components["schemas"]["file-commit"]; + "application/json": { + message?: string; + url?: string; + }; }; }; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; + 403: components["responses"]["forbidden"]; 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; }; }; - "repos/list-contributors": { + "repos/get-readme": { /** - * List repository contributors - * @description Lists contributors to the specified repository and sorts them by the number of commits per contributor in descending order. This endpoint may return information that is a few hours old because the GitHub REST API caches contributor data to improve performance. + * Get a repository README + * @description Gets the preferred README for a repository. * - * GitHub identifies contributors by author email address. This endpoint groups contribution counts by GitHub user, which includes all associated email addresses. To improve performance, only the first 500 author email addresses in the repository link to GitHub users. The rest will appear as anonymous contributors without associated GitHub user information. + * READMEs support [custom media types](https://docs.github.com/rest/reference/repos#custom-media-types) for retrieving the raw content or rendered HTML. */ parameters?: { - /** @description Set to `1` or `true` to include anonymous contributors in results. */ + /** @description The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) */ query?: { - anon?: string; + ref?: string; }; }; responses: { - /** @description if repository contains content */ + /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": (components["schemas"]["contributor"])[]; + "application/json": components["schemas"]["content-file"]; }; }; - /** @description Response if repository is empty */ - 204: never; - 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - "dependabot/list-alerts-for-repo": { + "repos/get-readme-in-directory": { /** - * List Dependabot alerts for a repository - * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories. - * You can also use tokens with the `public_repo` scope for public repositories only. - * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. + * Get a repository README for a directory + * @description Gets the README from a repository directory. + * + * READMEs support [custom media types](https://docs.github.com/rest/reference/repos#custom-media-types) for retrieving the raw content or rendered HTML. */ - parameters?: { - /** - * @deprecated - * @description **Deprecated**. Page number of the results to fetch. Use cursor-based pagination with `before` or `after` instead. - */ - /** - * @deprecated - * @description **Deprecated**. The number of results per page (max 100). Use cursor-based pagination with `first` or `last` instead. - */ + parameters: { + /** @description The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) */ query?: { - page?: number; - per_page?: number; + ref?: string; + }; + /** @description The alternate path to look for a README file */ + path: { + dir: string; }; }; responses: { /** @description Response */ 200: { content: { - "application/json": (components["schemas"]["dependabot-alert"])[]; + "application/json": components["schemas"]["content-file"]; }; }; - 304: components["responses"]["not_modified"]; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; + 422: components["responses"]["validation_failed"]; }; }; - "dependabot/get-alert": { + "repos/list-releases": { /** - * Get a Dependabot alert - * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories. - * You can also use tokens with the `public_repo` scope for public repositories only. - * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. + * List releases + * @description This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/rest/reference/repos#list-repository-tags). + * + * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. */ responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["dependabot-alert"]; + "application/json": (components["schemas"]["release"])[]; }; }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; }; }; - "dependabot/update-alert": { + "repos/create-release": { /** - * Update a Dependabot alert - * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories. - * You can also use tokens with the `public_repo` scope for public repositories only. - * GitHub Apps must have **Dependabot alerts** write permission to use this endpoint. + * Create a release + * @description Users with push access to the repository can create a release. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ requestBody: { content: { "application/json": { + /** @description The name of the tag. */ + tag_name: string; + /** @description Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`). */ + target_commitish?: string; + /** @description The name of the release. */ + name?: string; + /** @description Text describing the contents of the tag. */ + body?: string; /** - * @description The state of the Dependabot alert. - * A `dismissed_reason` must be provided when setting the state to `dismissed`. - * @enum {string} + * @description `true` to create a draft (unpublished) release, `false` to create a published one. + * @default false */ - state: "dismissed" | "open"; + draft?: boolean; /** - * @description **Required when `state` is `dismissed`.** A reason for dismissing the alert. + * @description `true` to identify the release as a prerelease. `false` to identify the release as a full release. + * @default false + */ + prerelease?: boolean; + /** @description If specified, a discussion of the specified category is created and linked to the release. The value must be a category that already exists in the repository. For more information, see "[Managing categories for discussions in your repository](https://docs.github.com/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)." */ + discussion_category_name?: string; + /** + * @description Whether to automatically generate the name and body for this release. If `name` is specified, the specified name will be used; otherwise, a name will be automatically generated. If `body` is specified, the body will be pre-pended to the automatically generated notes. + * @default false + */ + generate_release_notes?: boolean; + /** + * @description Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Defaults to `true` for newly published releases. `legacy` specifies that the latest release should be determined based on the release creation date and higher semantic version. + * @default true * @enum {string} */ - dismissed_reason?: "fix_started" | "inaccurate" | "no_bandwidth" | "not_used" | "tolerable_risk"; - /** @description An optional comment associated with dismissing the alert. */ - dismissed_comment?: string; + make_latest?: "true" | "false" | "legacy"; }; }; }; responses: { /** @description Response */ - 200: { + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/releases/1 */ + Location?: string; + }; content: { - "application/json": components["schemas"]["dependabot-alert"]; + "application/json": components["schemas"]["release"]; }; }; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed_simple"]; + /** @description Not Found if the discussion category name is invalid */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 422: components["responses"]["validation_failed"]; }; }; - "dependabot/list-repo-secrets": { + "repos/get-release-asset": { /** - * List repository secrets - * @description Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. + * Get a release asset + * @description To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response. */ responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": { - total_count: number; - secrets: (components["schemas"]["dependabot-secret"])[]; - }; + "application/json": components["schemas"]["release-asset"]; }; }; + 302: components["responses"]["found"]; + 404: components["responses"]["not_found"]; }; }; - "dependabot/get-repo-public-key": { - /** - * Get a repository public key - * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. - */ + "repos/delete-release-asset": { + /** Delete a release asset */ responses: { /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["dependabot-public-key"]; - }; - }; + 204: never; }; }; - "dependabot/get-repo-secret": { + "repos/update-release-asset": { /** - * Get a repository secret - * @description Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. + * Update a release asset + * @description Users with push access to the repository can edit a release asset. */ + requestBody?: { + content: { + "application/json": { + /** @description The file name of the asset. */ + name?: string; + /** @description An alternate short description of the asset. Used in place of the filename. */ + label?: string; + state?: string; + }; + }; + }; responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["dependabot-secret"]; + "application/json": components["schemas"]["release-asset"]; }; }; }; }; - "dependabot/create-or-update-repo-secret": { + "repos/generate-release-notes": { /** - * Create or update a repository secret - * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access - * token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository - * permission to use this endpoint. - * - * #### Example encrypting a secret using Node.js - * - * Encrypt your secret using the [libsodium-wrappers](https://www.npmjs.com/package/libsodium-wrappers) library. - * - * ``` - * const sodium = require('libsodium-wrappers') - * const secret = 'plain-text-secret' // replace with the secret you want to encrypt - * const key = 'base64-encoded-public-key' // replace with the Base64 encoded public key - * - * //Check if libsodium is ready and then proceed. - * sodium.ready.then(() => { - * // Convert Secret & Base64 key to Uint8Array. - * let binkey = sodium.from_base64(key, sodium.base64_variants.ORIGINAL) - * let binsec = sodium.from_string(secret) - * - * //Encrypt the secret using LibSodium - * let encBytes = sodium.crypto_box_seal(binsec, binkey) - * - * // Convert encrypted Uint8Array to Base64 - * let output = sodium.to_base64(encBytes, sodium.base64_variants.ORIGINAL) - * - * console.log(output) - * }); - * ``` - * - * #### Example encrypting a secret using Python - * - * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. - * - * ``` - * from base64 import b64encode - * from nacl import encoding, public - * - * def encrypt(public_key: str, secret_value: str) -> str: - * """Encrypt a Unicode string using the public key.""" - * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) - * sealed_box = public.SealedBox(public_key) - * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) - * return b64encode(encrypted).decode("utf-8") - * ``` - * - * #### Example encrypting a secret using C# - * - * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. - * - * ``` - * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); - * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); - * - * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); - * - * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); - * ``` - * - * #### Example encrypting a secret using Ruby - * - * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. - * - * ```ruby - * require "rbnacl" - * require "base64" - * - * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") - * public_key = RbNaCl::PublicKey.new(key) - * - * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) - * encrypted_secret = box.encrypt("my_secret") - * - * # Print the base64 encoded secret - * puts Base64.strict_encode64(encrypted_secret) - * ``` + * Generate release notes content for a release + * @description Generate a name and body describing a [release](https://docs.github.com/rest/reference/repos#releases). The body content will be markdown formatted and contain information like the changes since last release and users who contributed. The generated release notes are not saved anywhere. They are intended to be generated and used when creating a new release. */ requestBody: { content: { "application/json": { - /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/reference/dependabot#get-a-repository-public-key) endpoint. */ - encrypted_value?: string; - /** @description ID of the key you used to encrypt the secret. */ - key_id?: string; + /** @description The tag name for the release. This can be an existing tag or a new one. */ + tag_name: string; + /** @description Specifies the commitish value that will be the target for the release's tag. Required if the supplied tag_name does not reference an existing tag. Ignored if the tag_name already exists. */ + target_commitish?: string; + /** @description The name of the previous tag to use as the starting point for the release notes. Use to manually specify the range for the set of changes considered as part this release. */ + previous_tag_name?: string; + /** @description Specifies a path to a file in the repository containing configuration settings used for generating the release notes. If unspecified, the configuration file located in the repository at '.github/release.yml' or '.github/release.yaml' will be used. If that is not present, the default configuration will be used. */ + configuration_file_path?: string; }; }; }; responses: { - /** @description Response when creating a secret */ - 201: { + /** @description Name and body of generated release notes */ + 200: { content: { - "application/json": components["schemas"]["empty-object"]; + "application/json": components["schemas"]["release-notes-content"]; }; }; - /** @description Response when updating a secret */ - 204: never; + 404: components["responses"]["not_found"]; }; }; - "dependabot/delete-repo-secret": { + "repos/get-latest-release": { /** - * Delete a repository secret - * @description Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. + * Get the latest release + * @description View the latest published full release for the repository. + * + * The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published. */ responses: { /** @description Response */ - 204: never; + 200: { + content: { + "application/json": components["schemas"]["release"]; + }; + }; }; }; - "dependency-graph/diff-range": { + "repos/get-release-by-tag": { /** - * Get a diff of the dependencies between commits - * @description Gets the diff of the dependency changes between two commits of a repository, based on the changes to the dependency manifests made in those commits. + * Get a release by tag name + * @description Get a published release with the specified tag. */ parameters: { - /** @description The base and head Git revisions to compare. The Git revisions will be resolved to commit SHAs. Named revisions will be resolved to their corresponding HEAD commits, and an appropriate merge base will be determined. This parameter expects the format `{base}...{head}`. */ + /** @description tag parameter */ path: { - basehead: string; + tag: string; }; }; responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": components["schemas"]["dependency-graph-diff"]; + "application/json": components["schemas"]["release"]; }; }; - 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; }; }; - "dependency-graph/create-repository-snapshot": { + "repos/get-release": { /** - * Create a snapshot of dependencies for a repository - * @description Create a new snapshot of a repository's dependencies. You must authenticate using an access token with the `repo` scope to use this endpoint for a repository that the requesting user has access to. + * Get a release + * @description **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). */ - requestBody: { - content: { - "application/json": components["schemas"]["snapshot"]; - }; - }; responses: { - /** @description Response */ - 201: { + /** @description **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). */ + 200: { content: { - "application/json": { - /** @description ID of the created snapshot. */ - id: number; - /** @description The time at which the snapshot was created. */ - created_at: string; - /** @description Either "SUCCESS", "ACCEPTED", or "INVALID". "SUCCESS" indicates that the snapshot was successfully created and the repository's dependencies were updated. "ACCEPTED" indicates that the snapshot was successfully created, but the repository's dependencies were not updated. "INVALID" indicates that the snapshot was malformed. */ - result: string; - /** @description A message providing further details about the result, such as why the dependencies were not updated. */ - message: string; - }; + "application/json": components["schemas"]["release"]; }; }; + 404: components["responses"]["not_found"]; }; }; - "repos/list-deployments": { + "repos/delete-release": { /** - * List deployments - * @description Simple filtering of deployments is available via query parameters: + * Delete a release + * @description Users with push access to the repository can delete a release. */ - parameters?: { - /** @description The SHA recorded at creation time. */ - /** @description The name of the ref. This can be a branch, tag, or SHA. */ - /** @description The name of the task for the deployment (e.g., `deploy` or `deploy:migrations`). */ - /** @description The name of the environment that was deployed to (e.g., `staging` or `production`). */ - query?: { - sha?: string; - ref?: string; - task?: string; - environment?: OneOf<[string, null]>; - }; - }; responses: { /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["deployment"])[]; - }; - }; + 204: never; }; }; - "repos/create-deployment": { + "repos/update-release": { /** - * Create a deployment - * @description Deployments offer a few configurable parameters with certain defaults. - * - * The `ref` parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them - * before we merge a pull request. - * - * The `environment` parameter allows deployments to be issued to different runtime environments. Teams often have - * multiple environments for verifying their applications, such as `production`, `staging`, and `qa`. This parameter - * makes it easier to track which environments have requested deployments. The default environment is `production`. - * - * The `auto_merge` parameter is used to ensure that the requested ref is not behind the repository's default branch. If - * the ref _is_ behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds, - * the API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will - * return a failure response. - * - * By default, [commit statuses](https://docs.github.com/rest/commits/statuses) for every submitted context must be in a `success` - * state. The `required_contexts` parameter allows you to specify a subset of contexts that must be `success`, or to - * specify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do - * not require any contexts or create any commit statuses, the deployment will always succeed. - * - * The `payload` parameter is available for any extra information that a deployment system might need. It is a JSON text - * field that will be passed on when a deployment event is dispatched. - * - * The `task` parameter is used by the deployment system to allow different execution paths. In the web world this might - * be `deploy:migrations` to run schema changes on the system. In the compiled world this could be a flag to compile an - * application with debugging enabled. - * - * Users with `repo` or `repo_deployment` scopes can create a deployment for a given ref. - * - * #### Merged branch response - * You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating - * a deployment. This auto-merge happens when: - * * Auto-merge option is enabled in the repository - * * Topic branch does not include the latest changes on the base branch, which is `master` in the response example - * * There are no merge conflicts - * - * If there are no new commits in the base branch, a new request to create a deployment should give a successful - * response. - * - * #### Merge conflict response - * This error happens when the `auto_merge` option is enabled and when the default branch (in this case `master`), can't - * be merged into the branch that's being deployed (in this case `topic-branch`), due to merge conflicts. - * - * #### Failed commit status checks - * This error happens when the `required_contexts` parameter indicates that one or more contexts need to have a `success` - * status for the commit to be deployed, but one or more of the required contexts do not have a state of `success`. + * Update a release + * @description Users with push access to the repository can edit a release. */ - requestBody: { + requestBody?: { content: { "application/json": { - /** @description The ref to deploy. This can be a branch, tag, or SHA. */ - ref: string; - /** - * @description Specifies a task to execute (e.g., `deploy` or `deploy:migrations`). - * @default deploy - */ - task?: string; - /** - * @description Attempts to automatically merge the default branch into the requested ref, if it's behind the default branch. - * @default true - */ - auto_merge?: boolean; - /** @description The [status](https://docs.github.com/rest/commits/statuses) contexts to verify against commit status checks. If you omit this parameter, GitHub verifies all unique contexts before creating a deployment. To bypass checking entirely, pass an empty array. Defaults to all unique contexts. */ - required_contexts?: (string)[]; - payload?: OneOf<[{ - [key: string]: unknown | undefined; - }, string]>; - /** - * @description Name for the target deployment environment (e.g., `production`, `staging`, `qa`). - * @default production - */ - environment?: string; - /** - * @description Short description of the deployment. - * @default - */ - description?: OneOf<[string, null]>; + /** @description The name of the tag. */ + tag_name?: string; + /** @description Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`). */ + target_commitish?: string; + /** @description The name of the release. */ + name?: string; + /** @description Text describing the contents of the tag. */ + body?: string; + /** @description `true` makes the release a draft, and `false` publishes the release. */ + draft?: boolean; + /** @description `true` to identify the release as a prerelease, `false` to identify the release as a full release. */ + prerelease?: boolean; /** - * @description Specifies if the given environment is specific to the deployment and will no longer exist at some point in the future. Default: `false` - * @default false + * @description Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Defaults to `true` for newly published releases. `legacy` specifies that the latest release should be determined based on the release creation date and higher semantic version. + * @default true + * @enum {string} */ - transient_environment?: boolean; - /** @description Specifies if the given environment is one that end-users directly interact with. Default: `true` when `environment` is `production` and `false` otherwise. */ - production_environment?: boolean; + make_latest?: "true" | "false" | "legacy"; + /** @description If specified, a discussion of the specified category is created and linked to the release. The value must be a category that already exists in the repository. If there is already a discussion linked to the release, this parameter is ignored. For more information, see "[Managing categories for discussions in your repository](https://docs.github.com/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)." */ + discussion_category_name?: string; }; }; }; responses: { /** @description Response */ - 201: { + 200: { content: { - "application/json": components["schemas"]["deployment"]; + "application/json": components["schemas"]["release"]; }; }; - /** @description Merged branch response */ - 202: { + /** @description Not Found if the discussion category name is invalid */ + 404: { content: { - "application/json": { - message?: string; - }; + "application/json": components["schemas"]["basic-error"]; }; }; - /** @description Conflict when there is a merge conflict or the commit's status checks failed */ - 409: never; - 422: components["responses"]["validation_failed"]; }; }; - "repos/get-deployment": { - /** Get a deployment */ + "repos/list-release-assets": { + /** List release assets */ responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["deployment"]; + "application/json": (components["schemas"]["release-asset"])[]; }; }; - 404: components["responses"]["not_found"]; }; }; - "repos/delete-deployment": { + "repos/upload-release-asset": { /** - * Delete a deployment - * @description If the repository only has one deployment, you can delete the deployment regardless of its status. If the repository has more than one deployment, you can only delete inactive deployments. This ensures that repositories with multiple deployments will always have an active deployment. Anyone with `repo` or `repo_deployment` scopes can delete a deployment. + * Upload a release asset + * @description This endpoint makes use of [a Hypermedia relation](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in + * the response of the [Create a release endpoint](https://docs.github.com/rest/reference/repos#create-a-release) to upload a release asset. * - * To set a deployment as inactive, you must: + * You need to use an HTTP client which supports [SNI](http://en.wikipedia.org/wiki/Server_Name_Indication) to make calls to this endpoint. * - * * Create a new deployment that is active so that the system has a record of the current state, then delete the previously active deployment. - * * Mark the active deployment as inactive by adding any non-successful deployment status. + * Most libraries will set the required `Content-Length` header automatically. Use the required `Content-Type` header to provide the media type of the asset. For a list of media types, see [Media Types](https://www.iana.org/assignments/media-types/media-types.xhtml). For example: * - * For more information, see "[Create a deployment](https://docs.github.com/rest/reference/repos/#create-a-deployment)" and "[Create a deployment status](https://docs.github.com/rest/reference/repos#create-a-deployment-status)." + * `application/zip` + * + * GitHub expects the asset data in its raw binary form, rather than JSON. You will send the raw binary content of the asset as the request body. Everything else about the endpoint is the same as the rest of the API. For example, + * you'll still need to pass your authentication to be able to upload an asset. + * + * When an upstream failure occurs, you will receive a `502 Bad Gateway` status. This may leave an empty asset with a state of `starter`. It can be safely deleted. + * + * **Notes:** + * * GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The "[List assets for a release](https://docs.github.com/rest/reference/repos#list-assets-for-a-release)" + * endpoint lists the renamed filenames. For more information and help, contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). + * * If you upload an asset with the same filename as another uploaded asset, you'll receive an error and must delete the old file before you can re-upload the new asset. */ + parameters: { + query: { + name: string; + label?: string; + }; + }; + requestBody?: { + content: { + "*/*": string; + }; + }; responses: { - /** @description Response */ - 204: never; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; + /** @description Response for successful upload */ + 201: { + content: { + "application/json": components["schemas"]["release-asset"]; + }; + }; + /** @description Response if you upload an asset with the same filename as another uploaded asset */ + 422: never; }; }; - "repos/list-deployment-statuses": { + "reactions/list-for-release": { /** - * List deployment statuses - * @description Users with pull access can view deployment statuses for a deployment: + * List reactions for a release + * @description List the reactions to a [release](https://docs.github.com/rest/reference/repos#releases). */ + parameters?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a release. */ + query?: { + content?: "+1" | "laugh" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; responses: { /** @description Response */ 200: { @@ -94009,1323 +100255,1348 @@ export interface operations { Link: components["headers"]["link"]; }; content: { - "application/json": (components["schemas"]["deployment-status"])[]; + "application/json": (components["schemas"]["reaction"])[]; }; }; 404: components["responses"]["not_found"]; }; }; - "repos/create-deployment-status": { + "reactions/create-for-release": { /** - * Create a deployment status - * @description Users with `push` access can create deployment statuses for a given deployment. - * - * GitHub Apps require `read & write` access to "Deployments" and `read-only` access to "Repo contents" (for private repos). OAuth Apps require the `repo_deployment` scope. + * Create reaction for a release + * @description Create a reaction to a [release](https://docs.github.com/rest/reference/repos#releases). A response with a `Status: 200 OK` means that you already added the reaction type to this release. */ requestBody: { content: { "application/json": { /** - * @description The state of the status. When you set a transient deployment to `inactive`, the deployment will be shown as `destroyed` in GitHub. - * @enum {string} - */ - state: "error" | "failure" | "inactive" | "in_progress" | "queued" | "pending" | "success"; - /** - * @description The target URL to associate with this status. This URL should contain output to keep the user updated while the task is running or serve as historical information for what happened in the deployment. **Note:** It's recommended to use the `log_url` parameter, which replaces `target_url`. - * @default - */ - target_url?: string; - /** - * @description The full URL of the deployment's output. This parameter replaces `target_url`. We will continue to accept `target_url` to support legacy uses, but we recommend replacing `target_url` with `log_url`. Setting `log_url` will automatically set `target_url` to the same value. Default: `""` - * @default - */ - log_url?: string; - /** - * @description A short description of the status. The maximum description length is 140 characters. - * @default - */ - description?: string; - /** - * @description Name for the target deployment environment, which can be changed when setting a deploy status. For example, `production`, `staging`, or `qa`. + * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the release. * @enum {string} */ - environment?: "production" | "staging" | "qa"; - /** - * @description Sets the URL for accessing your environment. Default: `""` - * @default - */ - environment_url?: string; - /** @description Adds a new `inactive` status to all prior non-transient, non-production environment deployments with the same repository and `environment` name as the created status's deployment. An `inactive` status is only added to deployments that had a `success` state. Default: `true` */ - auto_inactive?: boolean; + content: "+1" | "laugh" | "heart" | "hooray" | "rocket" | "eyes"; }; }; }; responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/example/deployments/42/statuses/1 */ - Location?: string; + /** @description Reaction exists */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; }; + }; + /** @description Reaction created */ + 201: { content: { - "application/json": components["schemas"]["deployment-status"]; + "application/json": components["schemas"]["reaction"]; }; }; 422: components["responses"]["validation_failed"]; }; }; - "repos/get-deployment-status": { + "reactions/delete-for-release": { /** - * Get a deployment status - * @description Users with pull access can view a deployment status for a deployment: + * Delete a release reaction + * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/releases/:release_id/reactions/:reaction_id`. + * + * Delete a reaction to a [release](https://docs.github.com/rest/reference/repos#releases). */ - parameters: { - path: { - status_id: number; - }; + responses: { + /** @description Response */ + 204: never; }; + }; + "secret-scanning/list-alerts-for-repo": { + /** + * List secret scanning alerts for a repository + * @description Lists secret scanning alerts for an eligible repository, from newest to oldest. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["deployment-status"]; + "application/json": (components["schemas"]["secret-scanning-alert"])[]; }; }; - 404: components["responses"]["not_found"]; + /** @description Repository is public or secret scanning is disabled for the repository */ + 404: never; + 503: components["responses"]["service_unavailable"]; }; }; - "repos/create-dispatch-event": { + "secret-scanning/get-alert": { /** - * Create a repository dispatch event - * @description You can use this endpoint to trigger a webhook event called `repository_dispatch` when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the `repository_dispatch` event occurs. For an example `repository_dispatch` webhook payload, see "[RepositoryDispatchEvent](https://docs.github.com/webhooks/event-payloads/#repository_dispatch)." - * - * The `client_payload` parameter is available for any extra information that your workflow might need. This parameter is a JSON payload that will be passed on when the webhook event is dispatched. For example, the `client_payload` can include a message that a user would like to send using a GitHub Actions workflow. Or the `client_payload` can be used as a test to debug your workflow. - * - * This endpoint requires write access to the repository by providing either: + * Get a secret scanning alert + * @description Gets a single secret scanning alert detected in an eligible repository. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. * - * - Personal access tokens with `repo` scope. For more information, see "[Creating a personal access token for the command line](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line)" in the GitHub Help documentation. - * - GitHub Apps with both `metadata:read` and `contents:read&write` permissions. + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["secret-scanning-alert"]; + }; + }; + 304: components["responses"]["not_modified"]; + /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ + 404: never; + 503: components["responses"]["service_unavailable"]; + }; + }; + "secret-scanning/update-alert": { + /** + * Update a secret scanning alert + * @description Updates the status of a secret scanning alert in an eligible repository. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. * - * This input example shows how you can use the `client_payload` as a test to debug your workflow. + * GitHub Apps must have the `secret_scanning_alerts` write permission to use this endpoint. */ requestBody: { content: { "application/json": { - /** @description A custom webhook event name. Must be 100 characters or fewer. */ - event_type: string; - /** @description JSON payload with extra information about the webhook event that your action or workflow may use. The maximum number of top-level properties is 10. */ - client_payload?: { - [key: string]: unknown | undefined; - }; + state: components["schemas"]["secret-scanning-alert-state"]; + resolution?: components["schemas"]["secret-scanning-alert-resolution"]; + resolution_comment?: components["schemas"]["secret-scanning-alert-resolution-comment"]; }; }; }; responses: { /** @description Response */ - 204: never; - 422: components["responses"]["validation_failed"]; + 200: { + content: { + "application/json": components["schemas"]["secret-scanning-alert"]; + }; + }; + /** @description Bad request, resolution comment is invalid or the resolution was not changed. */ + 400: never; + /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ + 404: never; + /** @description State does not match the resolution or resolution comment */ + 422: never; + 503: components["responses"]["service_unavailable"]; }; }; - "repos/get-all-environments": { + "secret-scanning/list-locations-for-alert": { /** - * List environments - * @description Lists the environments for a repository. + * List locations for a secret scanning alert + * @description Lists all locations for a given secret scanning alert for an eligible repository. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. */ responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": { - /** @description The number of environments in this repository */ - total_count?: number; - environments?: (components["schemas"]["environment"])[]; - }; + "application/json": (components["schemas"]["secret-scanning-location"])[]; }; }; + /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ + 404: never; + 503: components["responses"]["service_unavailable"]; }; }; - "repos/get-environment": { + "activity/list-stargazers-for-repo": { /** - * Get an environment - * @description **Note:** To get information about name patterns that branches must match in order to deploy to this environment, see "[Get a deployment branch policy](/rest/deployments/branch-policies#get-a-deployment-branch-policy)." + * List stargazers + * @description Lists the people that have starred the repository. * - * Anyone with read access to the repository can use this endpoint. If the - * repository is private, you must use an access token with the `repo` scope. GitHub - * Apps must have the `actions:read` permission to use this endpoint. + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. */ responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["environment"]; + "application/json": (components["schemas"]["simple-user"])[] | (components["schemas"]["stargazer"])[]; }; }; + 422: components["responses"]["validation_failed"]; }; }; - "repos/create-or-update-environment": { + "repos/get-code-frequency-stats": { /** - * Create or update an environment - * @description Create or update an environment with protection rules, such as required reviewers. For more information about environment protection rules, see "[Environments](/actions/reference/environments#environment-protection-rules)." - * - * **Note:** To create or update name patterns that branches must match in order to deploy to this environment, see "[Deployment branch policies](/rest/deployments/branch-policies)." - * - * **Note:** To create or update secrets for an environment, see "[Secrets](/rest/reference/actions#secrets)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. + * Get the weekly commit activity + * @description Returns a weekly aggregate of the number of additions and deletions pushed to a repository. */ - requestBody?: { - content: { - "application/json": OneOf<[{ - wait_timer?: components["schemas"]["wait-timer"]; - /** @description The people or teams that may review jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. */ - reviewers?: OneOf<[({ - type?: components["schemas"]["deployment-reviewer-type"]; - /** @description The id of the user or team who can review the deployment */ - id?: number; - })[], null]>; - deployment_branch_policy?: components["schemas"]["deployment-branch-policy-settings"]; - }, null]>; + responses: { + /** @description Returns a weekly aggregate of the number of additions and deletions pushed to a repository. */ + 200: { + content: { + "application/json": (components["schemas"]["code-frequency-stat"])[]; + }; }; + 202: components["responses"]["accepted"]; + 204: components["responses"]["no_content"]; }; + }; + "repos/get-commit-activity-stats": { + /** + * Get the last year of commit activity + * @description Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`. + */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["environment"]; + "application/json": (components["schemas"]["commit-activity"])[]; }; }; - /** @description Validation error when the environment name is invalid or when `protected_branches` and `custom_branch_policies` in `deployment_branch_policy` are set to the same value */ - 422: { + 202: components["responses"]["accepted"]; + 204: components["responses"]["no_content"]; + }; + }; + "repos/get-contributors-stats": { + /** + * Get all contributor commit activity + * @description + * Returns the `total` number of commits authored by the contributor. In addition, the response includes a Weekly Hash (`weeks` array) with the following information: + * + * * `w` - Start of the week, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). + * * `a` - Number of additions + * * `d` - Number of deletions + * * `c` - Number of commits + */ + responses: { + /** @description Response */ + 200: { content: { - "application/json": components["schemas"]["basic-error"]; + "application/json": (components["schemas"]["contributor-activity"])[]; }; }; + 202: components["responses"]["accepted"]; + 204: components["responses"]["no_content"]; }; }; - "repos/delete-an-environment": { + "repos/get-participation-stats": { /** - * Delete an environment - * @description You must authenticate using an access token with the repo scope to use this endpoint. + * Get the weekly commit count + * @description Returns the total commit counts for the `owner` and total commit counts in `all`. `all` is everyone combined, including the `owner` in the last 52 weeks. If you'd like to get the commit counts for non-owners, you can subtract `owner` from `all`. + * + * The array order is oldest week (index 0) to most recent week. */ responses: { - /** @description Default response */ - 204: never; + /** @description The array order is oldest week (index 0) to most recent week. */ + 200: { + content: { + "application/json": components["schemas"]["participation-stats"]; + }; + }; + 404: components["responses"]["not_found"]; }; }; - "repos/list-deployment-branch-policies": { + "repos/get-punch-card-stats": { /** - * List deployment branch policies - * @description Lists the deployment branch policies for an environment. + * Get the hourly commit count for each day + * @description Each array contains the day number, hour number, and number of commits: * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * * `0-6`: Sunday - Saturday + * * `0-23`: Hour of day + * * Number of commits + * + * For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. */ responses: { - /** @description Response */ + /** @description For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. */ 200: { content: { - "application/json": { - /** @description The number of deployment branch policies for the environment. */ - total_count: number; - branch_policies: (components["schemas"]["deployment-branch-policy"])[]; - }; + "application/json": (components["schemas"]["code-frequency-stat"])[]; }; }; + 204: components["responses"]["no_content"]; }; }; - "repos/create-deployment-branch-policy": { + "repos/create-commit-status": { /** - * Create a deployment branch policy - * @description Creates a deployment branch policy for an environment. + * Create a commit status + * @description Users with push access in a repository can create commit statuses for a given SHA. * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. + * Note: there is a limit of 1000 statuses per `sha` and `context` within a repository. Attempts to create more than 1000 statuses will result in a validation error. */ + parameters: { + path: { + sha: string; + }; + }; requestBody: { content: { - "application/json": components["schemas"]["deployment-branch-policy-name-pattern"]; + "application/json": { + /** + * @description The state of the status. + * @enum {string} + */ + state: "error" | "failure" | "pending" | "success"; + /** + * @description The target URL to associate with this status. This URL will be linked from the GitHub UI to allow users to easily see the source of the status. + * For example, if your continuous integration system is posting build status, you would want to provide the deep link for the build output for this specific SHA: + * `http://ci.example.com/user/repo/build/sha` + */ + target_url?: OneOf<[string, null]>; + /** @description A short description of the status. */ + description?: OneOf<[string, null]>; + /** + * @description A string label to differentiate this status from the status of other systems. This field is case-insensitive. + * @default default + */ + context?: string; + }; }; }; responses: { /** @description Response */ - 200: { + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e */ + Location?: string; + }; content: { - "application/json": components["schemas"]["deployment-branch-policy"]; + "application/json": components["schemas"]["status"]; }; }; - /** @description Response if the same branch name pattern already exists */ - 303: never; - /** @description Not Found or `deployment_branch_policy.custom_branch_policies` property for the environment is set to false */ - 404: never; }; }; - "repos/get-deployment-branch-policy": { + "activity/list-watchers-for-repo": { /** - * Get a deployment branch policy - * @description Gets a deployment branch policy for an environment. - * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + * List watchers + * @description Lists the people watching the specified repository. */ responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["deployment-branch-policy"]; + "application/json": (components["schemas"]["simple-user"])[]; }; }; }; }; - "repos/update-deployment-branch-policy": { + "activity/get-repo-subscription": { + /** Get a repository subscription */ + responses: { + /** @description if you subscribe to the repository */ + 200: { + content: { + "application/json": components["schemas"]["repository-subscription"]; + }; + }; + 403: components["responses"]["forbidden"]; + /** @description Not Found if you don't subscribe to the repository */ + 404: never; + }; + }; + "activity/set-repo-subscription": { /** - * Update a deployment branch policy - * @description Updates a deployment branch policy for an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. + * Set a repository subscription + * @description If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://docs.github.com/rest/reference/activity#delete-a-repository-subscription) completely. */ - requestBody: { + requestBody?: { content: { - "application/json": components["schemas"]["deployment-branch-policy-name-pattern"]; + "application/json": { + /** @description Determines if notifications should be received from this repository. */ + subscribed?: boolean; + /** @description Determines if all notifications should be blocked from this repository. */ + ignored?: boolean; + }; }; }; responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["deployment-branch-policy"]; + "application/json": components["schemas"]["repository-subscription"]; }; }; }; }; - "repos/delete-deployment-branch-policy": { + "activity/delete-repo-subscription": { /** - * Delete a deployment branch policy - * @description Deletes a deployment branch policy for an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. + * Delete a repository subscription + * @description This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://docs.github.com/rest/reference/activity#set-a-repository-subscription). */ responses: { /** @description Response */ 204: never; }; }; - "activity/list-repo-events": { - /** List repository events */ + "repos/list-tags": { + /** List repository tags */ responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": (components["schemas"]["event"])[]; + "application/json": (components["schemas"]["tag"])[]; }; }; }; }; - "repos/list-forks": { - /** List forks */ - parameters?: { - /** @description The sort order. `stargazers` will sort by star count. */ - query?: { - sort?: "newest" | "oldest" | "stargazers" | "watchers"; - }; - }; + "repos/list-tag-protection": { + /** + * List tag protection states for a repository + * @description This returns the tag protection states of a repository. + * + * This information is only available to repository administrators. + */ responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": (components["schemas"]["minimal-repository"])[]; + "application/json": (components["schemas"]["tag-protection"])[]; }; }; - 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; - "repos/create-fork": { + "repos/create-tag-protection": { /** - * Create a fork - * @description Create a fork for the authenticated user. - * - * **Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). + * Create a tag protection state for a repository + * @description This creates a tag protection state for a repository. + * This endpoint is only available to repository administrators. */ - requestBody?: { + requestBody: { content: { - "application/json": OneOf<[{ - /** @description Optional parameter to specify the organization name if forking into an organization. */ - organization?: string; - /** @description When forking from an existing repository, a new name for the fork. */ - name?: string; - /** @description When forking from an existing repository, fork with only the default branch. */ - default_branch_only?: boolean; - }, null]>; + "application/json": { + /** @description An optional glob pattern to match against when enforcing tag protection. */ + pattern: string; + }; }; }; responses: { /** @description Response */ - 202: { + 201: { content: { - "application/json": components["schemas"]["full-repository"]; + "application/json": components["schemas"]["tag-protection"]; }; }; - 400: components["responses"]["bad_request"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; }; }; - "git/create-blob": { - /** Create a blob */ - requestBody: { - content: { - "application/json": { - /** @description The new blob's content. */ - content: string; - /** - * @description The encoding used for `content`. Currently, `"utf-8"` and `"base64"` are supported. - * @default utf-8 - */ - encoding?: string; - }; + "repos/delete-tag-protection": { + /** + * Delete a tag protection state for a repository + * @description This deletes a tag protection state for a repository. + * This endpoint is only available to repository administrators. + */ + responses: { + /** @description Response */ + 204: never; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/download-tarball-archive": { + /** + * Download a repository archive (tar) + * @description Gets a redirect URL to download a tar archive for a repository. If you omit `:ref`, the repository’s default branch (usually + * `master`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use + * the `Location` header to make a second `GET` request. + * **Note**: For private repositories, these links are temporary and expire after five minutes. + */ + parameters: { + path: { + ref: string; }; }; responses: { /** @description Response */ - 201: { + 302: never; + }; + }; + "repos/list-teams": { + /** List repository teams */ + responses: { + /** @description Response */ + 200: { headers: { - /** @example https://api.github.com/repos/octocat/example/git/blobs/3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15 */ - Location?: string; + Link: components["headers"]["link"]; }; content: { - "application/json": components["schemas"]["short-blob"]; + "application/json": (components["schemas"]["team"])[]; }; }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; }; }; - "git/get-blob": { - /** - * Get a blob - * @description The `content` in the response will always be Base64 encoded. - * - * _Note_: This API supports blobs up to 100 megabytes in size. - */ - parameters: { - path: { - file_sha: string; - }; - }; + "repos/get-all-topics": { + /** Get all repository topics */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["blob"]; + "application/json": components["schemas"]["topic"]; }; }; - 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; }; }; - "git/create-commit": { - /** - * Create a commit - * @description Creates a new Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects). - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ + "repos/replace-all-topics": { + /** Replace all repository topics */ requestBody: { content: { "application/json": { - /** @description The commit message */ - message: string; - /** @description The SHA of the tree object this commit points to */ - tree: string; - /** @description The SHAs of the commits that were the parents of this commit. If omitted or empty, the commit will be written as a root commit. For a single parent, an array of one SHA should be provided; for a merge commit, an array of more than one should be provided. */ - parents?: (string)[]; - /** @description Information about the author of the commit. By default, the `author` will be the authenticated user and the current date. See the `author` and `committer` object below for details. */ - author?: { - /** @description The name of the author (or committer) of the commit */ - name: string; - /** @description The email of the author (or committer) of the commit */ - email: string; - /** - * Format: date-time - * @description Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - date?: string; - }; - /** @description Information about the person who is making the commit. By default, `committer` will use the information set in `author`. See the `author` and `committer` object below for details. */ - committer?: { - /** @description The name of the author (or committer) of the commit */ - name?: string; - /** @description The email of the author (or committer) of the commit */ - email?: string; - /** - * Format: date-time - * @description Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - date?: string; - }; - /** @description The [PGP signature](https://en.wikipedia.org/wiki/Pretty_Good_Privacy) of the commit. GitHub adds the signature to the `gpgsig` header of the created commit. For a commit signature to be verifiable by Git or GitHub, it must be an ASCII-armored detached PGP signature over the string commit as it would be written to the object database. To pass a `signature` parameter, you need to first manually create a valid PGP signature, which can be complicated. You may find it easier to [use the command line](https://git-scm.com/book/id/v2/Git-Tools-Signing-Your-Work) to create signed commits. */ - signature?: string; + /** @description An array of topics to add to the repository. Pass one or more topics to _replace_ the set of existing topics. Send an empty array (`[]`) to clear all topics from the repository. **Note:** Topic `names` cannot contain uppercase letters. */ + names: (string)[]; }; }; }; responses: { /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/git/commits/7638417db6d59f3c431d3e1f261cc637155684cd */ - Location?: string; - }; + 200: { content: { - "application/json": components["schemas"]["git-commit"]; + "application/json": components["schemas"]["topic"]; }; }; 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; + 422: components["responses"]["validation_failed_simple"]; }; }; - "git/get-commit": { + "repos/get-clones": { /** - * Get a commit - * @description Gets a Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects). - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + * Get repository clones + * @description Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["git-commit"]; + "application/json": components["schemas"]["clone-traffic"]; }; }; - 404: components["responses"]["not_found"]; + 403: components["responses"]["forbidden"]; }; }; - "git/list-matching-refs": { + "repos/get-top-paths": { /** - * List matching references - * @description Returns an array of references from your Git database that match the supplied name. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't exist in the repository, but existing refs start with `:ref`, they will be returned as an array. - * - * When you use this endpoint without providing a `:ref`, it will return an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just `heads` and `tags`. - * - * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". - * - * If you request matching references for a branch named `feature` but the branch `feature` doesn't exist, the response can still include other matching head refs that start with the word `feature`, such as `featureA` and `featureB`. + * Get top referral paths + * @description Get the top 10 popular contents over the last 14 days. */ - parameters: { - /** @description ref parameter */ - path: { - ref: string; - }; - }; responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": (components["schemas"]["git-ref"])[]; + "application/json": (components["schemas"]["content-traffic"])[]; }; }; + 403: components["responses"]["forbidden"]; }; }; - "git/get-ref": { + "repos/get-top-referrers": { /** - * Get a reference - * @description Returns a single reference from your Git database. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't match an existing ref, a `404` is returned. - * - * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + * Get top referral sources + * @description Get the top 10 referrers over the last 14 days. */ - parameters: { - /** @description ref parameter */ - path: { - ref: string; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": (components["schemas"]["referrer-traffic"])[]; + }; }; + 403: components["responses"]["forbidden"]; }; + }; + "repos/get-views": { + /** + * Get page views + * @description Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. + */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["git-ref"]; + "application/json": components["schemas"]["view-traffic"]; }; }; - 404: components["responses"]["not_found"]; + 403: components["responses"]["forbidden"]; }; }; - "git/create-ref": { + "repos/transfer": { /** - * Create a reference - * @description Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches. + * Transfer a repository + * @description A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://docs.github.com/articles/about-repository-transfers/). */ requestBody: { content: { "application/json": { - /** @description The name of the fully qualified reference (ie: `refs/heads/master`). If it doesn't start with 'refs' and have at least two slashes, it will be rejected. */ - ref: string; - /** @description The SHA1 value for this reference. */ - sha: string; - key?: string; + /** @description The username or organization name the repository will be transferred to. */ + new_owner: string; + /** @description The new name to be given to the repository. */ + new_name?: string; + /** @description ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories. */ + team_ids?: (number)[]; }; }; }; responses: { /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/git/refs/heads/featureA */ - Location?: string; - }; + 202: { content: { - "application/json": components["schemas"]["git-ref"]; + "application/json": components["schemas"]["minimal-repository"]; }; }; - 422: components["responses"]["validation_failed"]; }; }; - "git/delete-ref": { - /** Delete a reference */ + "repos/check-vulnerability-alerts": { + /** + * Check if vulnerability alerts are enabled for a repository + * @description Shows whether dependency alerts are enabled or disabled for a repository. The authenticated user must have admin read access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + responses: { + /** @description Response if repository is enabled with vulnerability alerts */ + 204: never; + /** @description Not Found if repository is not enabled with vulnerability alerts */ + 404: never; + }; + }; + "repos/enable-vulnerability-alerts": { + /** + * Enable vulnerability alerts + * @description Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + responses: { + /** @description Response */ + 204: never; + }; + }; + "repos/disable-vulnerability-alerts": { + /** + * Disable vulnerability alerts + * @description Disables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + responses: { + /** @description Response */ + 204: never; + }; + }; + "repos/download-zipball-archive": { + /** + * Download a repository archive (zip) + * @description Gets a redirect URL to download a zip archive for a repository. If you omit `:ref`, the repository’s default branch (usually + * `master`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use + * the `Location` header to make a second `GET` request. + * + * **Note**: For private repositories, these links are temporary and expire after five minutes. If the repository is empty, you will receive a 404 when you follow the redirect. + */ parameters: { - /** @description ref parameter */ path: { ref: string; }; }; responses: { /** @description Response */ - 204: never; - 422: components["responses"]["validation_failed"]; + 302: never; }; }; - "git/update-ref": { - /** Update a reference */ + "repos/create-using-template": { + /** + * Create a repository using a template + * @description Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. If the repository is not public, the authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/reference/repos#get-a-repository) endpoint and check that the `is_template` key is `true`. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. + * * `repo` scope to create a private repository + */ parameters: { - /** - * @description The name of the fully qualified reference to update. For example, `refs/heads/master`. If the value doesn't start with `refs` and have at least two slashes, it will be rejected. - * @example refs/head/master - */ path: { - ref: string; + template_owner: string; + template_repo: string; }; }; requestBody: { content: { "application/json": { - /** @description The SHA1 value to set this reference to */ - sha: string; + /** @description The organization or person who will own the new repository. To create a new repository in an organization, the authenticated user must be a member of the specified organization. */ + owner?: string; + /** @description The name of the new repository. */ + name: string; + /** @description A short description of the new repository. */ + description?: string; /** - * @description Indicates whether to force the update or to make sure the update is a fast-forward update. Leaving this out or setting it to `false` will make sure you're not overwriting work. + * @description Set to `true` to include the directory structure and files from all branches in the template repository, and not just the default branch. Default: `false`. * @default false */ - force?: boolean; + include_all_branches?: boolean; + /** + * @description Either `true` to create a new private repository or `false` to create a new public one. + * @default false + */ + private?: boolean; }; }; }; responses: { /** @description Response */ - 200: { + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World */ + Location?: string; + }; content: { - "application/json": components["schemas"]["git-ref"]; + "application/json": components["schemas"]["repository"]; }; }; - 422: components["responses"]["validation_failed"]; }; }; - "git/create-tag": { + "repos/list-public": { /** - * Create a tag object - * @description Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://docs.github.com/rest/reference/git#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://docs.github.com/rest/reference/git#create-a-reference) the tag reference - this call would be unnecessary. - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: + * List public repositories + * @description Lists all public repositories in the order that they were created. * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + * Note: + * - For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise. + * - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of repositories. */ - requestBody: { - content: { - "application/json": { - /** @description The tag's name. This is typically a version (e.g., "v0.0.1"). */ - tag: string; - /** @description The tag message. */ - message: string; - /** @description The SHA of the git object this is tagging. */ - object: string; - /** - * @description The type of the object we're tagging. Normally this is a `commit` but it can also be a `tree` or a `blob`. - * @enum {string} - */ - type: "commit" | "tree" | "blob"; - /** @description An object with information about the individual creating the tag. */ - tagger?: { - /** @description The name of the author of the tag */ - name: string; - /** @description The email of the author of the tag */ - email: string; - /** - * Format: date-time - * @description When this object was tagged. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - date?: string; - }; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next" */ + Link?: string; + }; + content: { + "application/json": (components["schemas"]["minimal-repository"])[]; }; }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; }; + }; + "actions/list-environment-secrets": { + /** + * List environment secrets + * @description Lists all secrets available in an environment without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. + */ responses: { /** @description Response */ - 201: { + 200: { headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/git/tags/940bd336248efae0f9ee5bc7b2d5c985887b16ac */ - Location?: string; + Link: components["headers"]["link"]; }; content: { - "application/json": components["schemas"]["git-tag"]; + "application/json": { + total_count: number; + secrets: (components["schemas"]["actions-secret"])[]; + }; }; }; - 422: components["responses"]["validation_failed"]; }; }; - "git/get-tag": { + "actions/get-environment-public-key": { /** - * Get a tag - * @description **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + * Get an environment public key + * @description Get the public key for an environment, which you need to encrypt environment secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ - parameters: { - path: { - tag_sha: string; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-public-key"]; + }; }; }; + }; + "actions/get-environment-secret": { + /** + * Get an environment secret + * @description Gets a single environment secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. + */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["git-tag"]; + "application/json": components["schemas"]["actions-secret"]; }; }; - 404: components["responses"]["not_found"]; }; }; - "git/create-tree": { + "actions/create-or-update-environment-secret": { /** - * Create a tree - * @description The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure. + * Create or update an environment secret + * @description Creates or updates an environment secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use + * this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [libsodium-wrappers](https://www.npmjs.com/package/libsodium-wrappers) library. + * + * ``` + * const sodium = require('libsodium-wrappers') + * const secret = 'plain-text-secret' // replace with the secret you want to encrypt + * const key = 'base64-encoded-public-key' // replace with the Base64 encoded public key + * + * //Check if libsodium is ready and then proceed. + * sodium.ready.then(() => { + * // Convert Secret & Base64 key to Uint8Array. + * let binkey = sodium.from_base64(key, sodium.base64_variants.ORIGINAL) + * let binsec = sodium.from_string(secret) + * + * //Encrypt the secret using LibSodium + * let encBytes = sodium.crypto_box_seal(binsec, binkey) + * + * // Convert encrypted Uint8Array to Base64 + * let output = sodium.to_base64(encBytes, sodium.base64_variants.ORIGINAL) + * + * console.log(output) + * }); + * ``` + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` * - * If you use this endpoint to add, delete, or modify the file contents in a tree, you will need to commit the tree and then update a branch to point to the commit. For more information see "[Create a commit](https://docs.github.com/rest/reference/git#create-a-commit)" and "[Update a reference](https://docs.github.com/rest/reference/git#update-a-reference)." + * #### Example encrypting a secret using C# * - * Returns an error if you try to delete a file that does not exist. + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` */ requestBody: { content: { "application/json": { - /** @description Objects (of `path`, `mode`, `type`, and `sha`) specifying a tree structure. */ - tree: ({ - /** @description The file referenced in the tree. */ - path?: string; - /** - * @description The file mode; one of `100644` for file (blob), `100755` for executable (blob), `040000` for subdirectory (tree), `160000` for submodule (commit), or `120000` for a blob that specifies the path of a symlink. - * @enum {string} - */ - mode?: "100644" | "100755" | "040000" | "160000" | "120000"; - /** - * @description Either `blob`, `tree`, or `commit`. - * @enum {string} - */ - type?: "blob" | "tree" | "commit"; - /** - * @description The SHA1 checksum ID of the object in the tree. Also called `tree.sha`. If the value is `null` then the file will be deleted. - * - * **Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error. - */ - sha?: OneOf<[string, null]>; - /** - * @description The content you want this file to have. GitHub will write this blob out and use that SHA for this entry. Use either this, or `tree.sha`. - * - * **Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error. - */ - content?: string; - })[]; - /** - * @description The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on. - * If not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit. - */ - base_tree?: string; + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an environment public key](https://docs.github.com/rest/reference/actions#get-an-environment-public-key) endpoint. */ + encrypted_value: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id: string; }; }; }; responses: { - /** @description Response */ + /** @description Response when creating a secret */ 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/trees/cd8274d15fa3ae2ab983129fb037999f264ba9a7 */ - Location?: string; - }; content: { - "application/json": components["schemas"]["git-tree"]; + "application/json": components["schemas"]["empty-object"]; }; }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; + /** @description Response when updating a secret */ + 204: never; }; }; - "git/get-tree": { + "actions/delete-environment-secret": { /** - * Get a tree - * @description Returns a single tree using the SHA1 value for that tree. + * Delete an environment secret + * @description Deletes a secret in an environment using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. + */ + responses: { + /** @description Default response */ + 204: never; + }; + }; + "search/code": { + /** + * Search code + * @description Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). * - * If `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, use the non-recursive method of fetching trees, and fetch one sub-tree at a time. + * When searching for code, you can get text match metadata for the file **content** and file **path** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find the definition of the `addClass` function inside [jQuery](https://github.com/jquery/jquery) repository, your query would look something like this: * + * `q=addClass+in:file+language:js+repo:jquery/jquery` * - * **Note**: The limit for the `tree` array is 100,000 entries with a maximum size of 7 MB when using the `recursive` parameter. + * This query searches for the keyword `addClass` within a file's contents. The query limits the search to files where the language is JavaScript in the `jquery/jquery` repository. + * + * #### Considerations for code search + * + * Due to the complexity of searching code, there are a few restrictions on how searches are performed: + * + * * Only the _default branch_ is considered. In most cases, this will be the `master` branch. + * * Only files smaller than 384 KB are searchable. + * * You must always include at least one search term when searching source code. For example, searching for [`language:go`](https://github.com/search?utf8=%E2%9C%93&q=language%3Ago&type=Code) is not valid, while [`amazing + * language:go`](https://github.com/search?utf8=%E2%9C%93&q=amazing+language%3Ago&type=Code) is. */ parameters: { - /** @description Setting this parameter to any value returns the objects or subtrees referenced by the tree specified in `:tree_sha`. For example, setting `recursive` to any of the following will enable returning objects or subtrees: `0`, `1`, `"true"`, and `"false"`. Omit this parameter to prevent recursively returning objects or subtrees. */ - query?: { - recursive?: string; - }; - path: { - tree_sha: string; + /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching code](https://docs.github.com/search-github/searching-on-github/searching-code)" for a detailed list of qualifiers. */ + /** @description Sorts the results of your query. Can only be `indexed`, which indicates how recently a file has been indexed by the GitHub search infrastructure. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) */ + query: { + q: string; + sort?: "indexed"; }; }; responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["git-tree"]; + "application/json": { + total_count: number; + incomplete_results: boolean; + items: (components["schemas"]["code-search-result-item"])[]; + }; }; }; - 404: components["responses"]["not_found"]; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; }; }; - "repos/list-webhooks": { + "search/commits": { /** - * List repository webhooks - * @description Lists webhooks for a repository. `last response` may return null if there have not been any deliveries within 30 days. + * Search commits + * @description Find commits via various criteria on the default branch (usually `master`). This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for commits, you can get text match metadata for the **message** field when you provide the `text-match` media type. For more details about how to receive highlighted search results, see [Text match + * metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find commits related to CSS in the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. Your query would look something like this: + * + * `q=repo:octocat/Spoon-Knife+css` */ + parameters: { + /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching commits](https://docs.github.com/search-github/searching-on-github/searching-commits)" for a detailed list of qualifiers. */ + /** @description Sorts the results of your query by `author-date` or `committer-date`. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) */ + query: { + q: string; + sort?: "author-date" | "committer-date"; + }; + }; responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": (components["schemas"]["hook"])[]; + "application/json": { + total_count: number; + incomplete_results: boolean; + items: (components["schemas"]["commit-search-result-item"])[]; + }; }; }; - 404: components["responses"]["not_found"]; + 304: components["responses"]["not_modified"]; }; }; - "repos/create-webhook": { + "search/issues-and-pull-requests": { /** - * Create a repository webhook - * @description Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can - * share the same `config` as long as those webhooks do not have any `events` that overlap. + * Search issues and pull requests + * @description Find issues by state and keyword. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for issues, you can get text match metadata for the issue **title**, issue **body**, and issue **comment body** fields when you pass the `text-match` media type. For more details about how to receive highlighted + * search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this. + * + * `q=windows+label:bug+language:python+state:open&sort=created&order=asc` + * + * This query searches for the keyword `windows`, within any open issue that is labeled as `bug`. The search runs across repositories whose primary language is Python. The results are sorted by creation date in ascending order, which means the oldest issues appear first in the search results. + * + * **Note:** For [user-to-server](https://docs.github.com/developers/apps/identifying-and-authorizing-users-for-github-apps#user-to-server-requests) GitHub App requests, you can't retrieve a combination of issues and pull requests in a single query. Requests that don't include the `is:issue` or `is:pull-request` qualifier will receive an HTTP `422 Unprocessable Entity` response. To get results for both issues and pull requests, you must send separate queries for issues and pull requests. For more information about the `is` qualifier, see "[Searching only issues or pull requests](https://docs.github.com/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-only-issues-or-pull-requests)." */ - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description Use `web` to create a webhook. Default: `web`. This parameter only accepts the value `web`. */ - name?: string; - /** @description Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/repos#create-hook-config-params). */ - config?: { - url?: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - token?: string; - digest?: string; - }; - /** - * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. - * @default [ - * "push" - * ] - */ - events?: (string)[]; - /** - * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. - * @default true - */ - active?: boolean; - }, null]>; + parameters: { + /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching issues and pull requests](https://docs.github.com/search-github/searching-on-github/searching-issues-and-pull-requests)" for a detailed list of qualifiers. */ + /** @description Sorts the results of your query by the number of `comments`, `reactions`, `reactions-+1`, `reactions--1`, `reactions-smile`, `reactions-thinking_face`, `reactions-heart`, `reactions-tada`, or `interactions`. You can also sort results by how recently the items were `created` or `updated`, Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) */ + query: { + q: string; + sort?: "comments" | "reactions" | "reactions-+1" | "reactions--1" | "reactions-smile" | "reactions-thinking_face" | "reactions-heart" | "reactions-tada" | "interactions" | "created" | "updated"; }; }; responses: { /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/hooks/12345678 */ - Location?: string; - }; + 200: { content: { - "application/json": components["schemas"]["hook"]; + "application/json": { + total_count: number; + incomplete_results: boolean; + items: (components["schemas"]["issue-search-result-item"])[]; + }; }; }; + 304: components["responses"]["not_modified"]; 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; }; }; - "repos/get-webhook": { - /** - * Get a repository webhook - * @description Returns a webhook configured in a repository. To get only the webhook `config` properties, see "[Get a webhook configuration for a repository](/rest/reference/repos#get-a-webhook-configuration-for-a-repository)." - */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["hook"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/delete-webhook": { - /** Delete a repository webhook */ - responses: { - /** @description Response */ - 204: never; - 404: components["responses"]["not_found"]; - }; - }; - "repos/update-webhook": { + "search/labels": { /** - * Update a repository webhook - * @description Updates a webhook configured in a repository. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for a repository](/rest/reference/repos#update-a-webhook-configuration-for-a-repository)." + * Search labels + * @description Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for labels, you can get text match metadata for the label **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find labels in the `linguist` repository that match `bug`, `defect`, or `enhancement`. Your query might look like this: + * + * `q=bug+defect+enhancement&repository_id=64778136` + * + * The labels that best match the query appear first in the search results. */ - requestBody: { - content: { - "application/json": { - /** @description Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/repos#create-hook-config-params). */ - config?: { - url: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - address?: string; - room?: string; - }; - /** - * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. This replaces the entire array of events. - * @default [ - * "push" - * ] - */ - events?: (string)[]; - /** @description Determines a list of events to be added to the list of events that the Hook triggers for. */ - add_events?: (string)[]; - /** @description Determines a list of events to be removed from the list of events that the Hook triggers for. */ - remove_events?: (string)[]; - /** - * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. - * @default true - */ - active?: boolean; - }; + parameters: { + /** @description The id of the repository. */ + /** @description The search keywords. This endpoint does not accept qualifiers in the query. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). */ + /** @description Sorts the results of your query by when the label was `created` or `updated`. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) */ + query: { + repository_id: number; + q: string; + sort?: "created" | "updated"; }; }; responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["hook"]; + "application/json": { + total_count: number; + incomplete_results: boolean; + items: (components["schemas"]["label-search-result-item"])[]; + }; }; }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; }; }; - "repos/get-webhook-config-for-repo": { + "search/repos": { /** - * Get a webhook configuration for a repository - * @description Returns the webhook configuration for a repository. To get more information about the webhook, including the `active` state and `events`, use "[Get a repository webhook](/rest/reference/orgs#get-a-repository-webhook)." + * Search repositories + * @description Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). * - * Access tokens must have the `read:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:read` permission. + * When searching for repositories, you can get text match metadata for the **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to search for popular Tetris repositories written in assembly code, your query might look like this: + * + * `q=tetris+language:assembly&sort=stars&order=desc` + * + * This query searches for repositories with the word `tetris` in the name, the description, or the README. The results are limited to repositories where the primary language is assembly. The results are sorted by stars in descending order, so that the most popular repositories appear first in the search results. */ + parameters: { + /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching for repositories](https://docs.github.com/articles/searching-for-repositories/)" for a detailed list of qualifiers. */ + /** @description Sorts the results of your query by number of `stars`, `forks`, or `help-wanted-issues` or how recently the items were `updated`. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) */ + query: { + q: string; + sort?: "stars" | "forks" | "help-wanted-issues" | "updated"; + }; + }; responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["webhook-config"]; + "application/json": { + total_count: number; + incomplete_results: boolean; + items: (components["schemas"]["repo-search-result-item"])[]; + }; }; }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; }; }; - "repos/update-webhook-config-for-repo": { + "search/topics": { /** - * Update a webhook configuration for a repository - * @description Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use "[Update a repository webhook](/rest/reference/orgs#update-a-repository-webhook)." + * Search topics + * @description Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). See "[Searching topics](https://docs.github.com/articles/searching-topics/)" for a detailed list of qualifiers. * - * Access tokens must have the `write:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:write` permission. + * When searching for topics, you can get text match metadata for the topic's **short\_description**, **description**, **name**, or **display\_name** field when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to search for topics related to Ruby that are featured on https://github.com/topics. Your query might look like this: + * + * `q=ruby+is:featured` + * + * This query searches for topics with the keyword `ruby` and limits the results to find only topics that are featured. The topics that are the best match for the query appear first in the search results. */ - requestBody?: { - content: { - "application/json": { - url?: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - }; + parameters: { + /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). */ + query: { + q: string; }; }; responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["webhook-config"]; + "application/json": { + total_count: number; + incomplete_results: boolean; + items: (components["schemas"]["topic-search-result-item"])[]; + }; }; }; + 304: components["responses"]["not_modified"]; }; }; - "repos/list-webhook-deliveries": { + "search/users": { /** - * List deliveries for a repository webhook - * @description Returns a list of webhook deliveries for a webhook configured in a repository. + * Search users + * @description Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for users, you can get text match metadata for the issue **login**, public **email**, and **name** fields when you pass the `text-match` media type. For more details about highlighting search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you're looking for a list of popular users, you might try this query: + * + * `q=tom+repos:%3E42+followers:%3E1000` + * + * This query searches for users with the name `tom`. The results are restricted to users with more than 42 repositories and over 1,000 followers. */ + parameters: { + /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching users](https://docs.github.com/search-github/searching-on-github/searching-users)" for a detailed list of qualifiers. */ + /** @description Sorts the results of your query by number of `followers` or `repositories`, or when the person `joined` GitHub. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) */ + query: { + q: string; + sort?: "followers" | "repositories" | "joined"; + }; + }; responses: { /** @description Response */ 200: { content: { - "application/json": (components["schemas"]["hook-delivery-item"])[]; + "application/json": { + total_count: number; + incomplete_results: boolean; + items: (components["schemas"]["user-search-result-item"])[]; + }; }; }; - 400: components["responses"]["bad_request"]; + 304: components["responses"]["not_modified"]; 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; }; }; - "repos/get-webhook-delivery": { + "teams/get-legacy": { /** - * Get a delivery for a repository webhook - * @description Returns a delivery for a webhook configured in a repository. + * Get a team (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [Get a team by name](https://docs.github.com/rest/reference/teams#get-a-team-by-name) endpoint. */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["hook-delivery"]; + "application/json": components["schemas"]["team-full"]; }; }; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/redeliver-webhook-delivery": { - /** - * Redeliver a delivery for a repository webhook - * @description Redeliver a webhook delivery for a webhook configured in a repository. - */ - responses: { - 202: components["responses"]["accepted"]; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/ping-webhook": { - /** - * Ping a repository webhook - * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. - */ - responses: { - /** @description Response */ - 204: never; - 404: components["responses"]["not_found"]; - }; - }; - "repos/test-push-webhook": { - /** - * Test the push repository webhook - * @description This will trigger the hook with the latest push to the current repository if the hook is subscribed to `push` events. If the hook is not subscribed to `push` events, the server will respond with 204 but no test POST will be generated. - * - * **Note**: Previously `/repos/:owner/:repo/hooks/:hook_id/test` - */ - responses: { - /** @description Response */ - 204: never; 404: components["responses"]["not_found"]; }; }; - "migrations/get-import-status": { + "teams/delete-legacy": { /** - * Get an import status - * @description View the progress of an import. - * - * **Import status** - * - * This section includes details about the possible values of the `status` field of the Import Progress response. - * - * An import that does not have errors will progress through these steps: - * - * * `detecting` - the "detection" step of the import is in progress because the request did not include a `vcs` parameter. The import is identifying the type of source control present at the URL. - * * `importing` - the "raw" step of the import is in progress. This is where commit data is fetched from the original repository. The import progress response will include `commit_count` (the total number of raw commits that will be imported) and `percent` (0 - 100, the current progress through the import). - * * `mapping` - the "rewrite" step of the import is in progress. This is where SVN branches are converted to Git branches, and where author updates are applied. The import progress response does not include progress information. - * * `pushing` - the "push" step of the import is in progress. This is where the importer updates the repository on GitHub. The import progress response will include `push_percent`, which is the percent value reported by `git push` when it is "Writing objects". - * * `complete` - the import is complete, and the repository is ready on GitHub. - * - * If there are problems, you will see one of these in the `status` field: - * - * * `auth_failed` - the import requires authentication in order to connect to the original repository. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. - * * `error` - the import encountered an error. The import progress response will include the `failed_step` and an error message. Contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api) for more information. - * * `detection_needs_auth` - the importer requires authentication for the originating repository to continue detection. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. - * * `detection_found_nothing` - the importer didn't recognize any source control at the URL. To resolve, [Cancel the import](https://docs.github.com/rest/reference/migrations#cancel-an-import) and [retry](https://docs.github.com/rest/reference/migrations#start-an-import) with the correct URL. - * * `detection_found_multiple` - the importer found several projects or repositories at the provided URL. When this is the case, the Import Progress response will also include a `project_choices` field with the possible project choices as values. To update project choice, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. - * - * **The project_choices field** - * - * When multiple projects are found at the provided URL, the response hash will include a `project_choices` field, the value of which is an array of hashes each representing a project choice. The exact key/value pairs of the project hashes will differ depending on the version control type. - * - * **Git LFS related fields** + * Delete a team (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a team](https://docs.github.com/rest/reference/teams#delete-a-team) endpoint. * - * This section includes details about Git LFS related fields that may be present in the Import Progress response. + * To delete a team, the authenticated user must be an organization owner or team maintainer. * - * * `use_lfs` - describes whether the import has been opted in or out of using Git LFS. The value can be `opt_in`, `opt_out`, or `undecided` if no action has been taken. - * * `has_large_files` - the boolean value describing whether files larger than 100MB were found during the `importing` step. - * * `large_files_size` - the total size in gigabytes of files larger than 100MB found in the originating repository. - * * `large_files_count` - the total number of files larger than 100MB found in the originating repository. To see a list of these files, make a "Get Large Files" request. + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. */ responses: { /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["import"]; - }; - }; + 204: never; 404: components["responses"]["not_found"]; - 503: components["responses"]["porter_maintenance"]; + 422: components["responses"]["validation_failed"]; }; }; - "migrations/start-import": { + "teams/update-legacy": { /** - * Start an import - * @description Start a source import to a GitHub repository using GitHub Importer. + * Update a team (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a team](https://docs.github.com/rest/reference/teams#update-a-team) endpoint. + * + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * **Note:** With nested teams, the `privacy` for parent teams cannot be `secret`. */ requestBody: { content: { "application/json": { - /** @description The URL of the originating repository. */ - vcs_url: string; + /** @description The name of the team. */ + name: string; + /** @description The description of the team. */ + description?: string; /** - * @description The originating VCS type. Without this parameter, the import job will take additional time to detect the VCS type before beginning the import. This detection step will be reflected in the response. + * @description The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. * @enum {string} */ - vcs?: "subversion" | "git" | "mercurial" | "tfvc"; - /** @description If authentication is required, the username to provide to `vcs_url`. */ - vcs_username?: string; - /** @description If authentication is required, the password to provide to `vcs_url`. */ - vcs_password?: string; - /** @description For a tfvc import, the name of the project that is being imported. */ - tfvc_project?: string; + privacy?: "secret" | "closed"; + /** + * @description **Deprecated**. The permission that new repositories will be added to the team with when none is specified. + * @default pull + * @enum {string} + */ + permission?: "pull" | "push" | "admin"; + /** @description The ID of a team to set as the parent team. */ + parent_team_id?: OneOf<[number, null]>; }; }; }; responses: { + /** @description Response when the updated information already exists */ + 200: { + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; /** @description Response */ 201: { - headers: { - /** @example https://api.github.com/repos/spraints/socm/import */ - Location?: string; - }; content: { - "application/json": components["schemas"]["import"]; + "application/json": components["schemas"]["team-full"]; }; }; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; - 503: components["responses"]["porter_maintenance"]; }; }; - "migrations/cancel-import": { + "teams/list-discussions-legacy": { /** - * Cancel an import - * @description Stop an import for a repository. + * List discussions (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://docs.github.com/rest/reference/teams#list-discussions) endpoint. + * + * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ responses: { /** @description Response */ - 204: never; - 503: components["responses"]["porter_maintenance"]; + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": (components["schemas"]["team-discussion"])[]; + }; + }; }; }; - "migrations/update-import": { + "teams/create-discussion-legacy": { /** - * Update an import - * @description An import can be updated with credentials or a project choice by passing in the appropriate parameters in this API - * request. If no parameters are provided, the import will be restarted. + * Create a discussion (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://docs.github.com/rest/reference/teams#create-a-discussion) endpoint. * - * Some servers (e.g. TFS servers) can have several projects at a single URL. In those cases the import progress will - * have the status `detection_found_multiple` and the Import Progress response will include a `project_choices` array. - * You can select the project to import by providing one of the objects in the `project_choices` array in the update request. + * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ - requestBody?: { + requestBody: { content: { - "application/json": OneOf<[{ - /** @description The username to provide to the originating repository. */ - vcs_username?: string; - /** @description The password to provide to the originating repository. */ - vcs_password?: string; + "application/json": { + /** @description The discussion post's title. */ + title: string; + /** @description The discussion post's body text. */ + body: string; /** - * @description The type of version control system you are migrating from. - * @enum {string} + * @description Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. + * @default false */ - vcs?: "subversion" | "tfvc" | "git" | "mercurial"; - /** @description For a tfvc import, the name of the project that is being imported. */ - tfvc_project?: string; - }, null]>; + private?: boolean; + }; }; }; responses: { /** @description Response */ - 200: { + 201: { content: { - "application/json": components["schemas"]["import"]; + "application/json": components["schemas"]["team-discussion"]; }; }; - 503: components["responses"]["porter_maintenance"]; }; }; - "migrations/get-commit-authors": { + "teams/get-discussion-legacy": { /** - * Get commit authors - * @description Each type of source control system represents authors in a different way. For example, a Git commit author has a display name and an email address, but a Subversion commit author just has a username. The GitHub Importer will make the author information valid, but the author might not be correct. For example, it will change the bare Subversion username `hubot` into something like `hubot `. + * Get a discussion (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion](https://docs.github.com/rest/reference/teams#get-a-discussion) endpoint. * - * This endpoint and the [Map a commit author](https://docs.github.com/rest/reference/migrations#map-a-commit-author) endpoint allow you to provide correct Git author information. + * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ responses: { /** @description Response */ 200: { content: { - "application/json": (components["schemas"]["porter-author"])[]; + "application/json": components["schemas"]["team-discussion"]; }; }; - 404: components["responses"]["not_found"]; - 503: components["responses"]["porter_maintenance"]; }; }; - "migrations/map-commit-author": { + "teams/delete-discussion-legacy": { /** - * Map a commit author - * @description Update an author's identity for the import. Your application can continue updating authors any time before you push new commits to the repository. + * Delete a discussion (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://docs.github.com/rest/reference/teams#delete-a-discussion) endpoint. + * + * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ - parameters: { - path: { - author_id: number; - }; + responses: { + /** @description Response */ + 204: never; }; + }; + "teams/update-discussion-legacy": { + /** + * Update a discussion (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion](https://docs.github.com/rest/reference/teams#update-a-discussion) endpoint. + * + * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ requestBody?: { content: { "application/json": { - /** @description The new Git author email. */ - email?: string; - /** @description The new Git author name. */ - name?: string; + /** @description The discussion post's title. */ + title?: string; + /** @description The discussion post's body text. */ + body?: string; }; }; }; @@ -95333,126 +101604,181 @@ export interface operations { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["porter-author"]; + "application/json": components["schemas"]["team-discussion"]; }; }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["porter_maintenance"]; }; }; - "migrations/get-large-files": { + "teams/list-discussion-comments-legacy": { /** - * Get large files - * @description List files larger than 100MB found during the import + * List discussion comments (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List discussion comments](https://docs.github.com/rest/reference/teams#list-discussion-comments) endpoint. + * + * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": (components["schemas"]["porter-large-file"])[]; + "application/json": (components["schemas"]["team-discussion-comment"])[]; }; }; - 503: components["responses"]["porter_maintenance"]; }; }; - "migrations/set-lfs-preference": { + "teams/create-discussion-comment-legacy": { /** - * Update Git LFS preference - * @description You can import repositories from Subversion, Mercurial, and TFS that include files larger than 100MB. This ability is powered by [Git LFS](https://git-lfs.github.com). You can learn more about our LFS feature and working with large files [on our help site](https://docs.github.com/articles/versioning-large-files/). + * Create a discussion comment (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Create a discussion comment](https://docs.github.com/rest/reference/teams#create-a-discussion-comment) endpoint. + * + * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ requestBody: { content: { "application/json": { - /** - * @description Whether to store large files during the import. `opt_in` means large files will be stored using Git LFS. `opt_out` means large files will be removed during the import. - * @enum {string} - */ - use_lfs: "opt_in" | "opt_out"; + /** @description The discussion comment's body text. */ + body: string; }; }; }; responses: { /** @description Response */ - 200: { + 201: { content: { - "application/json": components["schemas"]["import"]; + "application/json": components["schemas"]["team-discussion-comment"]; }; }; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["porter_maintenance"]; }; }; - "apps/get-repo-installation": { + "teams/get-discussion-comment-legacy": { /** - * Get a repository installation for the authenticated app - * @description Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to. + * Get a discussion comment (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion comment](https://docs.github.com/rest/reference/teams#get-a-discussion-comment) endpoint. * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["installation"]; + "application/json": components["schemas"]["team-discussion-comment"]; }; }; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; }; }; - "interactions/get-restrictions-for-repo": { + "teams/delete-discussion-comment-legacy": { /** - * Get interaction restrictions for a repository - * @description Shows which type of GitHub user can interact with this repository and when the restriction expires. If there are no restrictions, you will see an empty response. + * Delete a discussion comment (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a discussion comment](https://docs.github.com/rest/reference/teams#delete-a-discussion-comment) endpoint. + * + * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + responses: { + /** @description Response */ + 204: never; + }; + }; + "teams/update-discussion-comment-legacy": { + /** + * Update a discussion comment (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion comment](https://docs.github.com/rest/reference/teams#update-a-discussion-comment) endpoint. + * + * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; + }; + }; + }; responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["interaction-limit-response"] | Record; + "application/json": components["schemas"]["team-discussion-comment"]; }; }; }; }; - "interactions/set-restrictions-for-repo": { + "reactions/list-for-team-discussion-comment-legacy": { /** - * Set interaction restrictions for a repository - * @description Temporarily restricts interactions to a certain type of GitHub user within the given repository. You must have owner or admin access to set these restrictions. If an interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. + * List reactions for a team discussion comment (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion-comment) endpoint. + * + * List the reactions to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ - requestBody: { - content: { - "application/json": components["schemas"]["interaction-limit"]; + parameters?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion comment. */ + query?: { + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; }; }; responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["interaction-limit-response"]; + "application/json": (components["schemas"]["reaction"])[]; }; }; - /** @description Response */ - 409: never; }; }; - "interactions/remove-restrictions-for-repo": { + "reactions/create-for-team-discussion-comment-legacy": { /** - * Remove interaction restrictions for a repository - * @description Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. If the interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. + * Create reaction for a team discussion comment (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Create reaction for a team discussion comment](https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion-comment)" endpoint. + * + * Create a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. */ + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion comment. + * @enum {string} + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; responses: { /** @description Response */ - 204: never; - /** @description Response */ - 409: never; + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; }; }; - "repos/list-invitations": { + "reactions/list-for-team-discussion-legacy": { /** - * List repository invitations - * @description When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. + * List reactions for a team discussion (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion) endpoint. + * + * List the reactions to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + parameters?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion. */ + query?: { + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; responses: { /** @description Response */ 200: { @@ -95460,64 +101786,71 @@ export interface operations { Link: components["headers"]["link"]; }; content: { - "application/json": (components["schemas"]["repository-invitation"])[]; + "application/json": (components["schemas"]["reaction"])[]; }; }; }; }; - "repos/delete-invitation": { - /** Delete a repository invitation */ - responses: { - /** @description Response */ - 204: never; - }; - }; - "repos/update-invitation": { - /** Update a repository invitation */ - requestBody?: { + "reactions/create-for-team-discussion-legacy": { + /** + * Create reaction for a team discussion (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion) endpoint. + * + * Create a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. + */ + requestBody: { content: { "application/json": { /** - * @description The permissions that the associated user will have on the repository. Valid values are `read`, `write`, `maintain`, `triage`, and `admin`. + * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion. * @enum {string} */ - permissions?: "read" | "write" | "maintain" | "triage" | "admin"; + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; }; }; }; + }; + "teams/list-pending-invitations-legacy": { + /** + * List pending team invitations (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://docs.github.com/rest/reference/teams#list-pending-team-invitations) endpoint. + * + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + */ responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["repository-invitation"]; + "application/json": (components["schemas"]["organization-invitation"])[]; }; }; }; }; - "issues/list-for-repo": { + "teams/list-members-legacy": { /** - * List repository issues - * @description List issues in a repository. Only open issues will be listed. + * List team members (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://docs.github.com/rest/reference/teams#list-team-members) endpoint. * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + * Team members will include the members of child teams. */ parameters?: { - /** @description If an `integer` is passed, it should refer to a milestone by its `number` field. If the string `*` is passed, issues with any milestone are accepted. If the string `none` is passed, issues without milestones are returned. */ - /** @description Indicates the state of the issues to return. */ - /** @description Can be the name of a user. Pass in `none` for issues with no assigned user, and `*` for issues assigned to any user. */ - /** @description The user that created the issue. */ - /** @description A user that's mentioned in the issue. */ - /** @description What to sort results by. */ + /** @description Filters members returned by their role in the team. */ query?: { - milestone?: string; - state?: "open" | "closed" | "all"; - assignee?: string; - creator?: string; - mentioned?: string; - sort?: "created" | "updated" | "comments"; + role?: "member" | "maintainer" | "all"; }; }; responses: { @@ -95527,72 +101860,170 @@ export interface operations { Link: components["headers"]["link"]; }; content: { - "application/json": (components["schemas"]["issue"])[]; + "application/json": (components["schemas"]["simple-user"])[]; }; }; - 301: components["responses"]["moved_permanently"]; 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; }; }; - "issues/create": { + "teams/get-member-legacy": { /** - * Create an issue - * @description Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://docs.github.com/articles/disabling-issues/), the API returns a `410 Gone` status. + * Get team member (Legacy) + * @deprecated + * @description The "Get team member" endpoint (described below) is deprecated. * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * We recommend using the [Get team membership for a user](https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user) endpoint instead. It allows you to get both active and pending memberships. + * + * To list members in a team, the team must be visible to the authenticated user. */ - requestBody: { + responses: { + /** @description if user is a member */ + 204: never; + /** @description if user is not a member */ + 404: never; + }; + }; + "teams/add-member-legacy": { + /** + * Add team member (Legacy) + * @deprecated + * @description The "Add team member" endpoint (described below) is deprecated. + * + * We recommend using the [Add or update team membership for a user](https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint instead. It allows you to invite new organization members to your teams. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they're changing. The person being added to the team must be a member of the team's organization. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + responses: { + /** @description Response */ + 204: never; + 403: components["responses"]["forbidden"]; + /** @description Not Found if team synchronization is set up */ + 404: never; + /** @description Unprocessable Entity if you attempt to add an organization to a team or you attempt to add a user to a team when they are not a member of at least one other team in the same organization */ + 422: never; + }; + }; + "teams/remove-member-legacy": { + /** + * Remove team member (Legacy) + * @deprecated + * @description The "Remove team member" endpoint (described below) is deprecated. + * + * We recommend using the [Remove team membership for a user](https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user) endpoint instead. It allows you to remove both active and pending memberships. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a team member, the authenticated user must have 'admin' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + */ + responses: { + /** @description Response */ + 204: never; + /** @description Not Found if team synchronization is setup */ + 404: never; + }; + }; + "teams/get-membership-for-user-legacy": { + /** + * Get team membership for a user (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get team membership for a user](https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user) endpoint. + * + * Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** + * The response contains the `state` of the membership and the member's `role`. + * + * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team). + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team-membership"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "teams/add-or-update-membership-for-user-legacy": { + /** + * Add or update team membership for a user (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team membership for a user](https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * If the user is already a member of the team's organization, this endpoint will add the user to the team. To add a membership between an organization member and a team, the authenticated user must be an organization owner or a team maintainer. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * If the user is unaffiliated with the team's organization, this endpoint will send an invitation to the user via email. This newly-created membership will be in the "pending" state until the user accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. To add a membership between an unaffiliated user and a team, the authenticated user must be an organization owner. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + */ + requestBody?: { content: { "application/json": { - /** @description The title of the issue. */ - title: string | number; - /** @description The contents of the issue. */ - body?: string; - /** @description Login for the user that this issue should be assigned to. _NOTE: Only users with push access can set the assignee for new issues. The assignee is silently dropped otherwise. **This field is deprecated.**_ */ - assignee?: OneOf<[string, null]>; - milestone?: string | number; - /** @description Labels to associate with this issue. _NOTE: Only users with push access can set labels for new issues. Labels are silently dropped otherwise._ */ - labels?: (OneOf<[string, { - id?: number; - name?: string; - description?: OneOf<[string, null]>; - color?: OneOf<[string, null]>; - }]>)[]; - /** @description Logins for Users to assign to this issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ */ - assignees?: (string)[]; + /** + * @description The role that this user should have in the team. + * @default member + * @enum {string} + */ + role?: "member" | "maintainer"; }; }; }; responses: { /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/issues/1347 */ - Location?: string; - }; + 200: { content: { - "application/json": components["schemas"]["issue"]; + "application/json": components["schemas"]["team-membership"]; }; }; - 403: components["responses"]["forbidden"]; + /** @description Forbidden if team synchronization is set up */ + 403: never; 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; + /** @description Unprocessable Entity if you attempt to add an organization to a team */ + 422: never; }; }; - "issues/list-comments-for-repo": { + "teams/remove-membership-for-user-legacy": { /** - * List issue comments for a repository - * @description By default, Issue Comments are ordered by ascending ID. + * Remove team membership for a user (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove team membership for a user](https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." */ - parameters?: { - /** @description Either `asc` or `desc`. Ignored without the `sort` parameter. */ - query?: { - direction?: "asc" | "desc"; - }; + responses: { + /** @description Response */ + 204: never; + /** @description if team synchronization is set up */ + 403: never; }; + }; + "teams/list-projects-legacy": { + /** + * List team projects (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team projects`](https://docs.github.com/rest/reference/teams#list-team-projects) endpoint. + * + * Lists the organization projects for a team. + */ responses: { /** @description Response */ 200: { @@ -95600,63 +102031,87 @@ export interface operations { Link: components["headers"]["link"]; }; content: { - "application/json": (components["schemas"]["issue-comment"])[]; + "application/json": (components["schemas"]["team-project"])[]; }; }; 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; }; }; - "issues/get-comment": { - /** Get an issue comment */ + "teams/check-permissions-for-project-legacy": { + /** + * Check team permissions for a project (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a project](https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-project) endpoint. + * + * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. + */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["issue-comment"]; + "application/json": components["schemas"]["team-project"]; }; }; - 404: components["responses"]["not_found"]; - }; - }; - "issues/delete-comment": { - /** Delete an issue comment */ - responses: { - /** @description Response */ - 204: never; + /** @description Not Found if project is not managed by this team */ + 404: never; }; }; - "issues/update-comment": { - /** Update an issue comment */ - requestBody: { + "teams/add-or-update-project-permissions-legacy": { + /** + * Add or update team project permissions (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team project permissions](https://docs.github.com/rest/reference/teams#add-or-update-team-project-permissions) endpoint. + * + * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. + */ + requestBody?: { content: { "application/json": { - /** @description The contents of the comment. */ - body: string; + /** + * @description The permission to grant to the team for this project. Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * @enum {string} + */ + permission?: "read" | "write" | "admin"; }; }; }; responses: { /** @description Response */ - 200: { + 204: never; + /** @description Forbidden if the project is not owned by the organization */ + 403: { content: { - "application/json": components["schemas"]["issue-comment"]; + "application/json": { + message?: string; + documentation_url?: string; + }; }; }; + 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; }; }; - "reactions/list-for-issue-comment": { + "teams/remove-project-legacy": { /** - * List reactions for an issue comment - * @description List the reactions to an [issue comment](https://docs.github.com/rest/reference/issues#comments). + * Remove a project from a team (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a project from a team](https://docs.github.com/rest/reference/teams#remove-a-project-from-a-team) endpoint. + * + * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. **Note:** This endpoint removes the project from the team, but does not delete it. */ - parameters?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to an issue comment. */ - query?: { - content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - }; + responses: { + /** @description Response */ + 204: never; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; + }; + "teams/list-repos-legacy": { + /** + * List team repositories (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List team repositories](https://docs.github.com/rest/reference/teams#list-team-repositories) endpoint. + */ responses: { /** @description Response */ 200: { @@ -95664,152 +102119,140 @@ export interface operations { Link: components["headers"]["link"]; }; content: { - "application/json": (components["schemas"]["reaction"])[]; + "application/json": (components["schemas"]["minimal-repository"])[]; }; }; 404: components["responses"]["not_found"]; }; }; - "reactions/create-for-issue-comment": { + "teams/check-permissions-for-repo-legacy": { /** - * Create reaction for an issue comment - * @description Create a reaction to an [issue comment](https://docs.github.com/rest/reference/issues#comments). A response with an HTTP `200` status means that you already added the reaction type to this issue comment. + * Check team permissions for a repository (Legacy) + * @deprecated + * @description **Note**: Repositories inherited through a parent team will also be checked. + * + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a repository](https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-repository) endpoint. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: */ - requestBody: { + responses: { + /** @description Alternative response with extra repository information */ + 200: { + content: { + "application/json": components["schemas"]["team-repository"]; + }; + }; + /** @description Response if repository is managed by this team */ + 204: never; + /** @description Not Found if repository is not managed by this team */ + 404: never; + }; + }; + "teams/add-or-update-repo-permissions-legacy": { + /** + * Add or update team repository permissions (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Add or update team repository permissions](https://docs.github.com/rest/reference/teams#add-or-update-team-repository-permissions)" endpoint. + * + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + requestBody?: { content: { "application/json": { /** - * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the issue comment. + * @description The permission to grant the team on this repository. If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. * @enum {string} */ - content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + permission?: "pull" | "push" | "admin"; }; }; }; responses: { - /** @description Reaction exists */ - 200: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - /** @description Reaction created */ - 201: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; + /** @description Response */ + 204: never; + 403: components["responses"]["forbidden"]; 422: components["responses"]["validation_failed"]; }; }; - "reactions/delete-for-issue-comment": { + "teams/remove-repo-legacy": { /** - * Delete an issue comment reaction - * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id`. + * Remove a repository from a team (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a repository from a team](https://docs.github.com/rest/reference/teams#remove-a-repository-from-a-team) endpoint. * - * Delete a reaction to an [issue comment](https://docs.github.com/rest/reference/issues#comments). + * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. NOTE: This does not delete the repository, it just removes it from the team. */ responses: { /** @description Response */ 204: never; }; }; - "issues/list-events-for-repo": { - /** List issue events for a repository */ + "teams/list-child-legacy": { + /** + * List child teams (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://docs.github.com/rest/reference/teams#list-child-teams) endpoint. + */ responses: { - /** @description Response */ + /** @description if child teams exist */ 200: { headers: { Link: components["headers"]["link"]; }; content: { - "application/json": (components["schemas"]["issue-event"])[]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "issues/get-event": { - /** Get an issue event */ - parameters: { - path: { - event_id: number; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["issue-event"]; + "application/json": (components["schemas"]["team"])[]; }; }; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; }; }; - "issues/get": { + "users/get-authenticated": { /** - * Get an issue - * @description The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-redirects-redirects) if the issue was - * [transferred](https://docs.github.com/articles/transferring-an-issue-to-another-repository/) to another repository. If - * the issue was transferred to or deleted from a repository where the authenticated user lacks read access, the API - * returns a `404 Not Found` status. If the issue was deleted from a repository where the authenticated user has read - * access, the API returns a `410 Gone` status. To receive webhook events for transferred and deleted issues, subscribe - * to the [`issues`](https://docs.github.com/webhooks/event-payloads/#issues) webhook. + * Get the authenticated user + * @description If the authenticated user is authenticated through basic authentication or OAuth with the `user` scope, then the response lists public and private profile information. * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + * If the authenticated user is authenticated through OAuth without the `user` scope, then the response lists only public profile information. */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["issue"]; + "application/json": components["schemas"]["private-user"] | components["schemas"]["public-user"]; }; }; - 301: components["responses"]["moved_permanently"]; 304: components["responses"]["not_modified"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; }; }; - "issues/update": { + "users/update-authenticated": { /** - * Update an issue - * @description Issue owners and users with push access can edit an issue. + * Update the authenticated user + * @description **Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API. */ requestBody?: { content: { "application/json": { - /** @description The title of the issue. */ - title?: string | number; - /** @description The contents of the issue. */ - body?: OneOf<[string, null]>; - /** @description Login for the user that this issue should be assigned to. **This field is deprecated.** */ - assignee?: OneOf<[string, null]>; - /** - * @description State of the issue. Either `open` or `closed`. - * @enum {string} - */ - state?: "open" | "closed"; - /** - * @description The reason for the current state - * @enum {string|null} - */ - state_reason?: "completed" | "not_planned" | "reopened" | "" | null; - milestone?: string | number; - /** @description Labels to associate with this issue. Pass one or more Labels to _replace_ the set of Labels on this Issue. Send an empty array (`[]`) to clear all Labels from the Issue. _NOTE: Only users with push access can set labels for issues. Labels are silently dropped otherwise._ */ - labels?: (OneOf<[string, { - id?: number; - name?: string; - description?: OneOf<[string, null]>; - color?: OneOf<[string, null]>; - }]>)[]; - /** @description Logins for Users to assign to this issue. Pass one or more user logins to _replace_ the set of assignees on this Issue. Send an empty array (`[]`) to clear all assignees from the Issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ */ - assignees?: (string)[]; + /** @description The new name of the user. */ + name?: string; + /** @description The publicly visible email address of the user. */ + email?: string; + /** @description The new blog URL of the user. */ + blog?: string; + /** @description The new Twitter username of the user. */ + twitter_username?: OneOf<[string, null]>; + /** @description The new company of the user. */ + company?: string; + /** @description The new location of the user. */ + location?: string; + /** @description The new hiring availability of the user. */ + hireable?: boolean; + /** @description The new short biography of the user. */ + bio?: string; }; }; }; @@ -95817,112 +102260,185 @@ export interface operations { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["issue"]; + "application/json": components["schemas"]["private-user"]; }; }; - 301: components["responses"]["moved_permanently"]; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; }; }; - "issues/add-assignees": { + "users/list-blocked-by-authenticated-user": { /** - * Add assignees to an issue - * @description Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced. + * List users blocked by the authenticated user + * @description List the users you've blocked on your personal account. */ - requestBody?: { - content: { - "application/json": { - /** @description Usernames of people to assign this issue to. _NOTE: Only users with push access can add assignees to an issue. Assignees are silently ignored otherwise._ */ - assignees?: (string)[]; - }; - }; - }; responses: { /** @description Response */ - 201: { + 200: { content: { - "application/json": components["schemas"]["issue"]; + "application/json": (components["schemas"]["simple-user"])[]; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; - "issues/remove-assignees": { - /** - * Remove assignees from an issue - * @description Removes one or more assignees from an issue. - */ - requestBody?: { - content: { - "application/json": { - /** @description Usernames of assignees to remove from an issue. _NOTE: Only users with push access can remove assignees from an issue. Assignees are silently ignored otherwise._ */ - assignees?: (string)[]; + "users/check-blocked": { + /** Check if a user is blocked by the authenticated user */ + responses: { + /** @description If the user is blocked */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** @description If the user is not blocked */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; }; }; }; + }; + "users/block": { + /** Block a user */ + responses: { + /** @description Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/unblock": { + /** Unblock a user */ responses: { /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["issue"]; - }; - }; + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; - "issues/list-comments": { + "codespaces/list-for-authenticated-user": { /** - * List issue comments - * @description Issue Comments are ordered by ascending ID. + * List codespaces for the authenticated user + * @description Lists the authenticated user's codespaces. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. */ responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": (components["schemas"]["issue-comment"])[]; + "application/json": { + total_count: number; + codespaces: (components["schemas"]["codespace"])[]; + }; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; + 500: components["responses"]["internal_error"]; }; }; - "issues/create-comment": { + "codespaces/create-for-authenticated-user": { /** - * Create an issue comment - * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * Create a codespace for the authenticated user + * @description Creates a new codespace, owned by the authenticated user. + * + * This endpoint requires either a `repository_id` OR a `pull_request` but not both. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. */ requestBody: { content: { - "application/json": { - /** @description The contents of the comment. */ - body: string; - }; + "application/json": OneOf<[{ + /** @description Repository id for this codespace */ + repository_id: number; + /** @description Git ref (typically a branch name) for this codespace */ + ref?: string; + /** @description Location for this codespace. Assigned by IP if not provided */ + location?: string; + /** @description IP for location auto-detection when proxying a request */ + client_ip?: string; + /** @description Machine type to use for this codespace */ + machine?: string; + /** @description Path to devcontainer.json config to use for this codespace */ + devcontainer_path?: string; + /** @description Whether to authorize requested permissions from devcontainer.json */ + multi_repo_permissions_opt_out?: boolean; + /** @description Working directory for this codespace */ + working_directory?: string; + /** @description Time in minutes before codespace stops from inactivity */ + idle_timeout_minutes?: number; + /** @description Display name for this codespace */ + display_name?: string; + /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ + retention_period_minutes?: number; + }, { + /** @description Pull request number for this codespace */ + pull_request: { + /** @description Pull request number */ + pull_request_number: number; + /** @description Repository id for this codespace */ + repository_id: number; + }; + /** @description Location for this codespace. Assigned by IP if not provided */ + location?: string; + /** @description Machine type to use for this codespace */ + machine?: string; + /** @description Path to devcontainer.json config to use for this codespace */ + devcontainer_path?: string; + /** @description Working directory for this codespace */ + working_directory?: string; + /** @description Time in minutes before codespace stops from inactivity */ + idle_timeout_minutes?: number; + }]>; }; }; responses: { - /** @description Response */ + /** @description Response when the codespace was successfully created */ 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/issues/comments/1 */ - Location?: string; + content: { + "application/json": components["schemas"]["codespace"]; }; + }; + /** @description Response when the codespace creation partially failed but is being retried in the background */ + 202: { content: { - "application/json": components["schemas"]["issue-comment"]; + "application/json": components["schemas"]["codespace"]; }; }; + 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; }; }; - "issues/list-events": { - /** List issue events */ + "codespaces/list-secrets-for-authenticated-user": { + /** + * List secrets for the authenticated user + * @description Lists all secrets available for a user's Codespaces without revealing their + * encrypted values. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. + */ responses: { /** @description Response */ 200: { @@ -95930,410 +102446,474 @@ export interface operations { Link: components["headers"]["link"]; }; content: { - "application/json": (components["schemas"]["issue-event-for-issue"])[]; + "application/json": { + total_count: number; + secrets: (components["schemas"]["codespaces-secret"])[]; + }; }; }; - 410: components["responses"]["gone"]; }; }; - "issues/list-labels-on-issue": { - /** List labels for an issue */ + "codespaces/get-public-key-for-authenticated-user": { + /** + * Get public key for the authenticated user + * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. + */ responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": (components["schemas"]["label"])[]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; + "application/json": components["schemas"]["codespaces-user-public-key"]; + }; + }; }; }; - "issues/set-labels": { + "codespaces/get-secret-for-authenticated-user": { /** - * Set labels for an issue - * @description Removes any previous labels and sets the new labels for an issue. + * Get a secret for the authenticated user + * @description Gets a secret available to a user's codespaces without revealing its encrypted value. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. */ - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description The names of the labels to set for the issue. The labels you set replace any existing labels. You can pass an empty array to remove all labels. Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. You can also add labels to the existing labels for an issue. For more information, see "[Add labels to an issue](https://docs.github.com/rest/reference/issues#add-labels-to-an-issue)." */ - labels?: (string)[]; - }, (string)[], { - labels?: ({ - name: string; - })[]; - }, ({ - name: string; - })[], string]>; - }; - }; responses: { /** @description Response */ 200: { content: { - "application/json": (components["schemas"]["label"])[]; + "application/json": components["schemas"]["codespaces-secret"]; }; }; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed"]; }; }; - "issues/add-labels": { - /** Add labels to an issue */ - requestBody?: { + "codespaces/create-or-update-secret-for-authenticated-user": { + /** + * Create or update a secret for the authenticated user + * @description Creates or updates a secret for a user's codespace with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must also have Codespaces access to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission and `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [libsodium-wrappers](https://www.npmjs.com/package/libsodium-wrappers) library. + * + * ``` + * const sodium = require('libsodium-wrappers') + * const secret = 'plain-text-secret' // replace with the secret you want to encrypt + * const key = 'base64-encoded-public-key' // replace with the Base64 encoded public key + * + * //Check if libsodium is ready and then proceed. + * sodium.ready.then(() => { + * // Convert Secret & Base64 key to Uint8Array. + * let binkey = sodium.from_base64(key, sodium.base64_variants.ORIGINAL) + * let binsec = sodium.from_string(secret) + * + * //Encrypt the secret using LibSodium + * let encBytes = sodium.crypto_box_seal(binsec, binkey) + * + * // Convert encrypted Uint8Array to Base64 + * let output = sodium.to_base64(encBytes, sodium.base64_variants.ORIGINAL) + * + * console.log(output) + * }); + * ``` + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + requestBody: { content: { - "application/json": OneOf<[{ - /** @description The names of the labels to add to the issue's existing labels. You can pass an empty array to remove all labels. Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. You can also replace all of the labels for an issue. For more information, see "[Set labels for an issue](https://docs.github.com/rest/reference/issues#set-labels-for-an-issue)." */ - labels?: (string)[]; - }, (string)[], { - labels?: ({ - name: string; - })[]; - }, ({ - name: string; - })[], string]>; + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get the public key for the authenticated user](https://docs.github.com/rest/reference/codespaces#get-the-public-key-for-the-authenticated-user) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id: string; + /** @description An array of repository ids that can access the user secret. You can manage the list of selected repositories using the [List selected repositories for a user secret](https://docs.github.com/rest/reference/codespaces#list-selected-repositories-for-a-user-secret), [Set selected repositories for a user secret](https://docs.github.com/rest/reference/codespaces#set-selected-repositories-for-a-user-secret), and [Remove a selected repository from a user secret](https://docs.github.com/rest/reference/codespaces#remove-a-selected-repository-from-a-user-secret) endpoints. */ + selected_repository_ids?: (string)[]; + }; }; }; responses: { - /** @description Response */ - 200: { + /** @description Response after successfully creating a secret */ + 201: { content: { - "application/json": (components["schemas"]["label"])[]; + "application/json": components["schemas"]["empty-object"]; }; }; - 301: components["responses"]["moved_permanently"]; + /** @description Response after successfully updating a secret */ + 204: never; 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; 422: components["responses"]["validation_failed"]; }; }; - "issues/remove-all-labels": { - /** Remove all labels from an issue */ + "codespaces/delete-secret-for-authenticated-user": { + /** + * Delete a secret for the authenticated user + * @description Deletes a secret from a user's codespaces using the secret name. Deleting the secret will remove access from all codespaces that were allowed to access the secret. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. + */ responses: { /** @description Response */ 204: never; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; }; }; - "issues/remove-label": { + "codespaces/list-repositories-for-secret-for-authenticated-user": { /** - * Remove a label from an issue - * @description Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a `404 Not Found` status if the label does not exist. + * List selected repositories for a user secret + * @description List the repositories that have been granted the ability to use a user's codespace secret. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. */ - parameters: { - path: { - name: string; - }; - }; responses: { /** @description Response */ 200: { content: { - "application/json": (components["schemas"]["label"])[]; + "application/json": { + total_count: number; + repositories: (components["schemas"]["minimal-repository"])[]; + }; }; }; - 301: components["responses"]["moved_permanently"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; + 500: components["responses"]["internal_error"]; }; }; - "issues/lock": { + "codespaces/set-repositories-for-secret-for-authenticated-user": { /** - * Lock an issue - * @description Users with push access can lock an issue or pull request's conversation. + * Set selected repositories for a user secret + * @description Select the repositories that will use a user's codespace secret. * - * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. */ - requestBody?: { + requestBody: { content: { - "application/json": OneOf<[{ - /** - * @description The reason for locking the issue or pull request conversation. Lock will fail if you don't use one of these reasons: - * \* `off-topic` - * \* `too heated` - * \* `resolved` - * \* `spam` - * @enum {string} - */ - lock_reason?: "off-topic" | "too heated" | "resolved" | "spam"; - }, null]>; + "application/json": { + /** @description An array of repository ids for which a codespace can access the secret. You can manage the list of selected repositories using the [List selected repositories for a user secret](https://docs.github.com/rest/reference/codespaces#list-selected-repositories-for-a-user-secret), [Add a selected repository to a user secret](https://docs.github.com/rest/reference/codespaces#add-a-selected-repository-to-a-user-secret), and [Remove a selected repository from a user secret](https://docs.github.com/rest/reference/codespaces#remove-a-selected-repository-from-a-user-secret) endpoints. */ + selected_repository_ids: (number)[]; + }; }; }; responses: { - /** @description Response */ + /** @description No Content when repositories were added to the selected list */ 204: never; + 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; }; }; - "issues/unlock": { + "codespaces/add-repository-for-secret-for-authenticated-user": { /** - * Unlock an issue - * @description Users with push access can unlock an issue's conversation. + * Add a selected repository to a user secret + * @description Adds a repository to the selected repositories for a user's codespace secret. + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on the referenced repository to use this endpoint. */ + parameters: { + path: { + repository_id: number; + }; + }; responses: { - /** @description Response */ + /** @description No Content when repository was added to the selected list */ 204: never; + 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; }; }; - "reactions/list-for-issue": { + "codespaces/remove-repository-for-secret-for-authenticated-user": { /** - * List reactions for an issue - * @description List the reactions to an [issue](https://docs.github.com/rest/reference/issues). + * Remove a selected repository from a user secret + * @description Removes a repository from the selected repositories for a user's codespace secret. + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. */ - parameters?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to an issue. */ - query?: { - content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + parameters: { + path: { + repository_id: number; }; }; responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["reaction"])[]; - }; - }; + /** @description No Content when repository was removed from the selected list */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; + 500: components["responses"]["internal_error"]; }; }; - "reactions/create-for-issue": { + "codespaces/get-for-authenticated-user": { /** - * Create reaction for an issue - * @description Create a reaction to an [issue](https://docs.github.com/rest/reference/issues/). A response with an HTTP `200` status means that you already added the reaction type to this issue. + * Get a codespace for the authenticated user + * @description Gets information about a user's codespace. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. */ - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the issue. - * @enum {string} - */ - content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - }; - }; - }; responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["reaction"]; + "application/json": components["schemas"]["codespace"]; }; }; - 422: components["responses"]["validation_failed"]; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; }; }; - "reactions/delete-for-issue": { + "codespaces/delete-for-authenticated-user": { /** - * Delete an issue reaction - * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id`. + * Delete a codespace for the authenticated user + * @description Deletes a user's codespace. * - * Delete a reaction to an [issue](https://docs.github.com/rest/reference/issues/). + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. */ responses: { - /** @description Response */ - 204: never; + 202: components["responses"]["accepted"]; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; }; }; - "issues/list-events-for-timeline": { - /** List timeline events for an issue */ - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["timeline-issue-events"])[]; + "codespaces/update-for-authenticated-user": { + /** + * Update a codespace for the authenticated user + * @description Updates a codespace owned by the authenticated user. Currently only the codespace's machine type and recent folders can be modified using this endpoint. + * + * If you specify a new machine type it will be applied the next time your codespace is started. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + requestBody?: { + content: { + "application/json": { + /** @description A valid machine to transition this codespace to. */ + machine?: string; + /** @description Display name for this codespace */ + display_name?: string; + /** @description Recently opened folders inside the codespace. It is currently used by the clients to determine the folder path to load the codespace in. */ + recent_folders?: (string)[]; }; }; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; }; - }; - "repos/list-deploy-keys": { - /** List deploy keys */ responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": (components["schemas"]["deploy-key"])[]; + "application/json": components["schemas"]["codespace"]; }; }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; - "repos/create-deploy-key": { + "codespaces/export-for-authenticated-user": { /** - * Create a deploy key - * @description You can create a read-only deploy key. + * Export a codespace for the authenticated user + * @description Triggers an export of the specified codespace and returns a URL and ID where the status of the export can be monitored. + * + * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. */ - requestBody: { - content: { - "application/json": { - /** @description A name for the key. */ - title?: string; - /** @description The contents of the key. */ - key: string; - /** - * @description If `true`, the key will only be able to read repository contents. Otherwise, the key will be able to read and write. - * - * Deploy keys with write access can perform the same actions as an organization member with admin access, or a collaborator on a personal repository. For more information, see "[Repository permission levels for an organization](https://docs.github.com/articles/repository-permission-levels-for-an-organization/)" and "[Permission levels for a user account repository](https://docs.github.com/articles/permission-levels-for-a-user-account-repository/)." - */ - read_only?: boolean; - }; - }; - }; responses: { /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/keys/1 */ - Location?: string; - }; + 202: { content: { - "application/json": components["schemas"]["deploy-key"]; + "application/json": components["schemas"]["codespace-export-details"]; }; }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; }; }; - "repos/get-deploy-key": { - /** Get a deploy key */ + "codespaces/get-export-details-for-authenticated-user": { + /** + * Get details about a codespace export + * @description Gets information about an export of a codespace. + * + * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["deploy-key"]; + "application/json": components["schemas"]["codespace-export-details"]; }; }; 404: components["responses"]["not_found"]; }; }; - "repos/delete-deploy-key": { + "codespaces/codespace-machines-for-authenticated-user": { /** - * Delete a deploy key - * @description Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead. + * List machine types for a codespace + * @description List the machine types a codespace can transition to use. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. */ - responses: { - /** @description Response */ - 204: never; - }; - }; - "issues/list-labels-for-repo": { - /** List labels for a repository */ responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": (components["schemas"]["label"])[]; + "application/json": { + total_count: number; + machines: (components["schemas"]["codespace-machine"])[]; + }; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; }; }; - "issues/create-label": { - /** Create a label */ - requestBody: { - content: { - "application/json": { - /** @description The name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see "[Emoji cheat sheet](https://github.com/ikatyang/emoji-cheat-sheet)." */ - name: string; - /** @description The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. */ - color?: string; - /** @description A short description of the label. Must be 100 characters or fewer. */ - description?: string; - }; - }; - }; + "codespaces/start-for-authenticated-user": { + /** + * Start a codespace for the authenticated user + * @description Starts a user's codespace. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + */ responses: { /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/labels/bug */ - Location?: string; - }; + 200: { content: { - "application/json": components["schemas"]["label"]; + "application/json": components["schemas"]["codespace"]; }; }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "issues/get-label": { - /** Get a label */ - parameters: { - path: { - name: string; - }; - }; - responses: { - /** @description Response */ - 200: { + 304: components["responses"]["not_modified"]; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["requires_authentication"]; + /** @description Payment required */ + 402: { content: { - "application/json": components["schemas"]["label"]; + "application/json": components["schemas"]["basic-error"]; }; }; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 500: components["responses"]["internal_error"]; }; }; - "issues/delete-label": { - /** Delete a label */ - parameters: { - path: { - name: string; - }; - }; + "codespaces/stop-for-authenticated-user": { + /** + * Stop a codespace for the authenticated user + * @description Stops a user's codespace. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + */ responses: { /** @description Response */ - 204: never; - }; - }; - "issues/update-label": { - /** Update a label */ - parameters: { - path: { - name: string; + 200: { + content: { + "application/json": components["schemas"]["codespace"]; + }; }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; }; - requestBody?: { + }; + "users/set-primary-email-visibility-for-authenticated-user": { + /** + * Set primary email visibility for the authenticated user + * @description Sets the visibility for your primary email addresses. + */ + requestBody: { content: { "application/json": { - /** @description The new name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see "[Emoji cheat sheet](https://github.com/ikatyang/emoji-cheat-sheet)." */ - new_name?: string; - /** @description The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. */ - color?: string; - /** @description A short description of the label. Must be 100 characters or fewer. */ - description?: string; + /** + * @description Denotes whether an email is publicly visible. + * @enum {string} + */ + visibility: "public" | "private"; }; }; }; @@ -96341,137 +102921,178 @@ export interface operations { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["label"]; + "application/json": (components["schemas"]["email"])[]; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - "repos/list-languages": { + "users/list-emails-for-authenticated-user": { /** - * List repository languages - * @description Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language. + * List email addresses for the authenticated user + * @description Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope. */ responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["language"]; + "application/json": (components["schemas"]["email"])[]; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; - "repos/enable-lfs-for-repo": { + "users/add-email-for-authenticated-user": { /** - * Enable Git LFS for a repository - * @description Enables Git LFS for a repository. Access tokens must have the `admin:enterprise` scope. + * Add an email address for the authenticated user + * @description This endpoint is accessible with the `user` scope. */ + requestBody?: { + content: { + "application/json": OneOf<[{ + /** @description Adds one or more email addresses to your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key. */ + emails: (string)[]; + }, (string)[], string]>; + }; + }; responses: { - 202: components["responses"]["accepted"]; - /** - * @description We will return a 403 with one of the following messages: - * - * - Git LFS support not enabled because Git LFS is globally disabled. - * - Git LFS support not enabled because Git LFS is disabled for the root repository in the network. - * - Git LFS support not enabled because Git LFS is disabled for . - */ - 403: never; + /** @description Response */ + 201: { + content: { + "application/json": (components["schemas"]["email"])[]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - "repos/disable-lfs-for-repo": { + "users/delete-email-for-authenticated-user": { /** - * Disable Git LFS for a repository - * @description Disables Git LFS for a repository. Access tokens must have the `admin:enterprise` scope. + * Delete an email address for the authenticated user + * @description This endpoint is accessible with the `user` scope. */ + requestBody?: { + content: { + "application/json": OneOf<[{ + /** @description Email addresses associated with the GitHub user account. */ + emails: (string)[]; + }, (string)[], string]>; + }; + }; responses: { /** @description Response */ 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - "licenses/get-for-repo": { + "users/list-followers-for-authenticated-user": { /** - * Get the license for a repository - * @description This method returns the contents of the repository's license file, if one is detected. - * - * Similar to [Get repository content](https://docs.github.com/rest/reference/repos#get-repository-content), this method also supports [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw license content or rendered license HTML. + * List followers of the authenticated user + * @description Lists the people following the authenticated user. */ responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["license-content"]; + "application/json": (components["schemas"]["simple-user"])[]; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; }; }; - "repos/merge-upstream": { + "users/list-followed-by-authenticated-user": { /** - * Sync a fork branch with the upstream repository - * @description Sync a branch of a forked repository to keep it up-to-date with the upstream repository. + * List the people the authenticated user follows + * @description Lists the people who the authenticated user follows. */ - requestBody: { - content: { - "application/json": { - /** @description The name of the branch which should be updated to match upstream. */ - branch: string; - }; - }; - }; responses: { - /** @description The branch has been successfully synced with the upstream repository */ + /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["merged-upstream"]; + "application/json": (components["schemas"]["simple-user"])[]; }; }; - /** @description The branch could not be synced because of a merge conflict */ - 409: never; - /** @description The branch could not be synced for some other reason */ - 422: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; }; }; - "repos/merge": { - /** Merge a branch */ - requestBody: { - content: { - "application/json": { - /** @description The name of the base branch that the head will be merged into. */ - base: string; - /** @description The head to merge. This can be a branch name or a commit SHA1. */ - head: string; - /** @description Commit message to use for the merge commit. If omitted, a default message will be used. */ - commit_message?: string; - }; - }; - }; + "users/check-person-is-followed-by-authenticated": { + /** Check if a person is followed by the authenticated user */ responses: { - /** @description Successful Response (The resulting merge commit) */ - 201: { + /** @description if the person is followed by the authenticated user */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** @description if the person is not followed by the authenticated user */ + 404: { content: { - "application/json": components["schemas"]["commit"]; + "application/json": components["schemas"]["basic-error"]; }; }; - /** @description Response when already merged */ + }; + }; + "users/follow": { + /** + * Follow a user + * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * + * Following a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. + */ + responses: { + /** @description Response */ 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; - /** @description Not Found when the base or head does not exist */ - 404: never; - /** @description Conflict when there is a merge conflict */ - 409: never; - 422: components["responses"]["validation_failed"]; + 404: components["responses"]["not_found"]; }; }; - "issues/list-milestones": { - /** List milestones */ - parameters?: { - /** @description The state of the milestone. Either `open`, `closed`, or `all`. */ - /** @description What to sort results by. Either `due_on` or `completeness`. */ - /** @description The direction of the sort. Either `asc` or `desc`. */ - query?: { - state?: "open" | "closed" | "all"; - sort?: "due_on" | "completeness"; - direction?: "asc" | "desc"; - }; + "users/unfollow": { + /** + * Unfollow a user + * @description Unfollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. + */ + responses: { + /** @description Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; + }; + "users/list-gpg-keys-for-authenticated-user": { + /** + * List GPG keys for the authenticated user + * @description Lists the current user's GPG keys. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ responses: { /** @description Response */ 200: { @@ -96479,267 +103100,333 @@ export interface operations { Link: components["headers"]["link"]; }; content: { - "application/json": (components["schemas"]["milestone"])[]; + "application/json": (components["schemas"]["gpg-key"])[]; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; }; }; - "issues/create-milestone": { - /** Create a milestone */ + "users/create-gpg-key-for-authenticated-user": { + /** + * Create a GPG key for the authenticated user + * @description Adds a GPG key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ requestBody: { content: { "application/json": { - /** @description The title of the milestone. */ - title: string; - /** - * @description The state of the milestone. Either `open` or `closed`. - * @default open - * @enum {string} - */ - state?: "open" | "closed"; - /** @description A description of the milestone. */ - description?: string; - /** - * Format: date-time - * @description The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - due_on?: string; + /** @description A descriptive name for the new key. */ + name?: string; + /** @description A GPG key in ASCII-armored format. */ + armored_public_key: string; }; }; }; responses: { /** @description Response */ 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/milestones/1 */ - Location?: string; - }; content: { - "application/json": components["schemas"]["milestone"]; + "application/json": components["schemas"]["gpg-key"]; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; }; }; - "issues/get-milestone": { - /** Get a milestone */ + "users/get-gpg-key-for-authenticated-user": { + /** + * Get a GPG key for the authenticated user + * @description View extended details for a single GPG key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["milestone"]; + "application/json": components["schemas"]["gpg-key"]; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; }; }; - "issues/delete-milestone": { - /** Delete a milestone */ + "users/delete-gpg-key-for-authenticated-user": { + /** + * Delete a GPG key for the authenticated user + * @description Removes a GPG key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ responses: { /** @description Response */ 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; - "issues/update-milestone": { - /** Update a milestone */ - requestBody?: { - content: { - "application/json": { - /** @description The title of the milestone. */ - title?: string; - /** - * @description The state of the milestone. Either `open` or `closed`. - * @default open - * @enum {string} - */ - state?: "open" | "closed"; - /** @description A description of the milestone. */ - description?: string; - /** - * Format: date-time - * @description The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - due_on?: string; - }; - }; - }; + "apps/list-installations-for-authenticated-user": { + /** + * List app installations accessible to the user access token + * @description Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * You can find the permissions for the installation under the `permissions` key. + */ responses: { - /** @description Response */ + /** @description You can find the permissions for the installation under the `permissions` key. */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["milestone"]; + "application/json": { + total_count: number; + installations: (components["schemas"]["installation"])[]; + }; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; }; }; - "issues/list-labels-for-milestone": { - /** List labels for issues in a milestone */ + "apps/list-installation-repos-for-authenticated-user": { + /** + * List repositories accessible to the user access token + * @description List repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access for an installation. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. + * + * The access the user has to each repository is included in the hash under the `permissions` key. + */ responses: { - /** @description Response */ + /** @description The access the user has to each repository is included in the hash under the `permissions` key. */ 200: { headers: { Link: components["headers"]["link"]; }; content: { - "application/json": (components["schemas"]["label"])[]; + "application/json": { + total_count: number; + repository_selection?: string; + repositories: (components["schemas"]["repository"])[]; + }; }; }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; - "activity/list-repo-notifications-for-authenticated-user": { + "apps/add-repo-to-installation-for-authenticated-user": { /** - * List repository notifications for the authenticated user - * @description Lists all notifications for the current user in the specified repository. + * Add a repository to an app installation + * @description Add a single repository to an installation. The authenticated user must have admin access to the repository. + * + * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. + */ + responses: { + /** @description Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "apps/remove-repo-from-installation-for-authenticated-user": { + /** + * Remove a repository from an app installation + * @description Remove a single repository from an installation. The authenticated user must have admin access to the repository. + * + * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. */ responses: { /** @description Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "interactions/get-restrictions-for-authenticated-user": { + /** + * Get interaction restrictions for your public repositories + * @description Shows which type of GitHub user can interact with your public repositories and when the restriction expires. + */ + responses: { + /** @description Default response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": (components["schemas"]["thread"])[]; + "application/json": components["schemas"]["interaction-limit-response"] | Record; }; }; + /** @description Response when there are no restrictions */ + 204: never; }; }; - "activity/mark-repo-notifications-as-read": { + "interactions/set-restrictions-for-authenticated-user": { /** - * Mark repository notifications as read - * @description Marks all notifications in a repository as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List repository notifications for the authenticated user](https://docs.github.com/rest/reference/activity#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. + * Set interaction restrictions for your public repositories + * @description Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user. */ - requestBody?: { + requestBody: { content: { - "application/json": { - /** - * Format: date-time - * @description Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. - */ - last_read_at?: string; - }; + "application/json": components["schemas"]["interaction-limit"]; }; }; responses: { /** @description Response */ - 202: { + 200: { content: { - "application/json": { - message?: string; - url?: string; - }; + "application/json": components["schemas"]["interaction-limit-response"]; }; }; - /** @description Reset Content */ - 205: never; + 422: components["responses"]["validation_failed"]; }; }; - "repos/get-pages": { - /** Get a GitHub Pages site */ + "interactions/remove-restrictions-for-authenticated-user": { + /** + * Remove interaction restrictions from your public repositories + * @description Removes any interaction restrictions from your public repositories. + */ + responses: { + /** @description Response */ + 204: never; + }; + }; + "issues/list-for-authenticated-user": { + /** + * List user account issues assigned to the authenticated user + * @description List issues across owned and member repositories assigned to the authenticated user. + * + * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + parameters?: { + /** @description Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. */ + /** @description Indicates the state of the issues to return. */ + /** @description What to sort results by. */ + query?: { + filter?: "assigned" | "created" | "mentioned" | "subscribed" | "repos" | "all"; + state?: "open" | "closed" | "all"; + sort?: "created" | "updated" | "comments"; + }; + }; responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["page"]; + "application/json": (components["schemas"]["issue"])[]; }; }; + 304: components["responses"]["not_modified"]; 404: components["responses"]["not_found"]; }; }; - "repos/update-information-about-pages-site": { + "users/list-public-ssh-keys-for-authenticated-user": { /** - * Update information about a GitHub Pages site - * @description Updates information for a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). + * List public SSH keys for the authenticated user + * @description Lists the public SSH keys for the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ - requestBody: { - content: { - "application/json": ({ - /** @description Specify a custom domain for the repository. Sending a `null` value will remove the custom domain. For more about custom domains, see "[Using a custom domain with GitHub Pages](https://docs.github.com/articles/using-a-custom-domain-with-github-pages/)." */ - cname?: OneOf<[string, null]>; - /** @description Specify whether HTTPS should be enforced for the repository. */ - https_enforced?: boolean; - /** @description Configures access controls for the GitHub Pages site. If public is set to `true`, the site is accessible to anyone on the internet. If set to `false`, the site will only be accessible to users who have at least `read` access to the repository that published the site. This includes anyone in your Enterprise if the repository is set to `internal` visibility. This feature is only available to repositories in an organization on an Enterprise plan. */ - public?: boolean; - /** - * @description The process by which the GitHub Pages site will be built. `workflow` means that the site is built by a custom GitHub Actions workflow. `legacy` means that the site is built by GitHub when changes are pushed to a specific branch. - * @enum {string} - */ - build_type?: "legacy" | "workflow"; - source?: ("gh-pages" | "master" | "master /docs") | ({ - /** @description The repository branch used to publish your site's source files. */ - branch: string; - /** - * @description The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`. - * @enum {string} - */ - path: "/" | "/docs"; - }); - }) & (Record | Record | Record | Record | Record); - }; - }; responses: { /** @description Response */ - 204: never; - 400: components["responses"]["bad_request"]; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": (components["schemas"]["key"])[]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; - "repos/create-pages-site": { + "users/create-public-ssh-key-for-authenticated-user": { /** - * Create a GitHub Pages site - * @description Configures a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages)." You must be an admin of the repository in order to use this operation. + * Create a public SSH key for the authenticated user + * @description Adds a public SSH key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ requestBody: { content: { - "application/json": OneOf<[({ - /** - * @description The process in which the Page will be built. Possible values are `"legacy"` and `"workflow"`. - * @enum {string} - */ - build_type?: "legacy" | "workflow"; - /** @description The source branch and directory used to publish your Pages site. */ - source?: { - /** @description The repository branch used to publish your site's source files. */ - branch: string; - /** - * @description The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`. Default: `/` - * @default / - * @enum {string} - */ - path?: "/" | "/docs"; - }; - }) & (Record | Record), null]>; + "application/json": { + /** @description A descriptive name for the new key. */ + title?: string; + /** @description The public SSH key to add to your GitHub account. */ + key: string; + }; }; }; responses: { /** @description Response */ 201: { content: { - "application/json": components["schemas"]["page"]; + "application/json": components["schemas"]["key"]; }; }; - 409: components["responses"]["conflict"]; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; }; }; - "repos/delete-pages-site": { + "users/get-public-ssh-key-for-authenticated-user": { /** - * Delete a GitHub Pages site - * @description Deletes a GitHub Pages site. You must be an admin of the repository in order to use this operation. + * Get a public SSH key for the authenticated user + * @description View extended details for a single public SSH key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/delete-public-ssh-key-for-authenticated-user": { + /** + * Delete a public SSH key for the authenticated user + * @description Removes a public SSH key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ responses: { /** @description Response */ 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; }; }; - "repos/list-pages-builds": { - /** List GitHub Pages builds */ + "apps/list-subscriptions-for-authenticated-user": { + /** + * List subscriptions for the authenticated user + * @description Lists the active subscriptions for the authenticated user. You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. . OAuth Apps must authenticate using an [OAuth token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/). + */ responses: { /** @description Response */ 200: { @@ -96747,78 +103434,80 @@ export interface operations { Link: components["headers"]["link"]; }; content: { - "application/json": (components["schemas"]["page-build"])[]; + "application/json": (components["schemas"]["user-marketplace-purchase"])[]; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 404: components["responses"]["not_found"]; }; }; - "repos/request-pages-build": { + "apps/list-subscriptions-for-authenticated-user-stubbed": { /** - * Request a GitHub Pages build - * @description You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures. - * - * Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes. + * List subscriptions for the authenticated user (stubbed) + * @description Lists the active subscriptions for the authenticated user. You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. . OAuth Apps must authenticate using an [OAuth token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/). */ responses: { /** @description Response */ - 201: { + 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["page-build-status"]; + "application/json": (components["schemas"]["user-marketplace-purchase"])[]; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; }; }; - "repos/get-latest-pages-build": { - /** Get latest Pages build */ + "orgs/list-memberships-for-authenticated-user": { + /** List organization memberships for the authenticated user */ + parameters?: { + /** @description Indicates the state of the memberships to return. If not specified, the API returns both active and pending memberships. */ + query?: { + state?: "active" | "pending"; + }; + }; responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["page-build"]; + "application/json": (components["schemas"]["org-membership"])[]; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; }; }; - "repos/get-pages-build": { - /** Get GitHub Pages build */ - parameters: { - path: { - build_id: number; - }; - }; + "orgs/get-membership-for-authenticated-user": { + /** Get an organization membership for the authenticated user */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["page-build"]; + "application/json": components["schemas"]["org-membership"]; }; }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; - "repos/create-pages-deployment": { - /** - * Create a GitHub Pages deployment - * @description Create a GitHub Pages deployment for a repository. - * - * Users must have write permissions. GitHub Apps must have the `pages:write` permission to use this endpoint. - */ + "orgs/update-membership-for-authenticated-user": { + /** Update an organization membership for the authenticated user */ requestBody: { content: { "application/json": { - /** @description The URL of an artifact that contains the .zip or .tar of static assets to deploy. The artifact belongs to the repository. */ - artifact_url: string; - /** - * @description The target environment for this GitHub Pages deployment. - * @default github-pages - */ - environment?: string; /** - * @description A unique string that represents the version of the build for this deployment. - * @default GITHUB_SHA + * @description The state that the membership should be in. Only `"active"` will be accepted. + * @enum {string} */ - pages_build_version: string; - /** @description The OIDC token issued by GitHub Actions certifying the origin of the deployment. */ - oidc_token: string; + state: "active"; }; }; }; @@ -96826,119 +103515,174 @@ export interface operations { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["page-deployment"]; + "application/json": components["schemas"]["org-membership"]; }; }; - 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; }; }; - "repos/get-pages-health-check": { + "migrations/list-for-authenticated-user": { /** - * Get a DNS health check for GitHub Pages - * @description Gets a health check of the DNS settings for the `CNAME` record configured for a repository's GitHub Pages. - * - * The first request to this endpoint returns a `202 Accepted` status and starts an asynchronous background task to get the results for the domain. After the background task completes, subsequent requests to this endpoint return a `200 OK` status with the health check results in the response. - * - * Users must have admin or owner permissions. GitHub Apps must have the `pages:write` and `administration:write` permission to use this endpoint. + * List user migrations + * @description Lists all migrations a user has started. */ responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["pages-health-check"]; + "application/json": (components["schemas"]["migration"])[]; }; }; - /** @description Empty response */ - 202: { + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "migrations/start-for-authenticated-user": { + /** + * Start a user migration + * @description Initiates the generation of a user migration archive. + */ + requestBody: { + content: { + "application/json": { + /** @description Lock the repositories being migrated at the start of the migration */ + lock_repositories?: boolean; + /** @description Indicates whether metadata should be excluded and only git source should be included for the migration. */ + exclude_metadata?: boolean; + /** @description Indicates whether the repository git data should be excluded from the migration. */ + exclude_git_data?: boolean; + /** @description Do not include attachments in the migration */ + exclude_attachments?: boolean; + /** @description Do not include releases in the migration */ + exclude_releases?: boolean; + /** @description Indicates whether projects owned by the organization or users should be excluded. */ + exclude_owner_projects?: boolean; + /** + * @description Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags). + * @default false + */ + org_metadata_only?: boolean; + /** @description Exclude attributes from the API response to improve performance */ + exclude?: ("repositories")[]; + repositories: (string)[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { content: { - "application/json": components["schemas"]["empty-object"]; + "application/json": components["schemas"]["migration"]; }; }; - /** @description Custom domains are not available for GitHub Pages */ - 400: never; - 404: components["responses"]["not_found"]; - /** @description There isn't a CNAME for this page */ - 422: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; }; }; - "projects/list-for-repo": { + "migrations/get-status-for-authenticated-user": { /** - * List repository projects - * @description Lists the projects in a repository. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + * Get a user migration status + * @description Fetches a single user migration. The response includes the `state` of the migration, which can be one of the following values: + * + * * `pending` - the migration hasn't started yet. + * * `exporting` - the migration is in progress. + * * `exported` - the migration finished successfully. + * * `failed` - the migration failed. + * + * Once the migration has been `exported` you can [download the migration archive](https://docs.github.com/rest/reference/migrations#download-a-user-migration-archive). */ parameters?: { - /** @description Indicates the state of the projects to return. */ query?: { - state?: "open" | "closed" | "all"; + exclude?: (string)[]; }; }; responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": (components["schemas"]["project"])[]; + "application/json": components["schemas"]["migration"]; }; }; + 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed_simple"]; }; }; - "projects/create-for-repo": { + "migrations/get-archive-for-authenticated-user": { /** - * Create a repository project - * @description Creates a repository project board. Returns a `410 Gone` status if projects are disabled in the repository or if the repository does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + * Download a user migration archive + * @description Fetches the URL to download the migration archive as a `tar.gz` file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects: + * + * * attachments + * * bases + * * commit\_comments + * * issue\_comments + * * issue\_events + * * issues + * * milestones + * * organizations + * * projects + * * protected\_branches + * * pull\_request\_reviews + * * pull\_requests + * * releases + * * repositories + * * review\_comments + * * schema + * * users + * + * The archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data. */ - requestBody: { - content: { - "application/json": { - /** @description The name of the project. */ - name: string; - /** @description The description of the project. */ - body?: string; - }; - }; + responses: { + /** @description Response */ + 302: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; }; + }; + "migrations/delete-archive-for-authenticated-user": { + /** + * Delete a user migration archive + * @description Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://docs.github.com/rest/reference/migrations#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/reference/migrations#get-a-user-migration-status) endpoints, will continue to be available even after an archive is deleted. + */ responses: { /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["project"]; - }; - }; + 204: never; + 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed_simple"]; }; }; - "pulls/list": { + "migrations/unlock-repo-for-authenticated-user": { /** - * List pull requests - * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Unlock a user repository + * @description Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/reference/migrations#start-a-user-migration). Once the migration is complete you can unlock each repository to begin using it again or [delete the repository](https://docs.github.com/rest/reference/repos#delete-a-repository) if you no longer need the source data. Returns a status of `404 Not Found` if the repository is not locked. */ - parameters?: { - /** @description Either `open`, `closed`, or `all` to filter by state. */ - /** @description Filter pulls by head user or head organization and branch name in the format of `user:ref-name` or `organization:ref-name`. For example: `github:new-script-format` or `octocat:test-branch`. */ - /** @description Filter pulls by base branch name. Example: `gh-pages`. */ - /** @description What to sort results by. `popularity` will sort by the number of comments. `long-running` will sort by date created and will limit the results to pull requests that have been open for more than a month and have had activity within the past month. */ - /** @description The direction of the sort. Default: `desc` when sort is `created` or sort is not specified, otherwise `asc`. */ - query?: { - state?: "open" | "closed" | "all"; - head?: string; - base?: string; - sort?: "created" | "updated" | "popularity" | "long-running"; - direction?: "asc" | "desc"; - }; + responses: { + /** @description Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; + }; + "migrations/list-repos-for-authenticated-user": { + /** + * List repositories for a user migration + * @description Lists all the repositories for this user migration. + */ responses: { /** @description Response */ 200: { @@ -96946,383 +103690,409 @@ export interface operations { Link: components["headers"]["link"]; }; content: { - "application/json": (components["schemas"]["pull-request-simple"])[]; + "application/json": (components["schemas"]["minimal-repository"])[]; }; }; - 304: components["responses"]["not_modified"]; - 422: components["responses"]["validation_failed"]; + 404: components["responses"]["not_found"]; }; }; - "pulls/create": { + "orgs/list-for-authenticated-user": { /** - * Create a pull request - * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * List organizations for the authenticated user + * @description List organizations for the authenticated user. * - * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + * **OAuth scope requirements** * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + * This only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with `read:org` scope, you can publicize your organization membership with `user` scope, etc.). Therefore, this API requires at least `user` or `read:org` scope. OAuth requests with insufficient scope receive a `403 Forbidden` response. */ - requestBody: { - content: { - "application/json": { - /** @description The title of the new pull request. Required unless `issue` is specified. */ - title?: string; - /** @description The name of the branch where your changes are implemented. For cross-repository pull requests in the same network, namespace `head` with a user like this: `username:branch`. */ - head: string; - /** @description The name of the branch you want the changes pulled into. This should be an existing branch on the current repository. You cannot submit a pull request to one repository that requests a merge to a base of another repository. */ - base: string; - /** @description The contents of the pull request. */ - body?: string; - /** @description Indicates whether [maintainers can modify](https://docs.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. */ - maintainer_can_modify?: boolean; - /** @description Indicates whether the pull request is a draft. See "[Draft Pull Requests](https://docs.github.com/articles/about-pull-requests#draft-pull-requests)" in the GitHub Help documentation to learn more. */ - draft?: boolean; - /** @description An issue in the repository to convert to a pull request. The issue title, body, and comments will become the title, body, and comments on the new pull request. Required unless `title` is specified. */ - issue?: number; - }; - }; - }; responses: { /** @description Response */ - 201: { + 200: { headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/pulls/1347 */ - Location?: string; + Link: components["headers"]["link"]; }; content: { - "application/json": components["schemas"]["pull-request"]; + "application/json": (components["schemas"]["organization-simple"])[]; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; }; }; - "pulls/list-review-comments-for-repo": { + "packages/list-packages-for-authenticated-user": { /** - * List review comments in a repository - * @description Lists review comments for all pull requests in a repository. By default, review comments are in ascending order by ID. + * List packages for the authenticated user's namespace + * @description Lists packages owned by the authenticated user within the user's namespace. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. */ - parameters?: { - /** @description The direction to sort results. Ignored without `sort` parameter. */ - query?: { - sort?: "created" | "updated" | "created_at"; - direction?: "asc" | "desc"; + parameters: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + query: { + package_type: "npm" | "maven" | "rubygems" | "docker" | "nuget" | "container"; }; }; responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": (components["schemas"]["pull-request-review-comment"])[]; + "application/json": (components["schemas"]["package"])[]; }; }; }; }; - "pulls/get-review-comment": { + "packages/get-package-for-authenticated-user": { /** - * Get a review comment for a pull request - * @description Provides details for a review comment. + * Get a package for the authenticated user + * @description Gets a specific package for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["pull-request-review-comment"]; + "application/json": components["schemas"]["package"]; }; }; - 404: components["responses"]["not_found"]; }; }; - "pulls/delete-review-comment": { + "packages/delete-package-for-authenticated-user": { /** - * Delete a review comment for a pull request - * @description Deletes a review comment. + * Delete a package for the authenticated user + * @description Deletes a package owned by the authenticated user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scopes. + * If `package_type` is not `container`, your token must also include the `repo` scope. */ responses: { /** @description Response */ 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; }; }; - "pulls/update-review-comment": { + "packages/restore-package-for-authenticated-user": { /** - * Update a review comment for a pull request - * @description Enables you to edit a review comment. + * Restore a package for the authenticated user + * @description Restores a package owned by the authenticated user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. If `package_type` is not `container`, your token must also include the `repo` scope. */ - requestBody: { - content: { - "application/json": { - /** @description The text of the reply to the review comment. */ - body: string; - }; + parameters?: { + /** @description package token */ + query?: { + token?: string; }; }; responses: { /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pull-request-review-comment"]; - }; - }; + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; - "reactions/list-for-pull-request-review-comment": { + "packages/get-all-package-versions-for-package-owned-by-authenticated-user": { /** - * List reactions for a pull request review comment - * @description List the reactions to a [pull request review comment](https://docs.github.com/rest/reference/pulls#review-comments). + * List package versions for a package owned by the authenticated user + * @description Lists package versions for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. */ parameters?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a pull request review comment. */ + /** @description The state of the package, either active or deleted. */ query?: { - content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + state?: "active" | "deleted"; }; }; responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": (components["schemas"]["reaction"])[]; + "application/json": (components["schemas"]["package-version"])[]; }; }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; }; }; - "reactions/create-for-pull-request-review-comment": { + "packages/get-package-version-for-authenticated-user": { /** - * Create reaction for a pull request review comment - * @description Create a reaction to a [pull request review comment](https://docs.github.com/rest/reference/pulls#comments). A response with an HTTP `200` status means that you already added the reaction type to this pull request review comment. + * Get a package version for the authenticated user + * @description Gets a specific package version for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. */ - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the pull request review comment. - * @enum {string} - */ - content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - }; - }; - }; - responses: { - /** @description Reaction exists */ - 200: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - /** @description Reaction created */ - 201: { + responses: { + /** @description Response */ + 200: { content: { - "application/json": components["schemas"]["reaction"]; + "application/json": components["schemas"]["package-version"]; }; }; - 422: components["responses"]["validation_failed"]; }; }; - "reactions/delete-for-pull-request-comment": { + "packages/delete-package-version-for-authenticated-user": { /** - * Delete a pull request comment reaction - * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.` + * Delete a package version for the authenticated user + * @description Deletes a specific package version for a package owned by the authenticated user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. * - * Delete a reaction to a [pull request review comment](https://docs.github.com/rest/reference/pulls#review-comments). + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:delete` scopes. + * If `package_type` is not `container`, your token must also include the `repo` scope. */ responses: { /** @description Response */ 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; - "pulls/get": { + "packages/restore-package-version-for-authenticated-user": { /** - * Get a pull request - * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists details of a pull request by providing its number. - * - * When you get, [create](https://docs.github.com/rest/reference/pulls/#create-a-pull-request), or [edit](https://docs.github.com/rest/reference/pulls#update-a-pull-request) a pull request, GitHub creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". - * - * The value of the `mergeable` attribute can be `true`, `false`, or `null`. If the value is `null`, then GitHub has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-`null` value for the `mergeable` attribute in the response. If `mergeable` is `true`, then `merge_commit_sha` will be the SHA of the _test_ merge commit. - * - * The value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request: + * Restore a package version for the authenticated user + * @description Restores a package version owned by the authenticated user. * - * * If merged as a [merge commit](https://docs.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit. - * * If merged via a [squash](https://docs.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch. - * * If [rebased](https://docs.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to. + * You can restore a deleted package version under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. * - * Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. If `package_type` is not `container`, your token must also include the `repo` scope. */ responses: { - /** @description Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. */ - 200: { - content: { - "application/json": components["schemas"]["pull-request"]; - }; - }; - 304: components["responses"]["not_modified"]; + /** @description Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - 503: components["responses"]["service_unavailable"]; }; }; - "pulls/update": { + "projects/create-for-authenticated-user": { /** - * Update a pull request - * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + * Create a user project + * @description Creates a user project board. Returns a `410 Gone` status if the user does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ - requestBody?: { + requestBody: { content: { "application/json": { - /** @description The title of the pull request. */ - title?: string; - /** @description The contents of the pull request. */ - body?: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state?: "open" | "closed"; - /** @description The name of the branch you want your changes pulled into. This should be an existing branch on the current repository. You cannot update the base branch on a pull request to point to another repository. */ - base?: string; - /** @description Indicates whether [maintainers can modify](https://docs.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. */ - maintainer_can_modify?: boolean; + /** @description Name of the project */ + name: string; + /** @description Body of the project */ + body?: OneOf<[string, null]>; }; }; }; responses: { /** @description Response */ - 200: { + 201: { content: { - "application/json": components["schemas"]["pull-request"]; + "application/json": components["schemas"]["project"]; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; + 422: components["responses"]["validation_failed_simple"]; }; }; - "codespaces/create-with-pr-for-authenticated-user": { + "users/list-public-emails-for-authenticated-user": { /** - * Create a codespace from a pull request - * @description Creates a codespace owned by the authenticated user for the specified pull request. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + * List public email addresses for the authenticated user + * @description Lists your publicly visible email address, which you can set with the [Set primary email visibility for the authenticated user](https://docs.github.com/rest/reference/users#set-primary-email-visibility-for-the-authenticated-user) endpoint. This endpoint is accessible with the `user:email` scope. */ - requestBody: { - content: { - "application/json": OneOf<[{ - /** @description Location for this codespace. Assigned by IP if not provided */ - location?: string; - /** @description IP for location auto-detection when proxying a request */ - client_ip?: string; - /** @description Machine type to use for this codespace */ - machine?: string; - /** @description Path to devcontainer.json config to use for this codespace */ - devcontainer_path?: string; - /** @description Whether to authorize requested permissions from devcontainer.json */ - multi_repo_permissions_opt_out?: boolean; - /** @description Working directory for this codespace */ - working_directory?: string; - /** @description Time in minutes before codespace stops from inactivity */ - idle_timeout_minutes?: number; - /** @description Display name for this codespace */ - display_name?: string; - /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ - retention_period_minutes?: number; - }, null]>; - }; - }; responses: { - /** @description Response when the codespace was successfully created */ - 201: { - content: { - "application/json": components["schemas"]["codespace"]; + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; }; - }; - /** @description Response when the codespace creation partially failed but is being retried in the background */ - 202: { content: { - "application/json": components["schemas"]["codespace"]; + "application/json": (components["schemas"]["email"])[]; }; }; + 304: components["responses"]["not_modified"]; 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; }; }; - "pulls/list-review-comments": { + "repos/list-for-authenticated-user": { /** - * List review comments on a pull request - * @description Lists all review comments for a pull request. By default, review comments are in ascending order by ID. + * List repositories for the authenticated user + * @description Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. */ parameters?: { - /** @description The direction to sort results. Ignored without `sort` parameter. */ + /** @description Limit results to repositories with the specified visibility. */ + /** + * @description Comma-separated list of values. Can include: + * \* `owner`: Repositories that are owned by the authenticated user. + * \* `collaborator`: Repositories that the user has been added to as a collaborator. + * \* `organization_member`: Repositories that the user has access to through being a member of an organization. This includes every repository on every team that the user is on. + */ + /** @description Limit results to repositories of the specified type. Will cause a `422` error if used in the same request as **visibility** or **affiliation**. */ + /** @description The property to sort the results by. */ + /** @description The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ query?: { + visibility?: "all" | "public" | "private"; + affiliation?: string; + type?: "all" | "owner" | "public" | "private" | "member"; + sort?: "created" | "updated" | "pushed" | "full_name"; direction?: "asc" | "desc"; }; }; responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": (components["schemas"]["pull-request-review-comment"])[]; + "application/json": (components["schemas"]["repository"])[]; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; }; }; - "pulls/create-review-comment": { + "repos/create-for-authenticated-user": { /** - * Create a review comment for a pull request - * @description - * Creates a review comment in the pull request diff. To add a regular comment to a pull request timeline, see "[Create an issue comment](https://docs.github.com/rest/reference/issues#create-an-issue-comment)." We recommend creating a review comment using `line`, `side`, and optionally `start_line` and `start_side` if your comment applies to more than one line in the pull request diff. + * Create a repository for the authenticated user + * @description Creates a new repository for the authenticated user. * - * The `position` parameter is deprecated. If you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. + * **OAuth scope requirements** * - * **Note:** The position value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. + * * `repo` scope to create a private repository. */ requestBody: { content: { "application/json": { - /** @description The text of the review comment. */ - body: string; - /** @description The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the `position`. */ - commit_id: string; - /** @description The relative path to the file that necessitates a comment. */ - path: string; + /** @description The name of the repository. */ + name: string; + /** @description A short description of the repository. */ + description?: string; + /** @description A URL with more information about the repository. */ + homepage?: string; /** - * @deprecated - * @description **This parameter is deprecated. Use `line` instead**. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note above. + * @description Whether the repository is private. + * @default false */ - position?: number; + private?: boolean; /** - * @description In a split diff view, the side of the diff that the pull request's changes appear on. Can be `LEFT` or `RIGHT`. Use `LEFT` for deletions that appear in red. Use `RIGHT` for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see "[Diff view options](https://docs.github.com/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. + * @description Whether issues are enabled. + * @default true + */ + has_issues?: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects?: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki?: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions?: boolean; + /** @description The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. */ + team_id?: number; + /** + * @description Whether the repository is initialized with a minimal README. + * @default false + */ + auto_init?: boolean; + /** @description The desired language or platform to apply to the .gitignore. */ + gitignore_template?: string; + /** @description The license keyword of the open source license for this repository. */ + license_template?: string; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). * @enum {string} */ - side?: "LEFT" | "RIGHT"; - /** @description The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to. */ - line: number; - /** @description **Required when using multi-line comments unless using `in_reply_to`**. The `start_line` is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see "[Commenting on a pull request](https://docs.github.com/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. */ - start_line?: number; + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; /** - * @description **Required when using multi-line comments unless using `in_reply_to`**. The `start_side` is the starting side of the diff that the comment applies to. Can be `LEFT` or `RIGHT`. To learn more about multi-line comments, see "[Commenting on a pull request](https://docs.github.com/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. See `side` in this table for additional context. + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. * @enum {string} */ - start_side?: "LEFT" | "RIGHT" | "side"; - /** @description The ID of the review comment to reply to. To find the ID of a review comment with ["List review comments on a pull request"](#list-review-comments-on-a-pull-request). When specified, all parameters other than `body` in the request body are ignored. */ - in_reply_to?: number; + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads?: boolean; + /** + * @description Whether this repository acts as a template that can be used to generate new repositories. + * @default false + */ + is_template?: boolean; }; }; }; @@ -97330,50 +104100,68 @@ export interface operations { /** @description Response */ 201: { headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 */ + /** @example https://api.github.com/repos/octocat/Hello-World */ Location?: string; }; content: { - "application/json": components["schemas"]["pull-request-review-comment"]; + "application/json": components["schemas"]["repository"]; }; }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["requires_authentication"]; 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; }; }; - "pulls/create-reply-for-review-comment": { + "repos/list-invitations-for-authenticated-user": { /** - * Create a reply for a review comment - * @description Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * List repository invitations for the authenticated user + * @description When authenticating as a user, this endpoint will list all currently open repository invitations for that user. */ - requestBody: { - content: { - "application/json": { - /** @description The text of the review comment. */ - body: string; - }; - }; - }; responses: { /** @description Response */ - 201: { + 200: { headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 */ - Location?: string; + Link: components["headers"]["link"]; }; content: { - "application/json": components["schemas"]["pull-request-review-comment"]; + "application/json": (components["schemas"]["repository-invitation"])[]; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; }; }; - "pulls/list-commits": { + "repos/decline-invitation-for-authenticated-user": { + /** Decline a repository invitation */ + responses: { + /** @description Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + "repos/accept-invitation-for-authenticated-user": { + /** Accept a repository invitation */ + responses: { + /** @description Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + "users/list-ssh-signing-keys-for-authenticated-user": { /** - * List commits on a pull request - * @description Lists a maximum of 250 commits for a pull request. To receive a complete commit list for pull requests with more than 250 commits, use the [List commits](https://docs.github.com/rest/reference/repos#list-commits) endpoint. + * List SSH signing keys for the authenticated user + * @description Lists the SSH signing keys for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." */ responses: { /** @description Response */ @@ -97382,96 +104170,144 @@ export interface operations { Link: components["headers"]["link"]; }; content: { - "application/json": (components["schemas"]["commit"])[]; + "application/json": (components["schemas"]["ssh-signing-key"])[]; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; - "pulls/list-files": { + "users/create-ssh-signing-key-for-authenticated-user": { /** - * List pull requests files - * @description **Note:** Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. + * Create a SSH signing key for the authenticated user + * @description Creates an SSH signing key for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `write:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." + */ + requestBody: { + content: { + "application/json": { + /** @description A descriptive name for the new key. */ + title?: string; + /** @description The public SSH key to add to your GitHub account. For more information, see "[Checking for existing SSH keys](https://docs.github.com/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys)." */ + key: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["ssh-signing-key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/get-ssh-signing-key-for-authenticated-user": { + /** + * Get an SSH signing key for the authenticated user + * @description Gets extended details for an SSH signing key. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." */ responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": (components["schemas"]["diff-entry"])[]; + "application/json": components["schemas"]["ssh-signing-key"]; }; }; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - 503: components["responses"]["service_unavailable"]; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; - "pulls/check-if-merged": { - /** Check if a pull request has been merged */ + "users/delete-ssh-signing-key-for-authenticated-user": { + /** + * Delete an SSH signing key for the authenticated user + * @description Deletes an SSH signing key from the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `admin:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." + */ responses: { - /** @description Response if pull request has been merged */ + /** @description Response */ 204: never; - /** @description Not Found if pull request has not been merged */ - 404: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; - "pulls/merge": { + "activity/list-repos-starred-by-authenticated-user": { /** - * Merge a pull request - * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * List repositories starred by the authenticated user + * @description Lists repositories the authenticated user has starred. + * + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. */ - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description Title for the automatic commit message. */ - commit_title?: string; - /** @description Extra detail to append to automatic commit message. */ - commit_message?: string; - /** @description SHA that pull request head must match to allow merge. */ - sha?: string; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method?: "merge" | "squash" | "rebase"; - }, null]>; - }; - }; responses: { - /** @description if merge was successful */ + /** @description Response */ 200: { - content: { - "application/json": components["schemas"]["pull-request-merge-result"]; + headers: { + Link: components["headers"]["link"]; }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - /** @description Method Not Allowed if merge cannot be performed */ - 405: { content: { - "application/json": { - message?: string; - documentation_url?: string; - }; + "application/json": (components["schemas"]["repository"])[]; + "application/vnd.github.v3.star+json": (components["schemas"]["starred-repository"])[]; }; }; - /** @description Conflict if sha was provided and pull request head did not match */ - 409: { + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "activity/check-repo-is-starred-by-authenticated-user": { + /** Check if a repository is starred by the authenticated user */ + responses: { + /** @description Response if this repository is starred by you */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** @description Not Found if this repository is not starred by you */ + 404: { content: { - "application/json": { - message?: string; - documentation_url?: string; - }; + "application/json": components["schemas"]["basic-error"]; }; }; - 422: components["responses"]["validation_failed"]; }; }; - "pulls/list-requested-reviewers": { + "activity/star-repo-for-authenticated-user": { + /** + * Star a repository for the authenticated user + * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + responses: { + /** @description Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "activity/unstar-repo-for-authenticated-user": { + /** Unstar a repository for the authenticated user */ + responses: { + /** @description Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "activity/list-watched-repos-for-authenticated-user": { /** - * Get all requested reviewers for a pull request - * @description Gets the users or teams whose review is requested for a pull request. Once a requested reviewer submits a review, they are no longer considered a requested reviewer. Their review will instead be returned by the [List reviews for a pull request](https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request) operation. + * List repositories watched by the authenticated user + * @description Lists repositories the authenticated user is watching. */ responses: { /** @description Response */ @@ -97480,179 +104316,119 @@ export interface operations { Link: components["headers"]["link"]; }; content: { - "application/json": components["schemas"]["pull-request-review-request"]; + "application/json": (components["schemas"]["minimal-repository"])[]; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; }; }; - "pulls/request-reviewers": { + "teams/list-for-authenticated-user": { /** - * Request reviewers for a pull request - * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * List teams for the authenticated user + * @description List all of the teams across all of the organizations to which the authenticated user belongs. This method requires `user`, `repo`, or `read:org` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) when authenticating via [OAuth](https://docs.github.com/apps/building-oauth-apps/). */ - requestBody?: { - content: { - "application/json": { - /** @description An array of user `login`s that will be requested. */ - reviewers?: (string)[]; - /** @description An array of team `slug`s that will be requested. */ - team_reviewers?: (string)[]; - } & (Record | Record); - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["pull-request-simple"]; - }; - }; - 403: components["responses"]["forbidden"]; - /** @description Unprocessable Entity if user is not a collaborator */ - 422: never; - }; - }; - "pulls/remove-requested-reviewers": { - /** Remove requested reviewers from a pull request */ - requestBody: { - content: { - "application/json": { - /** @description An array of user `login`s that will be removed. */ - reviewers: (string)[]; - /** @description An array of team `slug`s that will be removed. */ - team_reviewers?: (string)[]; - }; - }; - }; responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["pull-request-simple"]; + "application/json": (components["schemas"]["team-full"])[]; }; }; - 422: components["responses"]["validation_failed"]; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; - "pulls/list-reviews": { + "users/list": { /** - * List reviews for a pull request - * @description The list of reviews returns in chronological order. + * List users + * @description Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts. + * + * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of users. */ responses: { - /** @description The list of reviews returns in chronological order. */ + /** @description Response */ 200: { headers: { - Link: components["headers"]["link"]; + /** @example ; rel="next" */ + Link?: string; }; content: { - "application/json": (components["schemas"]["pull-request-review"])[]; + "application/json": (components["schemas"]["simple-user"])[]; }; }; + 304: components["responses"]["not_modified"]; }; }; - "pulls/create-review": { + "users/get-by-username": { /** - * Create a review for a pull request - * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * Get a user + * @description Provides publicly available information about someone with a GitHub account. * - * Pull request reviews created in the `PENDING` state are not submitted and therefore do not include the `submitted_at` property in the response. To create a pending review for a pull request, leave the `event` parameter blank. For more information about submitting a `PENDING` review, see "[Submit a review for a pull request](https://docs.github.com/rest/pulls#submit-a-review-for-a-pull-request)." + * GitHub Apps with the `Plan` user permission can use this endpoint to retrieve information about a user's GitHub plan. The GitHub App must be authenticated as a user. See "[Identifying and authorizing users for GitHub Apps](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)" for details about authentication. For an example response, see 'Response with GitHub plan information' below" * - * **Note:** To comment on a specific line in a file, you need to first determine the _position_ of that line in the diff. The GitHub REST API offers the `application/vnd.github.v3.diff` [media type](https://docs.github.com/rest/overview/media-types#commits-commit-comparison-and-pull-requests). To see a pull request diff, add this media type to the `Accept` header of a call to the [single pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) endpoint. + * The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be “public” which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/overview/resources-in-the-rest-api#authentication). * - * The `position` value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see "[Emails API](https://docs.github.com/rest/reference/users#emails)". */ - requestBody?: { - content: { - "application/json": { - /** @description The SHA of the commit that needs a review. Not using the latest commit SHA may render your review comment outdated if a subsequent commit modifies the line you specify as the `position`. Defaults to the most recent commit in the pull request when you do not specify a value. */ - commit_id?: string; - /** @description **Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review. */ - body?: string; - /** - * @description The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. By leaving this blank, you set the review action state to `PENDING`, which means you will need to [submit the pull request review](https://docs.github.com/rest/pulls#submit-a-review-for-a-pull-request) when you are ready. - * @enum {string} - */ - event?: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; - /** @description Use the following table to specify the location, destination, and contents of the draft review comment. */ - comments?: ({ - /** @description The relative path to the file that necessitates a review comment. */ - path: string; - /** @description The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note below. */ - position?: number; - /** @description Text of the review comment. */ - body: string; - line?: number; - side?: string; - start_line?: number; - start_side?: string; - })[]; - }; - }; - }; responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["pull-request-review"]; + "application/json": components["schemas"]["private-user"] | components["schemas"]["public-user"]; }; }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed_simple"]; + 404: components["responses"]["not_found"]; }; }; - "pulls/get-review": { - /** Get a review for a pull request */ + "activity/list-events-for-authenticated-user": { + /** + * List events for the authenticated user + * @description If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events. + */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["pull-request-review"]; + "application/json": (components["schemas"]["event"])[]; }; }; - 404: components["responses"]["not_found"]; }; }; - "pulls/update-review": { + "activity/list-org-events-for-authenticated-user": { /** - * Update a review for a pull request - * @description Update the review summary comment with new text. + * List organization events for the authenticated user + * @description This is the user's organization dashboard. You must be authenticated as the user to view this. */ - requestBody: { - content: { - "application/json": { - /** @description The body text of the pull request review. */ - body: string; - }; - }; - }; responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["pull-request-review"]; + "application/json": (components["schemas"]["event"])[]; }; }; - 422: components["responses"]["validation_failed_simple"]; }; }; - "pulls/delete-pending-review": { - /** Delete a pending review for a pull request */ + "activity/list-public-events-for-user": { + /** List public events for a user */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["pull-request-review"]; + "application/json": (components["schemas"]["event"])[]; }; }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; }; }; - "pulls/list-comments-for-review": { + "users/list-followers-for-user": { /** - * List comments for a pull request review - * @description List comments for a specific pull request review. + * List followers of a user + * @description Lists the people following the specified user. */ responses: { /** @description Response */ @@ -97661,153 +104437,128 @@ export interface operations { Link: components["headers"]["link"]; }; content: { - "application/json": (components["schemas"]["review-comment"])[]; + "application/json": (components["schemas"]["simple-user"])[]; }; }; - 404: components["responses"]["not_found"]; }; }; - "pulls/dismiss-review": { + "users/list-following-for-user": { /** - * Dismiss a review for a pull request - * @description **Note:** To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/reference/repos#branches), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews. + * List the people a user follows + * @description Lists the people who the specified user follows. */ - requestBody: { - content: { - "application/json": { - /** @description The message for the pull request review dismissal */ - message: string; - /** @enum {string} */ - event?: "DISMISS"; - }; - }; - }; responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["pull-request-review"]; + "application/json": (components["schemas"]["simple-user"])[]; }; }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; }; }; - "pulls/submit-review": { - /** - * Submit a review for a pull request - * @description Submits a pending review for a pull request. For more information about creating a pending review for a pull request, see "[Create a review for a pull request](https://docs.github.com/rest/pulls#create-a-review-for-a-pull-request)." - */ - requestBody: { - content: { - "application/json": { - /** @description The body text of the pull request review */ - body?: string; - /** - * @description The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. When you leave this blank, the API returns _HTTP 422 (Unrecognizable entity)_ and sets the review action state to `PENDING`, which means you will need to re-submit the pull request review using a review action. - * @enum {string} - */ - event: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; - }; + "users/check-following-for-user": { + /** Check if a user follows another user */ + parameters: { + path: { + target_user: string; }; }; + responses: { + /** @description if the user follows the target user */ + 204: never; + /** @description if the user does not follow the target user */ + 404: never; + }; + }; + "gists/list-for-user": { + /** + * List gists for a user + * @description Lists public gists for the specified user: + */ responses: { /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": components["schemas"]["pull-request-review"]; + "application/json": (components["schemas"]["base-gist"])[]; }; }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; + 422: components["responses"]["validation_failed"]; }; }; - "pulls/update-branch": { + "users/list-gpg-keys-for-user": { /** - * Update a pull request branch - * @description Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch. + * List GPG keys for a user + * @description Lists the GPG keys for a user. This information is accessible by anyone. */ - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description The expected SHA of the pull request's HEAD ref. This is the most recent commit on the pull request's branch. If the expected SHA does not match the pull request's HEAD, you will receive a `422 Unprocessable Entity` status. You can use the "[List commits](https://docs.github.com/rest/reference/repos#list-commits)" endpoint to find the most recent commit SHA. Default: SHA of the pull request's current HEAD ref. */ - expected_head_sha?: string; - }, null]>; - }; - }; responses: { /** @description Response */ - 202: { + 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": { - message?: string; - url?: string; - }; + "application/json": (components["schemas"]["gpg-key"])[]; }; }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; }; }; - "repos/get-readme": { + "users/get-context-for-user": { /** - * Get a repository README - * @description Gets the preferred README for a repository. + * Get contextual information for a user + * @description Provides hovercard information when authenticated through basic auth or OAuth with the `repo` scope. You can find out more about someone in relation to their pull requests, issues, repositories, and organizations. * - * READMEs support [custom media types](https://docs.github.com/rest/reference/repos#custom-media-types) for retrieving the raw content or rendered HTML. + * The `subject_type` and `subject_id` parameters provide context for the person's hovercard, which returns more information than without the parameters. For example, if you wanted to find out more about `octocat` who owns the `Spoon-Knife` repository via cURL, it would look like this: + * + * ```shell + * curl -u username:token + * https://api.github.com/users/octocat/hovercard?subject_type=repository&subject_id=1300192 + * ``` */ parameters?: { - /** @description The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) */ + /** @description Identifies which additional information you'd like to receive about the person's hovercard. Can be `organization`, `repository`, `issue`, `pull_request`. **Required** when using `subject_id`. */ + /** @description Uses the ID for the `subject_type` you specified. **Required** when using `subject_type`. */ query?: { - ref?: string; + subject_type?: "organization" | "repository" | "issue" | "pull_request"; + subject_id?: string; }; }; responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["content-file"]; + "application/json": components["schemas"]["hovercard"]; }; }; 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; }; }; - "repos/get-readme-in-directory": { + "apps/get-user-installation": { /** - * Get a repository README for a directory - * @description Gets the README from a repository directory. + * Get a user installation for the authenticated app + * @description Enables an authenticated GitHub App to find the user’s installation information. * - * READMEs support [custom media types](https://docs.github.com/rest/reference/repos#custom-media-types) for retrieving the raw content or rendered HTML. + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ - parameters: { - /** @description The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) */ - query?: { - ref?: string; - }; - /** @description The alternate path to look for a README file */ - path: { - dir: string; - }; - }; responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["content-file"]; + "application/json": components["schemas"]["installation"]; }; }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; }; }; - "repos/list-releases": { + "users/list-public-keys-for-user": { /** - * List releases - * @description This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/rest/reference/repos#list-repository-tags). - * - * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. + * List public keys for a user + * @description Lists the _verified_ public SSH keys for a user. This is accessible by anyone. */ responses: { /** @description Response */ @@ -97816,263 +104567,199 @@ export interface operations { Link: components["headers"]["link"]; }; content: { - "application/json": (components["schemas"]["release"])[]; + "application/json": (components["schemas"]["key-simple"])[]; }; }; - 404: components["responses"]["not_found"]; }; }; - "repos/create-release": { + "orgs/list-for-user": { /** - * Create a release - * @description Users with push access to the repository can create a release. + * List organizations for a user + * @description List [public organization memberships](https://docs.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user. * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * This method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List organizations for the authenticated user](https://docs.github.com/rest/reference/orgs#list-organizations-for-the-authenticated-user) API instead. */ - requestBody: { - content: { - "application/json": { - /** @description The name of the tag. */ - tag_name: string; - /** @description Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`). */ - target_commitish?: string; - /** @description The name of the release. */ - name?: string; - /** @description Text describing the contents of the tag. */ - body?: string; - /** - * @description `true` to create a draft (unpublished) release, `false` to create a published one. - * @default false - */ - draft?: boolean; - /** - * @description `true` to identify the release as a prerelease. `false` to identify the release as a full release. - * @default false - */ - prerelease?: boolean; - /** @description If specified, a discussion of the specified category is created and linked to the release. The value must be a category that already exists in the repository. For more information, see "[Managing categories for discussions in your repository](https://docs.github.com/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)." */ - discussion_category_name?: string; - /** - * @description Whether to automatically generate the name and body for this release. If `name` is specified, the specified name will be used; otherwise, a name will be automatically generated. If `body` is specified, the body will be pre-pended to the automatically generated notes. - * @default false - */ - generate_release_notes?: boolean; - /** - * @description Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Defaults to `true` for newly published releases. `legacy` specifies that the latest release should be determined based on the release creation date and higher semantic version. - * @default true - * @enum {string} - */ - make_latest?: "true" | "false" | "legacy"; - }; - }; - }; responses: { /** @description Response */ - 201: { + 200: { headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/releases/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["release"]; + Link: components["headers"]["link"]; }; - }; - /** @description Not Found if the discussion category name is invalid */ - 404: { content: { - "application/json": components["schemas"]["basic-error"]; + "application/json": (components["schemas"]["organization-simple"])[]; }; }; - 422: components["responses"]["validation_failed"]; }; }; - "repos/get-release-asset": { + "packages/list-packages-for-user": { /** - * Get a release asset - * @description To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response. + * List packages for a user + * @description Lists all packages in a user's namespace for which the requesting user has access. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. */ + parameters: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + query: { + package_type: "npm" | "maven" | "rubygems" | "docker" | "nuget" | "container"; + }; + }; responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["release-asset"]; + "application/json": (components["schemas"]["package"])[]; }; }; - 302: components["responses"]["found"]; - 404: components["responses"]["not_found"]; - }; - }; - "repos/delete-release-asset": { - /** Delete a release asset */ - responses: { - /** @description Response */ - 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; }; }; - "repos/update-release-asset": { + "packages/get-package-for-user": { /** - * Update a release asset - * @description Users with push access to the repository can edit a release asset. + * Get a package for a user + * @description Gets a specific package metadata for a public package owned by a user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. */ - requestBody?: { - content: { - "application/json": { - /** @description The file name of the asset. */ - name?: string; - /** @description An alternate short description of the asset. Used in place of the filename. */ - label?: string; - state?: string; - }; - }; - }; responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["release-asset"]; + "application/json": components["schemas"]["package"]; }; }; }; }; - "repos/generate-release-notes": { + "packages/delete-package-for-user": { /** - * Generate release notes content for a release - * @description Generate a name and body describing a [release](https://docs.github.com/rest/reference/repos#releases). The body content will be markdown formatted and contain information like the changes since last release and users who contributed. The generated release notes are not saved anywhere. They are intended to be generated and used when creating a new release. + * Delete a package for a user + * @description Deletes an entire package for a user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. */ - requestBody: { - content: { - "application/json": { - /** @description The tag name for the release. This can be an existing tag or a new one. */ - tag_name: string; - /** @description Specifies the commitish value that will be the target for the release's tag. Required if the supplied tag_name does not reference an existing tag. Ignored if the tag_name already exists. */ - target_commitish?: string; - /** @description The name of the previous tag to use as the starting point for the release notes. Use to manually specify the range for the set of changes considered as part this release. */ - previous_tag_name?: string; - /** @description Specifies a path to a file in the repository containing configuration settings used for generating the release notes. If unspecified, the configuration file located in the repository at '.github/release.yml' or '.github/release.yaml' will be used. If that is not present, the default configuration will be used. */ - configuration_file_path?: string; - }; - }; - }; responses: { - /** @description Name and body of generated release notes */ - 200: { - content: { - "application/json": components["schemas"]["release-notes-content"]; - }; - }; + /** @description Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; }; }; - "repos/get-latest-release": { + "packages/restore-package-for-user": { /** - * Get the latest release - * @description View the latest published full release for the repository. + * Restore a package for a user + * @description Restores an entire package for a user. * - * The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published. + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. */ + parameters?: { + /** @description package token */ + query?: { + token?: string; + }; + }; responses: { /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["release"]; - }; - }; + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; - "repos/get-release-by-tag": { + "packages/get-all-package-versions-for-package-owned-by-user": { /** - * Get a release by tag name - * @description Get a published release with the specified tag. + * List package versions for a package owned by a user + * @description Lists package versions for a public package owned by a specified user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. */ - parameters: { - /** @description tag parameter */ - path: { - tag: string; - }; - }; responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["release"]; + "application/json": (components["schemas"]["package-version"])[]; }; }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; 404: components["responses"]["not_found"]; }; }; - "repos/get-release": { + "packages/get-package-version-for-user": { /** - * Get a release - * @description **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). + * Get a package version for a user + * @description Gets a specific package version for a public package owned by a specified user. + * + * At this time, to use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. */ responses: { - /** @description **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). */ + /** @description Response */ 200: { content: { - "application/json": components["schemas"]["release"]; + "application/json": components["schemas"]["package-version"]; }; }; - 404: components["responses"]["not_found"]; }; }; - "repos/delete-release": { + "packages/delete-package-version-for-user": { /** - * Delete a release - * @description Users with push access to the repository can delete a release. + * Delete package version for a user + * @description Deletes a specific package version for a user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. */ responses: { /** @description Response */ 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; - "repos/update-release": { + "packages/restore-package-version-for-user": { /** - * Update a release - * @description Users with push access to the repository can edit a release. + * Restore package version for a user + * @description Restores a specific package version for a user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. */ - requestBody?: { - content: { - "application/json": { - /** @description The name of the tag. */ - tag_name?: string; - /** @description Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`). */ - target_commitish?: string; - /** @description The name of the release. */ - name?: string; - /** @description Text describing the contents of the tag. */ - body?: string; - /** @description `true` makes the release a draft, and `false` publishes the release. */ - draft?: boolean; - /** @description `true` to identify the release as a prerelease, `false` to identify the release as a full release. */ - prerelease?: boolean; - /** - * @description Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Defaults to `true` for newly published releases. `legacy` specifies that the latest release should be determined based on the release creation date and higher semantic version. - * @default true - * @enum {string} - */ - make_latest?: "true" | "false" | "legacy"; - /** @description If specified, a discussion of the specified category is created and linked to the release. The value must be a category that already exists in the repository. If there is already a discussion linked to the release, this parameter is ignored. For more information, see "[Managing categories for discussions in your repository](https://docs.github.com/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)." */ - discussion_category_name?: string; - }; - }; - }; responses: { /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["release"]; - }; - }; - /** @description Not Found if the discussion category name is invalid */ - 404: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; - "repos/list-release-assets": { - /** List release assets */ + "projects/list-for-user": { + /** List user projects */ + parameters?: { + /** @description Indicates the state of the projects to return. */ + query?: { + state?: "open" | "closed" | "all"; + }; + }; responses: { /** @description Response */ 200: { @@ -98080,208 +104767,122 @@ export interface operations { Link: components["headers"]["link"]; }; content: { - "application/json": (components["schemas"]["release-asset"])[]; + "application/json": (components["schemas"]["project"])[]; }; }; + 422: components["responses"]["validation_failed"]; }; }; - "repos/upload-release-asset": { + "activity/list-received-events-for-user": { /** - * Upload a release asset - * @description This endpoint makes use of [a Hypermedia relation](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in - * the response of the [Create a release endpoint](https://docs.github.com/rest/reference/repos#create-a-release) to upload a release asset. - * - * You need to use an HTTP client which supports [SNI](http://en.wikipedia.org/wiki/Server_Name_Indication) to make calls to this endpoint. - * - * Most libraries will set the required `Content-Length` header automatically. Use the required `Content-Type` header to provide the media type of the asset. For a list of media types, see [Media Types](https://www.iana.org/assignments/media-types/media-types.xhtml). For example: - * - * `application/zip` - * - * GitHub expects the asset data in its raw binary form, rather than JSON. You will send the raw binary content of the asset as the request body. Everything else about the endpoint is the same as the rest of the API. For example, - * you'll still need to pass your authentication to be able to upload an asset. - * - * When an upstream failure occurs, you will receive a `502 Bad Gateway` status. This may leave an empty asset with a state of `starter`. It can be safely deleted. - * - * **Notes:** - * * GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The "[List assets for a release](https://docs.github.com/rest/reference/repos#list-assets-for-a-release)" - * endpoint lists the renamed filenames. For more information and help, contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). - * * If you upload an asset with the same filename as another uploaded asset, you'll receive an error and must delete the old file before you can re-upload the new asset. + * List events received by the authenticated user + * @description These are events that you've received by watching repos and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public events. */ - parameters: { - query: { - name: string; - label?: string; - }; - }; - requestBody?: { - content: { - "*/*": string; - }; - }; responses: { - /** @description Response for successful upload */ - 201: { + /** @description Response */ + 200: { content: { - "application/json": components["schemas"]["release-asset"]; + "application/json": (components["schemas"]["event"])[]; }; }; - /** @description Response if you upload an asset with the same filename as another uploaded asset */ - 422: never; }; }; - "reactions/list-for-release": { - /** - * List reactions for a release - * @description List the reactions to a [release](https://docs.github.com/rest/reference/repos#releases). - */ - parameters?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a release. */ - query?: { - content?: "+1" | "laugh" | "heart" | "hooray" | "rocket" | "eyes"; - }; - }; + "activity/list-received-public-events-for-user": { + /** List public events received by a user */ responses: { /** @description Response */ 200: { - headers: { - Link: components["headers"]["link"]; - }; content: { - "application/json": (components["schemas"]["reaction"])[]; + "application/json": (components["schemas"]["event"])[]; }; }; - 404: components["responses"]["not_found"]; }; }; - "reactions/create-for-release": { + "repos/list-for-user": { /** - * Create reaction for a release - * @description Create a reaction to a [release](https://docs.github.com/rest/reference/repos#releases). A response with a `Status: 200 OK` means that you already added the reaction type to this release. + * List repositories for a user + * @description Lists public repositories for the specified user. Note: For GitHub AE, this endpoint will list internal repositories for the specified user. */ - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the release. - * @enum {string} - */ - content: "+1" | "laugh" | "heart" | "hooray" | "rocket" | "eyes"; - }; + parameters?: { + /** @description Limit results to repositories of the specified type. */ + /** @description The property to sort the results by. */ + /** @description The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ + query?: { + type?: "all" | "owner" | "member"; + sort?: "created" | "updated" | "pushed" | "full_name"; + direction?: "asc" | "desc"; }; }; responses: { - /** @description Reaction exists */ + /** @description Response */ 200: { - content: { - "application/json": components["schemas"]["reaction"]; + headers: { + Link: components["headers"]["link"]; }; - }; - /** @description Reaction created */ - 201: { content: { - "application/json": components["schemas"]["reaction"]; + "application/json": (components["schemas"]["minimal-repository"])[]; }; }; - 422: components["responses"]["validation_failed"]; }; }; - "reactions/delete-for-release": { + "billing/get-github-actions-billing-user": { /** - * Delete a release reaction - * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/releases/:release_id/reactions/:reaction_id`. + * Get GitHub Actions billing for a user + * @description Gets the summary of the free and paid GitHub Actions minutes used. * - * Delete a reaction to a [release](https://docs.github.com/rest/reference/repos#releases). - */ - responses: { - /** @description Response */ - 204: never; - }; - }; - "secret-scanning/list-alerts-for-repo": { - /** - * List secret scanning alerts for a repository - * @description Lists secret scanning alerts for an eligible repository, from newest to oldest. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. + * 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](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + * Access tokens must have the `user` scope. */ responses: { /** @description Response */ 200: { content: { - "application/json": (components["schemas"]["secret-scanning-alert"])[]; + "application/json": components["schemas"]["actions-billing-usage"]; }; }; - /** @description Repository is public or secret scanning is disabled for the repository */ - 404: never; - 503: components["responses"]["service_unavailable"]; }; }; - "secret-scanning/get-alert": { + "billing/get-github-packages-billing-user": { /** - * Get a secret scanning alert - * @description Gets a single secret scanning alert detected in an eligible repository. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. + * Get GitHub Packages billing for a user + * @description Gets the free and paid storage used for GitHub Packages in gigabytes. * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `user` scope. */ responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["secret-scanning-alert"]; + "application/json": components["schemas"]["packages-billing-usage"]; }; }; - 304: components["responses"]["not_modified"]; - /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ - 404: never; - 503: components["responses"]["service_unavailable"]; }; }; - "secret-scanning/update-alert": { + "billing/get-shared-storage-billing-user": { /** - * Update a secret scanning alert - * @description Updates the status of a secret scanning alert in an eligible repository. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. + * Get shared storage billing for a user + * @description Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. * - * GitHub Apps must have the `secret_scanning_alerts` write permission to use this endpoint. + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `user` scope. */ - requestBody: { - content: { - "application/json": { - state: components["schemas"]["secret-scanning-alert-state"]; - resolution?: components["schemas"]["secret-scanning-alert-resolution"]; - resolution_comment?: components["schemas"]["secret-scanning-alert-resolution-comment"]; - }; - }; - }; responses: { /** @description Response */ 200: { content: { - "application/json": components["schemas"]["secret-scanning-alert"]; + "application/json": components["schemas"]["combined-billing-usage"]; }; }; - /** @description Bad request, resolution comment is invalid or the resolution was not changed. */ - 400: never; - /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ - 404: never; - /** @description State does not match the resolution or resolution comment */ - 422: never; - 503: components["responses"]["service_unavailable"]; }; }; - "secret-scanning/list-locations-for-alert": { + "users/list-ssh-signing-keys-for-user": { /** - * List locations for a secret scanning alert - * @description Lists all locations for a given secret scanning alert for an eligible repository. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + * List SSH signing keys for a user + * @description Lists the SSH signing keys for a user. This operation is accessible by anyone. */ responses: { /** @description Response */ @@ -98290,18 +104891,15 @@ export interface operations { Link: components["headers"]["link"]; }; content: { - "application/json": (components["schemas"]["secret-scanning-location"])[]; + "application/json": (components["schemas"]["ssh-signing-key"])[]; }; }; - /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ - 404: never; - 503: components["responses"]["service_unavailable"]; }; }; - "activity/list-stargazers-for-repo": { + "activity/list-repos-starred-by-user": { /** - * List stargazers - * @description Lists the people that have starred the repository. + * List repositories starred by a user + * @description Lists repositories a user has starred. * * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. */ @@ -98312,4530 +104910,7609 @@ export interface operations { Link: components["headers"]["link"]; }; content: { - "application/json": (components["schemas"]["simple-user"])[] | (components["schemas"]["stargazer"])[]; + "application/json": (components["schemas"]["starred-repository"])[] | (components["schemas"]["repository"])[]; }; }; - 422: components["responses"]["validation_failed"]; }; }; - "repos/get-code-frequency-stats": { + "activity/list-repos-watched-by-user": { /** - * Get the weekly commit activity - * @description Returns a weekly aggregate of the number of additions and deletions pushed to a repository. + * List repositories watched by a user + * @description Lists repositories a user is watching. */ responses: { - /** @description Returns a weekly aggregate of the number of additions and deletions pushed to a repository. */ + /** @description Response */ 200: { + headers: { + Link: components["headers"]["link"]; + }; content: { - "application/json": (components["schemas"]["code-frequency-stat"])[]; + "application/json": (components["schemas"]["minimal-repository"])[]; }; }; - 202: components["responses"]["accepted"]; - 204: components["responses"]["no_content"]; }; }; - "repos/get-commit-activity-stats": { + "meta/get-zen": { /** - * Get the last year of commit activity - * @description Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`. + * Get the Zen of GitHub + * @description Get a random sentence from the Zen of GitHub */ responses: { /** @description Response */ 200: { content: { - "application/json": (components["schemas"]["commit-activity"])[]; + "text/plain": string; }; }; - 202: components["responses"]["accepted"]; - 204: components["responses"]["no_content"]; }; }; - "repos/get-contributors-stats": { + "branch-protection-rule/created": { /** - * Get all contributor commit activity - * @description - * Returns the `total` number of commits authored by the contributor. In addition, the response includes a Weekly Hash (`weeks` array) with the following information: + * This event occurs when there is activity relating to branch protection rules. For more information, see "[About protected branches](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches)." For information about the Branch protection APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#branchprotectionrule) and [the REST API documentation](https://docs.github.com/rest/branches/branch-protection). * - * * `w` - Start of the week, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). - * * `a` - Number of additions - * * `d` - Number of deletions - * * `c` - Number of commits + * In order to install this event on a GitHub App, the app must have `read-only` access on repositories administration. + * @description A branch protection rule was created. */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": (components["schemas"]["contributor-activity"])[]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 202: components["responses"]["accepted"]; - 204: components["responses"]["no_content"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-branch-protection-rule-created"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "repos/get-participation-stats": { + "branch-protection-rule/deleted": { /** - * Get the weekly commit count - * @description Returns the total commit counts for the `owner` and total commit counts in `all`. `all` is everyone combined, including the `owner` in the last 52 weeks. If you'd like to get the commit counts for non-owners, you can subtract `owner` from `all`. + * This event occurs when there is activity relating to branch protection rules. For more information, see "[About protected branches](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches)." For information about the Branch protection APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#branchprotectionrule) and [the REST API documentation](https://docs.github.com/rest/branches/branch-protection). * - * The array order is oldest week (index 0) to most recent week. + * In order to install this event on a GitHub App, the app must have `read-only` access on repositories administration. + * @description A branch protection rule was deleted. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-branch-protection-rule-deleted"]; + }; + }; responses: { - /** @description The array order is oldest week (index 0) to most recent week. */ - 200: { - content: { - "application/json": components["schemas"]["participation-stats"]; - }; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; + }; + "branch-protection-rule/edited": { + /** + * This event occurs when there is activity relating to branch protection rules. For more information, see "[About protected branches](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches)." For information about the Branch protection APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#branchprotectionrule) and [the REST API documentation](https://docs.github.com/rest/branches/branch-protection). + * + * In order to install this event on a GitHub App, the app must have `read-only` access on repositories administration. + * @description A branch protection rule was edited. + */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-branch-protection-rule-edited"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "repos/get-punch-card-stats": { + "check-run/completed": { /** - * Get the hourly commit count for each day - * @description Each array contains the day number, hour number, and number of commits: + * This event occurs when there is activity relating to a check run. For information about check runs, see "[Getting started with the Checks API](https://docs.github.com/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check runs, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#checkrun) or "[Check Runs](https://docs.github.com/rest/checks/runs)" in the REST API documentation. * - * * `0-6`: Sunday - Saturday - * * `0-23`: Hour of day - * * Number of commits + * For activity relating to check suites, see the `check-suite` event. * - * For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. + * To subscribe to this event, a GitHub App must have at least read-level access for the "Checks" repository permission. To receive the `rerequested` and `requested_action` event types, the app must have at least write-level access for the "Checks" permission. GitHub Apps with write-level access for the "Checks" permission are automatically subscribed to this webhook event. + * + * Repository and organization webhooks only receive payloads for the `created` and `completed` event types in repositories. + * + * **Note**: The API only looks for pushes in the repository where the check run was created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * @description A check run was completed, and a conclusion is available. */ - responses: { - /** @description For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. */ - 200: { - content: { - "application/json": (components["schemas"]["code-frequency-stat"])[]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 204: components["responses"]["no_content"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-check-run-completed"]; + "application/x-www-form-urlencoded": components["schemas"]["webhook-check-run-completed-form-encoded"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "repos/create-commit-status": { + "check-run/created": { /** - * Create a commit status - * @description Users with push access in a repository can create commit statuses for a given SHA. + * This event occurs when there is activity relating to a check run. For information about check runs, see "[Getting started with the Checks API](https://docs.github.com/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check runs, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#checkrun) or "[Check Runs](https://docs.github.com/rest/checks/runs)" in the REST API documentation. * - * Note: there is a limit of 1000 statuses per `sha` and `context` within a repository. Attempts to create more than 1000 statuses will result in a validation error. + * For activity relating to check suites, see the `check-suite` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Checks" repository permission. To receive the `rerequested` and `requested_action` event types, the app must have at least write-level access for the "Checks" permission. GitHub Apps with write-level access for the "Checks" permission are automatically subscribed to this webhook event. + * + * Repository and organization webhooks only receive payloads for the `created` and `completed` event types in repositories. + * + * **Note**: The API only looks for pushes in the repository where the check run was created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * @description A new check run was created. */ - parameters: { - path: { - sha: string; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; }; requestBody: { content: { - "application/json": { - /** - * @description The state of the status. - * @enum {string} - */ - state: "error" | "failure" | "pending" | "success"; - /** - * @description The target URL to associate with this status. This URL will be linked from the GitHub UI to allow users to easily see the source of the status. - * For example, if your continuous integration system is posting build status, you would want to provide the deep link for the build output for this specific SHA: - * `http://ci.example.com/user/repo/build/sha` - */ - target_url?: OneOf<[string, null]>; - /** @description A short description of the status. */ - description?: OneOf<[string, null]>; - /** - * @description A string label to differentiate this status from the status of other systems. This field is case-insensitive. - * @default default - */ - context?: string; - }; + "application/json": components["schemas"]["webhook-check-run-created"]; + "application/x-www-form-urlencoded": components["schemas"]["webhook-check-run-created-form-encoded"]; }; }; responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["status"]; - }; - }; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "activity/list-watchers-for-repo": { + "check-suite/completed": { /** - * List watchers - * @description Lists the people watching the specified repository. + * This event occurs when there is activity relating to a check suite. For information about check suites, see "[Getting started with the Checks API](https://docs.github.com/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check suites, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#checksuite) or "[Check Suites](https://docs.github.com/rest/checks/suites)" in the REST API documentation. + * + * For activity relating to check runs, see the `check_run` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Checks" permission. To receive the `requested` and `rerequested` event types, the app must have at lease write-level access for the "Checks" permission. GitHub Apps with write-level access for the "Checks" permission are automatically subscribed to this webhook event. + * + * Repository and organization webhooks only receive payloads for the `completed` event types in repositories. + * + * **Note**: The API only looks for pushes in the repository where the check suite was created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * @description All check runs in a check suite have completed, and a conclusion is available. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-check-suite-completed"]; + }; + }; responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["simple-user"])[]; - }; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; + }; + "code-scanning-alert/appeared-in-branch": { + /** Code scanning alert appeared in branch */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-code-scanning-alert-appeared-in-branch"]; }; }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; - "activity/get-repo-subscription": { - /** Get a repository subscription */ + "code-scanning-alert/closed-by-user": { + /** Code scanning alert closed by user */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-code-scanning-alert-closed-by-user"]; + }; + }; responses: { - /** @description if you subscribe to the repository */ - 200: { - content: { - "application/json": components["schemas"]["repository-subscription"]; - }; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; + }; + "code-scanning-alert/created": { + /** Code scanning alert created */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-code-scanning-alert-created"]; }; - 403: components["responses"]["forbidden"]; - /** @description Not Found if you don't subscribe to the repository */ - 404: never; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "activity/set-repo-subscription": { - /** - * Set a repository subscription - * @description If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://docs.github.com/rest/reference/activity#delete-a-repository-subscription) completely. - */ - requestBody?: { + "code-scanning-alert/fixed": { + /** Code scanning alert fixed */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { content: { - "application/json": { - /** @description Determines if notifications should be received from this repository. */ - subscribed?: boolean; - /** @description Determines if all notifications should be blocked from this repository. */ - ignored?: boolean; - }; + "application/json": components["schemas"]["webhook-code-scanning-alert-fixed"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; + }; + "code-scanning-alert/reopened": { + /** Code scanning alert reopened */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-subscription"]; - }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-code-scanning-alert-reopened"]; }; }; - }; - "activity/delete-repo-subscription": { - /** - * Delete a repository subscription - * @description This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://docs.github.com/rest/reference/activity#set-a-repository-subscription). - */ responses: { - /** @description Response */ - 204: never; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "repos/list-tags": { - /** List repository tags */ - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["tag"])[]; - }; + "code-scanning-alert/reopened-by-user": { + /** Code scanning alert reopened by user */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-code-scanning-alert-reopened-by-user"]; }; }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; - "repos/list-tag-protection": { + "commit-comment/created": { /** - * List tag protection states for a repository - * @description This returns the tag protection states of a repository. + * This event occurs when there is activity relating to commit comments. For more information about commit comments, see "[Commenting on a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request)." For information about the APIs to manage commit comments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#commitcomment) or "[Commit comments](https://docs.github.com/rest/commits/comments)" in the REST API documentation. * - * This information is only available to repository administrators. + * For activity relating to comments on pull request reviews, see the `pull_request_review_comment` event. For activity relating to issue comments, see the `issue_comment` event. For activity relating to discussion comments, see the `discussion_comment` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. + * @description Someone commented on a commit. */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": (components["schemas"]["tag-protection"])[]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-commit-comment-created"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "repos/create-tag-protection": { + create: { /** - * Create a tag protection state for a repository - * @description This creates a tag protection state for a repository. - * This endpoint is only available to repository administrators. + * This event occurs when a Git branch or tag is created. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the Contents repository permission. + * + * **Note**: This event will not occur when more than three tags are created at once. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; requestBody: { content: { - "application/json": { - /** @description An optional glob pattern to match against when enforcing tag protection. */ - pattern: string; - }; + "application/json": components["schemas"]["webhook-create"]; }; }; responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["tag-protection"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "repos/delete-tag-protection": { + delete: { /** - * Delete a tag protection state for a repository - * @description This deletes a tag protection state for a repository. - * This endpoint is only available to repository administrators. + * This event occurs when a Git branch or tag is deleted. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. + * + * **Note**: This event will not occur when more than three tags are deleted at once. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-delete"]; + }; + }; responses: { - /** @description Response */ - 204: never; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "repos/download-tarball-archive": { + "dependabot-alert/created": { /** - * Download a repository archive (tar) - * @description Gets a redirect URL to download a tar archive for a repository. If you omit `:ref`, the repository’s default branch (usually - * `master`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use - * the `Location` header to make a second `GET` request. - * **Note**: For private repositories, these links are temporary and expire after five minutes. + * This event occurs when there is activity relating to Dependabot alerts. + * + * For more information about Dependabot alerts, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." For information about the API to manage Dependabot alerts, see "[Dependabot alerts](https://docs.github.com/rest/dependabot/alerts)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Dependabot alerts" repository permission. + * + * **Note**: Webhook events for Dependabot alerts are currently in beta and subject to change. + * @description A manifest file change introduced a vulnerable dependency, or a GitHub Security Advisory was published and an existing dependency was found to be vulnerable. */ - parameters: { - path: { - ref: string; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; }; - responses: { - /** @description Response */ - 302: never; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-dependabot-alert-created"]; + }; }; - }; - "repos/list-teams": { - /** List repository teams */ responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["team"])[]; - }; - }; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "repos/get-all-topics": { - /** Get all repository topics */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["topic"]; - }; + "dependabot-alert/dismissed": { + /** + * This event occurs when there is activity relating to Dependabot alerts. + * + * For more information about Dependabot alerts, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." For information about the API to manage Dependabot alerts, see "[Dependabot alerts](https://docs.github.com/rest/dependabot/alerts)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Dependabot alerts" repository permission. + * + * **Note**: Webhook events for Dependabot alerts are currently in beta and subject to change. + * @description A Dependabot alert was manually closed. + */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 404: components["responses"]["not_found"]; }; - }; - "repos/replace-all-topics": { - /** Replace all repository topics */ requestBody: { content: { - "application/json": { - /** @description An array of topics to add to the repository. Pass one or more topics to _replace_ the set of existing topics. Send an empty array (`[]`) to clear all topics from the repository. **Note:** Topic `names` cannot contain uppercase letters. */ - names: (string)[]; - }; + "application/json": components["schemas"]["webhook-dependabot-alert-dismissed"]; }; }; responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["topic"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "repos/get-clones": { + "dependabot-alert/fixed": { /** - * Get repository clones - * @description Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. + * This event occurs when there is activity relating to Dependabot alerts. + * + * For more information about Dependabot alerts, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." For information about the API to manage Dependabot alerts, see "[Dependabot alerts](https://docs.github.com/rest/dependabot/alerts)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Dependabot alerts" repository permission. + * + * **Note**: Webhook events for Dependabot alerts are currently in beta and subject to change. + * @description A manifest file change removed a vulnerability. */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["clone-traffic"]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 403: components["responses"]["forbidden"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-dependabot-alert-fixed"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "repos/get-top-paths": { + "dependabot-alert/reintroduced": { /** - * Get top referral paths - * @description Get the top 10 popular contents over the last 14 days. + * This event occurs when there is activity relating to Dependabot alerts. + * + * For more information about Dependabot alerts, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." For information about the API to manage Dependabot alerts, see "[Dependabot alerts](https://docs.github.com/rest/dependabot/alerts)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Dependabot alerts" repository permission. + * + * **Note**: Webhook events for Dependabot alerts are currently in beta and subject to change. + * @description A manifest file change introduced a vulnerable dependency that had previously been fixed. */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": (components["schemas"]["content-traffic"])[]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 403: components["responses"]["forbidden"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-dependabot-alert-reintroduced"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "repos/get-top-referrers": { + "dependabot-alert/reopened": { /** - * Get top referral sources - * @description Get the top 10 referrers over the last 14 days. + * This event occurs when there is activity relating to Dependabot alerts. + * + * For more information about Dependabot alerts, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." For information about the API to manage Dependabot alerts, see "[Dependabot alerts](https://docs.github.com/rest/dependabot/alerts)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Dependabot alerts" repository permission. + * + * **Note**: Webhook events for Dependabot alerts are currently in beta and subject to change. + * @description A Dependabot alert was manually reopened. */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": (components["schemas"]["referrer-traffic"])[]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 403: components["responses"]["forbidden"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-dependabot-alert-reopened"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "repos/get-views": { + "deploy-key/created": { /** - * Get page views - * @description Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. + * This event occurs when there is activity relating to deploy keys. For more information, see "[Managing deploy keys](https://docs.github.com/developers/overview/managing-deploy-keys)." For information about the APIs to manage deploy keys, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#deploykey) or "[Deploy keys](https://docs.github.com/rest/deploy-keys)" in the REST API documentation. + * @description A deploy key was created. */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["view-traffic"]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 403: components["responses"]["forbidden"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-deploy-key-created"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "repos/transfer": { + "deploy-key/deleted": { /** - * Transfer a repository - * @description A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://docs.github.com/articles/about-repository-transfers/). + * This event occurs when there is activity relating to deploy keys. For more information, see "[Managing deploy keys](https://docs.github.com/developers/overview/managing-deploy-keys)." For information about the APIs to manage deploy keys, see "[the GraphQL documentation](https://docs.github.com/graphql/reference/objects#deploykey)" and "[Deploy keys](https://docs.github.com/rest/deploy-keys)" in the REST API documentation. + * @description A deploy key was deleted. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; requestBody: { content: { - "application/json": { - /** @description The username or organization name the repository will be transferred to. */ - new_owner: string; - /** @description The new name to be given to the repository. */ - new_name?: string; - /** @description ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories. */ - team_ids?: (number)[]; - }; + "application/json": components["schemas"]["webhook-deploy-key-deleted"]; }; }; responses: { - /** @description Response */ - 202: { - content: { - "application/json": components["schemas"]["minimal-repository"]; - }; - }; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "repos/check-vulnerability-alerts": { + "deployment/created": { /** - * Check if vulnerability alerts are enabled for a repository - * @description Shows whether dependency alerts are enabled or disabled for a repository. The authenticated user must have admin read access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". + * This event occurs when there is activity relating to deployments. For more information, see "[About deployments](https://docs.github.com/actions/deployment/about-deployments)." For information about the APIs to manage deployments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#deployment) or "[Deployments](https://docs.github.com/rest/deployments/deployments)" in the REST API documentation. + * + * For activity relating to deployment status, use the `deployment_status` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Deployments" repository permission. + * @description A deployment was created. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-deployment-created"]; + }; + }; responses: { - /** @description Response if repository is enabled with vulnerability alerts */ - 204: never; - /** @description Not Found if repository is not enabled with vulnerability alerts */ - 404: never; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "repos/enable-vulnerability-alerts": { + "deployment-status/created": { /** - * Enable vulnerability alerts - * @description Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". + * This event occurs when there is activity relating to deployment statuses. For more information, see "[About deployments](https://docs.github.com/actions/deployment/about-deployments)." For information about the APIs to manage deployments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#deployment) or "[Deployments](https://docs.github.com/rest/deployments/deployments)" in the REST API documentation. + * + * For activity relating to deployment creation, use the `deployment` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Deployments" repository permission. + * @description A new deployment status was created. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-deployment-status-created"]; + }; + }; responses: { - /** @description Response */ - 204: never; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "repos/disable-vulnerability-alerts": { + "discussion/answered": { /** - * Disable vulnerability alerts - * @description Disables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". + * This event occurs when there is activity relating to a discussion. For activity relating to a comment on a discussion, see the `discussion_comment` event. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the GraphQL API for Discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). + * + * In order to install this event on a GitHub App, the app must have `discussions` permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A comment on the discussion was marked as the answer. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-discussion-answered"]; + }; + }; responses: { - /** @description Response */ - 204: never; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "repos/download-zipball-archive": { + "discussion/category-changed": { /** - * Download a repository archive (zip) - * @description Gets a redirect URL to download a zip archive for a repository. If you omit `:ref`, the repository’s default branch (usually - * `master`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use - * the `Location` header to make a second `GET` request. + * This event occurs when there is activity relating to a discussion. For activity relating to a comment on a discussion, see the `discussion_comment` event. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the GraphQL API for Discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). * - * **Note**: For private repositories, these links are temporary and expire after five minutes. If the repository is empty, you will receive a 404 when you follow the redirect. + * In order to install this event on a GitHub App, the app must have `discussions` permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description The category of a discussion was changed. */ - parameters: { - path: { - ref: string; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-discussion-category-changed"]; }; }; responses: { - /** @description Response */ - 302: never; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "repos/create-using-template": { + "discussion-comment/created": { /** - * Create a repository using a template - * @description Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. If the repository is not public, the authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/reference/repos#get-a-repository) endpoint and check that the `is_template` key is `true`. - * - * **OAuth scope requirements** + * This event occurs when there is activity relating to a comment on a discussion. For activity relating to a discussion as opposed to comments on a discussion, see the `discussion` event. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the GraphQL API for Discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). * - * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * In order to install this event on a GitHub App, the app must have `discussions` permission. * - * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. - * * `repo` scope to create a private repository + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A comment on a discussion was created. */ - parameters: { - path: { - template_owner: string; - template_repo: string; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; }; requestBody: { content: { - "application/json": { - /** @description The organization or person who will own the new repository. To create a new repository in an organization, the authenticated user must be a member of the specified organization. */ - owner?: string; - /** @description The name of the new repository. */ - name: string; - /** @description A short description of the new repository. */ - description?: string; - /** - * @description Set to `true` to include the directory structure and files from all branches in the template repository, and not just the default branch. Default: `false`. - * @default false - */ - include_all_branches?: boolean; - /** - * @description Either `true` to create a new private repository or `false` to create a new public one. - * @default false - */ - private?: boolean; - }; + "application/json": components["schemas"]["webhook-discussion-comment-created"]; }; }; responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["repository"]; - }; - }; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "repos/list-public": { + "discussion-comment/deleted": { /** - * List public repositories - * @description Lists all public repositories in the order that they were created. + * This event occurs when there is activity relating to a comment on a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." * - * Note: - * - For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise. - * - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of repositories. + * In order to install this event on a GitHub App, the app must have `discussions` permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A comment on a discussion was deleted. */ - responses: { - /** @description Response */ - 200: { - headers: { - /** @example ; rel="next" */ - Link?: string; - }; - content: { - "application/json": (components["schemas"]["minimal-repository"])[]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-discussion-comment-deleted"]; }; - 304: components["responses"]["not_modified"]; - 422: components["responses"]["validation_failed"]; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "actions/list-environment-secrets": { + "discussion-comment/edited": { /** - * List environment secrets - * @description Lists all secrets available in an environment without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. + * This event occurs when there is activity relating to a comment on a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." + * + * In order to install this event on a GitHub App, the app must have `discussions` permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A comment on a discussion was edited. */ - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - total_count: number; - secrets: (components["schemas"]["actions-secret"])[]; - }; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-discussion-comment-edited"]; }; }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; - "actions/get-environment-public-key": { + "discussion/created": { /** - * Get an environment public key - * @description Get the public key for an environment, which you need to encrypt environment secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint. + * This event occurs when there is activity relating to a discussion. For activity relating to a comment on a discussion, see the `discussion_comment` event. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the GraphQL API for Discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). + * + * In order to install this event on a GitHub App, the app must have `discussions` permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A discussion was created. */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-public-key"]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-discussion-created"]; }; }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; - "actions/get-environment-secret": { + "discussion/deleted": { /** - * Get an environment secret - * @description Gets a single environment secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. + * This event occurs when there is activity relating to a discussion. For activity relating to a comment on a discussion, see the `discussion_comment` event. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the GraphQL API for Discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). + * + * In order to install this event on a GitHub App, the app must have `discussions` permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A discussion was deleted. */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-secret"]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-discussion-deleted"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; - "actions/create-or-update-environment-secret": { + "discussion/edited": { /** - * Create or update an environment secret - * @description Creates or updates an environment secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access - * token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use - * this endpoint. - * - * #### Example encrypting a secret using Node.js - * - * Encrypt your secret using the [libsodium-wrappers](https://www.npmjs.com/package/libsodium-wrappers) library. - * - * ``` - * const sodium = require('libsodium-wrappers') - * const secret = 'plain-text-secret' // replace with the secret you want to encrypt - * const key = 'base64-encoded-public-key' // replace with the Base64 encoded public key - * - * //Check if libsodium is ready and then proceed. - * sodium.ready.then(() => { - * // Convert Secret & Base64 key to Uint8Array. - * let binkey = sodium.from_base64(key, sodium.base64_variants.ORIGINAL) - * let binsec = sodium.from_string(secret) - * - * //Encrypt the secret using LibSodium - * let encBytes = sodium.crypto_box_seal(binsec, binkey) - * - * // Convert encrypted Uint8Array to Base64 - * let output = sodium.to_base64(encBytes, sodium.base64_variants.ORIGINAL) - * - * console.log(output) - * }); - * ``` - * - * #### Example encrypting a secret using Python - * - * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. - * - * ``` - * from base64 import b64encode - * from nacl import encoding, public - * - * def encrypt(public_key: str, secret_value: str) -> str: - * """Encrypt a Unicode string using the public key.""" - * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) - * sealed_box = public.SealedBox(public_key) - * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) - * return b64encode(encrypted).decode("utf-8") - * ``` - * - * #### Example encrypting a secret using C# - * - * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. - * - * ``` - * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); - * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); - * - * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); - * - * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); - * ``` - * - * #### Example encrypting a secret using Ruby - * - * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. - * - * ```ruby - * require "rbnacl" - * require "base64" - * - * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") - * public_key = RbNaCl::PublicKey.new(key) - * - * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) - * encrypted_secret = box.encrypt("my_secret") + * This event occurs when there is activity relating to a discussion. For activity relating to a comment on a discussion, see the `discussion_comment` event. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the GraphQL API for Discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). * - * # Print the base64 encoded secret - * puts Base64.strict_encode64(encrypted_secret) - * ``` + * In order to install this event on a GitHub App, the app must have `discussions` permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description The title or body on a discussion was edited, or the category of the discussion was changed. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; requestBody: { content: { - "application/json": { - /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an environment public key](https://docs.github.com/rest/reference/actions#get-an-environment-public-key) endpoint. */ - encrypted_value: string; - /** @description ID of the key you used to encrypt the secret. */ - key_id: string; - }; + "application/json": components["schemas"]["webhook-discussion-edited"]; }; }; responses: { - /** @description Response when creating a secret */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response when updating a secret */ - 204: never; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "actions/delete-environment-secret": { + "discussion/labeled": { /** - * Delete an environment secret - * @description Deletes a secret in an environment using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. + * This event occurs when there is activity relating to a discussion. For activity relating to a comment on a discussion, see the `discussion_comment` event. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the GraphQL API for Discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). + * + * In order to install this event on a GitHub App, the app must have `discussions` permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A label was added to a discussion. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-discussion-labeled"]; + }; + }; responses: { - /** @description Default response */ - 204: never; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "search/code": { + "discussion/locked": { /** - * Search code - * @description Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for code, you can get text match metadata for the file **content** and file **path** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). - * - * For example, if you want to find the definition of the `addClass` function inside [jQuery](https://github.com/jquery/jquery) repository, your query would look something like this: - * - * `q=addClass+in:file+language:js+repo:jquery/jquery` - * - * This query searches for the keyword `addClass` within a file's contents. The query limits the search to files where the language is JavaScript in the `jquery/jquery` repository. - * - * #### Considerations for code search + * This event occurs when there is activity relating to a discussion. For activity relating to a comment on a discussion, see the `discussion_comment` event. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the GraphQL API for Discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). * - * Due to the complexity of searching code, there are a few restrictions on how searches are performed: + * In order to install this event on a GitHub App, the app must have `discussions` permission. * - * * Only the _default branch_ is considered. In most cases, this will be the `master` branch. - * * Only files smaller than 384 KB are searchable. - * * You must always include at least one search term when searching source code. For example, searching for [`language:go`](https://github.com/search?utf8=%E2%9C%93&q=language%3Ago&type=Code) is not valid, while [`amazing - * language:go`](https://github.com/search?utf8=%E2%9C%93&q=amazing+language%3Ago&type=Code) is. + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A discussion was locked. */ - parameters: { - /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching code](https://docs.github.com/search-github/searching-on-github/searching-code)" for a detailed list of qualifiers. */ - /** @description Sorts the results of your query. Can only be `indexed`, which indicates how recently a file has been indexed by the GitHub search infrastructure. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) */ - query: { - q: string; - sort?: "indexed"; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: (components["schemas"]["code-search-result-item"])[]; - }; - }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-discussion-locked"]; }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "search/commits": { + "discussion/pinned": { /** - * Search commits - * @description Find commits via various criteria on the default branch (usually `master`). This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for commits, you can get text match metadata for the **message** field when you provide the `text-match` media type. For more details about how to receive highlighted search results, see [Text match - * metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * This event occurs when there is activity relating to a discussion. For activity relating to a comment on a discussion, see the `discussion_comment` event. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the GraphQL API for Discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). * - * For example, if you want to find commits related to CSS in the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. Your query would look something like this: + * In order to install this event on a GitHub App, the app must have `discussions` permission. * - * `q=repo:octocat/Spoon-Knife+css` + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A discussion was pinned. */ - parameters: { - /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching commits](https://docs.github.com/search-github/searching-on-github/searching-commits)" for a detailed list of qualifiers. */ - /** @description Sorts the results of your query by `author-date` or `committer-date`. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) */ - query: { - q: string; - sort?: "author-date" | "committer-date"; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: (components["schemas"]["commit-search-result-item"])[]; - }; - }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-discussion-pinned"]; }; - 304: components["responses"]["not_modified"]; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "search/issues-and-pull-requests": { + "discussion/transferred": { /** - * Search issues and pull requests - * @description Find issues by state and keyword. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for issues, you can get text match metadata for the issue **title**, issue **body**, and issue **comment body** fields when you pass the `text-match` media type. For more details about how to receive highlighted - * search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). - * - * For example, if you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this. + * This event occurs when there is activity relating to a discussion. For activity relating to a comment on a discussion, see the `discussion_comment` event. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the GraphQL API for Discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). * - * `q=windows+label:bug+language:python+state:open&sort=created&order=asc` - * - * This query searches for the keyword `windows`, within any open issue that is labeled as `bug`. The search runs across repositories whose primary language is Python. The results are sorted by creation date in ascending order, which means the oldest issues appear first in the search results. + * In order to install this event on a GitHub App, the app must have `discussions` permission. * - * **Note:** For [user-to-server](https://docs.github.com/developers/apps/identifying-and-authorizing-users-for-github-apps#user-to-server-requests) GitHub App requests, you can't retrieve a combination of issues and pull requests in a single query. Requests that don't include the `is:issue` or `is:pull-request` qualifier will receive an HTTP `422 Unprocessable Entity` response. To get results for both issues and pull requests, you must send separate queries for issues and pull requests. For more information about the `is` qualifier, see "[Searching only issues or pull requests](https://docs.github.com/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-only-issues-or-pull-requests)." + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A discussion was transferred to another repository. */ - parameters: { - /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching issues and pull requests](https://docs.github.com/search-github/searching-on-github/searching-issues-and-pull-requests)" for a detailed list of qualifiers. */ - /** @description Sorts the results of your query by the number of `comments`, `reactions`, `reactions-+1`, `reactions--1`, `reactions-smile`, `reactions-thinking_face`, `reactions-heart`, `reactions-tada`, or `interactions`. You can also sort results by how recently the items were `created` or `updated`, Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) */ - query: { - q: string; - sort?: "comments" | "reactions" | "reactions-+1" | "reactions--1" | "reactions-smile" | "reactions-thinking_face" | "reactions-heart" | "reactions-tada" | "interactions" | "created" | "updated"; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: (components["schemas"]["issue-search-result-item"])[]; - }; - }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-discussion-transferred"]; }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "search/labels": { + "discussion/unanswered": { /** - * Search labels - * @description Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for labels, you can get text match metadata for the label **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). - * - * For example, if you want to find labels in the `linguist` repository that match `bug`, `defect`, or `enhancement`. Your query might look like this: + * This event occurs when there is activity relating to a discussion. For activity relating to a comment on a discussion, see the `discussion_comment` event. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the GraphQL API for Discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). * - * `q=bug+defect+enhancement&repository_id=64778136` + * In order to install this event on a GitHub App, the app must have `discussions` permission. * - * The labels that best match the query appear first in the search results. + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A comment on the discussion was unmarked as the answer. */ - parameters: { - /** @description The id of the repository. */ - /** @description The search keywords. This endpoint does not accept qualifiers in the query. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). */ - /** @description Sorts the results of your query by when the label was `created` or `updated`. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) */ - query: { - repository_id: number; - q: string; - sort?: "created" | "updated"; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: (components["schemas"]["label-search-result-item"])[]; - }; - }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-discussion-unanswered"]; }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "search/repos": { + "discussion/unlabeled": { /** - * Search repositories - * @description Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * This event occurs when there is activity relating to a discussion. For activity relating to a comment on a discussion, see the `discussion_comment` event. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the GraphQL API for Discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). * - * When searching for repositories, you can get text match metadata for the **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). - * - * For example, if you want to search for popular Tetris repositories written in assembly code, your query might look like this: - * - * `q=tetris+language:assembly&sort=stars&order=desc` + * In order to install this event on a GitHub App, the app must have `discussions` permission. * - * This query searches for repositories with the word `tetris` in the name, the description, or the README. The results are limited to repositories where the primary language is assembly. The results are sorted by stars in descending order, so that the most popular repositories appear first in the search results. + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A label was removed from a discussion. */ - parameters: { - /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching for repositories](https://docs.github.com/articles/searching-for-repositories/)" for a detailed list of qualifiers. */ - /** @description Sorts the results of your query by number of `stars`, `forks`, or `help-wanted-issues` or how recently the items were `updated`. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) */ - query: { - q: string; - sort?: "stars" | "forks" | "help-wanted-issues" | "updated"; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: (components["schemas"]["repo-search-result-item"])[]; - }; - }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-discussion-unlabeled"]; }; - 304: components["responses"]["not_modified"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "search/topics": { + "discussion/unlocked": { /** - * Search topics - * @description Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). See "[Searching topics](https://docs.github.com/articles/searching-topics/)" for a detailed list of qualifiers. + * This event occurs when there is activity relating to a discussion. For activity relating to a comment on a discussion, see the `discussion_comment` event. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the GraphQL API for Discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). * - * When searching for topics, you can get text match metadata for the topic's **short\_description**, **description**, **name**, or **display\_name** field when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * In order to install this event on a GitHub App, the app must have `discussions` permission. * - * For example, if you want to search for topics related to Ruby that are featured on https://github.com/topics. Your query might look like this: + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A discussion was unlocked. + */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-discussion-unlocked"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; + }; + "discussion/unpinned": { + /** + * This event occurs when there is activity relating to a discussion. For activity relating to a comment on a discussion, see the `discussion_comment` event. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the GraphQL API for Discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). * - * `q=ruby+is:featured` + * In order to install this event on a GitHub App, the app must have `discussions` permission. * - * This query searches for topics with the keyword `ruby` and limits the results to find only topics that are featured. The topics that are the best match for the query appear first in the search results. + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A discussion was unpinned. */ - parameters: { - /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). */ - query: { - q: string; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: (components["schemas"]["topic-search-result-item"])[]; - }; - }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-discussion-unpinned"]; }; - 304: components["responses"]["not_modified"]; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "search/users": { + fork: { /** - * Search users - * @description Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * This event occurs when someone forks a repository. For more information, see "[Fork a repo](https://docs.github.com/get-started/quickstart/fork-a-repo)." For information about the API, see "[Forks](https://docs.github.com/rest/repos/forks)" in the REST API documentation. * - * When searching for users, you can get text match metadata for the issue **login**, public **email**, and **name** fields when you pass the `text-match` media type. For more details about highlighting search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. + */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-fork"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; + }; + "github-app-authorization/revoked": { + /** + * This event occurs when a user revokes their authorization of a GitHub App. For more information, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) and [the REST API documentation](https://docs.github.com/rest/apps). * - * For example, if you're looking for a list of popular users, you might try this query: + * A GitHub App receives this webhook by default and cannot unsubscribe from this event. * - * `q=tom+repos:%3E42+followers:%3E1000` + * Anyone can revoke their authorization of a GitHub App from their [GitHub account settings page](https://github.com/settings/apps/authorizations). Revoking the authorization of a GitHub App does not uninstall the GitHub App. You should program your GitHub App so that when it receives this webhook, it stops calling the API on behalf of the person who revoked the token. If your GitHub App continues to use a revoked access token, it will receive the `401 Bad Credentials` error. For details about user-to-server requests, which require GitHub App authorization, see "[Identifying and authorizing users for GitHub Apps](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)." + * @description Someone revoked their authorization of a GitHub App. + */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-github-app-authorization-revoked"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; + }; + gollum: { + /** + * This event occurs when someone creates or updates a wiki page. For more information, see "[About wikis](https://docs.github.com/communities/documenting-your-project-with-wikis/about-wikis)." * - * This query searches for users with the name `tom`. The results are restricted to users with more than 42 repositories and over 1,000 followers. + * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. */ - parameters: { - /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching users](https://docs.github.com/search-github/searching-on-github/searching-users)" for a detailed list of qualifiers. */ - /** @description Sorts the results of your query by number of `followers` or `repositories`, or when the person `joined` GitHub. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) */ - query: { - q: string; - sort?: "followers" | "repositories" | "joined"; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-gollum"]; }; }; responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: (components["schemas"]["user-search-result-item"])[]; - }; - }; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; + }; + "installation/created": { + /** + * This event occurs when there is activity relating to a GitHub App installation. For more information, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) and [the REST API documentation](https://docs.github.com/rest/apps). + * @description Someone installed a GitHub App on a user or organization account. + */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 304: components["responses"]["not_modified"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-installation-created"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "teams/get-legacy": { + "installation/deleted": { /** - * Get a team (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [Get a team by name](https://docs.github.com/rest/reference/teams#get-a-team-by-name) endpoint. + * This event occurs when there is activity relating to a GitHub App installation. For more information, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) and [the REST API documentation](https://docs.github.com/rest/apps). + * @description Someone uninstalled a GitHub App from their user or organization account. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-installation-deleted"]; + }; + }; responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-full"]; - }; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; + }; + "installation/new-permissions-accepted": { + /** + * This event occurs when there is activity relating to a GitHub App installation. For more information, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) and [the REST API documentation](https://docs.github.com/rest/apps). + * @description Someone granted new permissions to a GitHub App. + */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-installation-new-permissions-accepted"]; }; - 404: components["responses"]["not_found"]; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "teams/delete-legacy": { + "installation-repositories/added": { /** - * Delete a team (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a team](https://docs.github.com/rest/reference/teams#delete-a-team) endpoint. - * - * To delete a team, the authenticated user must be an organization owner or team maintainer. - * - * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + * This event occurs when there is activity relating to which repositories a GitHub App installation can access. For more information, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) and [the REST API documentation](https://docs.github.com/rest/apps). + * @description A GitHub App installation was granted access to one or more repositories. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-installation-repositories-added"]; + }; + }; responses: { - /** @description Response */ - 204: never; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "teams/update-legacy": { + "installation-repositories/removed": { /** - * Update a team (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a team](https://docs.github.com/rest/reference/teams#update-a-team) endpoint. - * - * To edit a team, the authenticated user must either be an organization owner or a team maintainer. - * - * **Note:** With nested teams, the `privacy` for parent teams cannot be `secret`. + * This event occurs when there is activity relating to which repositories a GitHub App installation can access. For more information, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) and [the REST API documentation](https://docs.github.com/rest/apps). + * @description Access to one or more repositories was revoked for a GitHub App installation. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; requestBody: { content: { - "application/json": { - /** @description The name of the team. */ - name: string; - /** @description The description of the team. */ - description?: string; - /** - * @description The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. The options are: - * **For a non-nested team:** - * \* `secret` - only visible to organization owners and members of this team. - * \* `closed` - visible to all members of this organization. - * **For a parent or child team:** - * \* `closed` - visible to all members of this organization. - * @enum {string} - */ - privacy?: "secret" | "closed"; - /** - * @description **Deprecated**. The permission that new repositories will be added to the team with when none is specified. - * @default pull - * @enum {string} - */ - permission?: "pull" | "push" | "admin"; - /** @description The ID of a team to set as the parent team. */ - parent_team_id?: OneOf<[number, null]>; - }; + "application/json": components["schemas"]["webhook-installation-repositories-removed"]; }; }; responses: { - /** @description Response when the updated information already exists */ - 200: { - content: { - "application/json": components["schemas"]["team-full"]; - }; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; + }; + "installation/suspend": { + /** + * This event occurs when there is activity relating to a GitHub App installation. For more information, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) and [the REST API documentation](https://docs.github.com/rest/apps). + * @description Someone blocked access by a GitHub App to their user or organization account. + */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["team-full"]; - }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-installation-suspend"]; }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "teams/list-discussions-legacy": { + "installation-target/renamed": { /** - * List discussions (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://docs.github.com/rest/reference/teams#list-discussions) endpoint. - * - * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * This event occurs when there is activity relating to the user or organization account that a GitHub App is installed on. For more information, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) and [the REST API documentation](https://docs.github.com/rest/apps). + * @description Somebody renamed the user or organization account that a GitHub App is installed on. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-installation-target-renamed"]; + }; + }; responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["team-discussion"])[]; - }; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; + }; + "installation/unsuspend": { + /** + * This event occurs when there is activity relating to a GitHub App installation. For more information, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) and [the REST API documentation](https://docs.github.com/rest/apps). + * @description A GitHub App that was blocked from accessing a user or organization account was given access the account again. + */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-installation-unsuspend"]; }; }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; - "teams/create-discussion-legacy": { + "issue-comment/created": { /** - * Create a discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://docs.github.com/rest/reference/teams#create-a-discussion) endpoint. + * This event occurs when there is activity relating to a comment on an issue of pull request. * - * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * For more information about issues and pull requests, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)" and "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the Issue comments APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issuecomment) and [the REST API documentation](https://docs.github.com/rest/issues/comments). * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * For activity relating to an issue as opposed to comments on an issue, see the `issue` event. For activity related to pull request reviews or pull request review comments, see the `pull_request_review` or `pull_request_review_comment` events. For mor information about the different types of pull request comments, see "[Working with comments](https://docs.github.com/rest/guides/working-with-comments)." + * + * In order to install this event on a GitHub App, the app must have at least read-level permission for issues or pull requests. + * @description A comment on an issue or pull request was created. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; requestBody: { content: { - "application/json": { - /** @description The discussion post's title. */ - title: string; - /** @description The discussion post's body text. */ - body: string; - /** - * @description Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. - * @default false - */ - private?: boolean; - }; + "application/json": components["schemas"]["webhook-issue-comment-created"]; }; }; responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["team-discussion"]; - }; - }; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "teams/get-discussion-legacy": { + "issue-comment/deleted": { /** - * Get a discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion](https://docs.github.com/rest/reference/teams#get-a-discussion) endpoint. + * This event occurs when there is activity relating to a comment on an issue of pull request. * - * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * For more information about issues and pull requests, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)" and "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the Issue comments APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issuecomment) and [the REST API documentation](https://docs.github.com/rest/issues/comments). + * + * For activity relating to an issue as opposed to comments on an issue, see the `issue` event. For activity related to pull request reviews or pull request review comments, see the `pull_request_review` or `pull_request_review_comment` events. For mor information about the different types of pull request comments, see "[Working with comments](https://docs.github.com/rest/guides/working-with-comments)." + * + * In order to install this event on a GitHub App, the app must have at least read-level permission for issues or pull requests. + * @description A comment on an issue or pull request was deleted. */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-discussion"]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-issue-comment-deleted"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; - "teams/delete-discussion-legacy": { + "issue-comment/edited": { /** - * Delete a discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://docs.github.com/rest/reference/teams#delete-a-discussion) endpoint. + * This event occurs when there is activity relating to a comment on an issue of pull request. * - * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * For more information about issues and pull requests, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)" and "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the Issue comments APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issuecomment) and [the REST API documentation](https://docs.github.com/rest/issues/comments). + * + * For activity relating to an issue as opposed to comments on an issue, see the `issue` event. For activity related to pull request reviews or pull request review comments, see the `pull_request_review` or `pull_request_review_comment` events. For mor information about the different types of pull request comments, see "[Working with comments](https://docs.github.com/rest/guides/working-with-comments)." + * + * In order to install this event on a GitHub App, the app must have at least read-level permission for issues or pull requests. + * @description A comment on an issue or pull request was edited. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-issue-comment-edited"]; + }; + }; responses: { - /** @description Response */ - 204: never; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "teams/update-discussion-legacy": { + "issues/assigned": { /** - * Update a discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion](https://docs.github.com/rest/reference/teams#update-a-discussion) endpoint. + * This event occurs when there is activity relating to an issue. * - * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the Issues APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) and [the REST API documentation](https://docs.github.com/rest/issues). + * + * For activity relating to a comment on an issue, see the `issue_comment` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level `issues` permission. + * @description An issue was assigned to a user. */ - requestBody?: { + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { content: { - "application/json": { - /** @description The discussion post's title. */ - title?: string; - /** @description The discussion post's body text. */ - body?: string; - }; + "application/json": components["schemas"]["webhook-issues-assigned"]; }; }; responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-discussion"]; - }; - }; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "teams/list-discussion-comments-legacy": { + "issues/closed": { /** - * List discussion comments (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List discussion comments](https://docs.github.com/rest/reference/teams#list-discussion-comments) endpoint. + * This event occurs when there is activity relating to an issue. * - * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the Issues APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) and [the REST API documentation](https://docs.github.com/rest/issues). + * + * For activity relating to a comment on an issue, see the `issue_comment` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level `issues` permission. + * @description An issue was closed. */ - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["team-discussion-comment"])[]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-issues-closed"]; }; }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; - "teams/create-discussion-comment-legacy": { + "issues/deleted": { /** - * Create a discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Create a discussion comment](https://docs.github.com/rest/reference/teams#create-a-discussion-comment) endpoint. + * This event occurs when there is activity relating to an issue. * - * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the Issues APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) and [the REST API documentation](https://docs.github.com/rest/issues). * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * For activity relating to a comment on an issue, see the `issue_comment` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level `issues` permission. + * @description An issue was deleted. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; requestBody: { content: { - "application/json": { - /** @description The discussion comment's body text. */ - body: string; - }; + "application/json": components["schemas"]["webhook-issues-deleted"]; }; }; responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["team-discussion-comment"]; - }; - }; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "teams/get-discussion-comment-legacy": { + "issues/demilestoned": { /** - * Get a discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion comment](https://docs.github.com/rest/reference/teams#get-a-discussion-comment) endpoint. + * This event occurs when there is activity relating to an issue. * - * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the Issues APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) and [the REST API documentation](https://docs.github.com/rest/issues). + * + * For activity relating to a comment on an issue, see the `issue_comment` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level `issues` permission. + * @description An issue was removed from a milestone. */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-discussion-comment"]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-issues-demilestoned"]; }; }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; - "teams/delete-discussion-comment-legacy": { + "issues/edited": { /** - * Delete a discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a discussion comment](https://docs.github.com/rest/reference/teams#delete-a-discussion-comment) endpoint. + * This event occurs when there is activity relating to an issue. * - * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the Issues APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) and [the REST API documentation](https://docs.github.com/rest/issues). + * + * For activity relating to a comment on an issue, see the `issue_comment` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level `issues` permission. + * @description The title or body on an issue was edited. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-issues-edited"]; + }; + }; responses: { - /** @description Response */ - 204: never; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "teams/update-discussion-comment-legacy": { + "issues/labeled": { /** - * Update a discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion comment](https://docs.github.com/rest/reference/teams#update-a-discussion-comment) endpoint. + * This event occurs when there is activity relating to an issue. * - * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the Issues APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) and [the REST API documentation](https://docs.github.com/rest/issues). + * + * For activity relating to a comment on an issue, see the `issue_comment` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level `issues` permission. + * @description A label was added to an issue. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; requestBody: { content: { - "application/json": { - /** @description The discussion comment's body text. */ - body: string; - }; + "application/json": components["schemas"]["webhook-issues-labeled"]; }; }; responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-discussion-comment"]; - }; - }; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "reactions/list-for-team-discussion-comment-legacy": { + "issues/locked": { /** - * List reactions for a team discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion-comment) endpoint. + * This event occurs when there is activity relating to an issue. * - * List the reactions to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the Issues APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) and [the REST API documentation](https://docs.github.com/rest/issues). + * + * For activity relating to a comment on an issue, see the `issue_comment` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level `issues` permission. + * @description Conversation on an issue was locked. For more information, see "[Locking conversations](https://docs.github.com/communities/moderating-comments-and-conversations/locking-conversations)." */ parameters?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion comment. */ - query?: { - content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["reaction"])[]; - }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-issues-locked"]; }; }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; - "reactions/create-for-team-discussion-comment-legacy": { + "issues/milestoned": { /** - * Create reaction for a team discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Create reaction for a team discussion comment](https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion-comment)" endpoint. + * This event occurs when there is activity relating to an issue. * - * Create a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. + * For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the Issues APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) and [the REST API documentation](https://docs.github.com/rest/issues). + * + * For activity relating to a comment on an issue, see the `issue_comment` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level `issues` permission. + * @description An issue was added to a milestone. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; requestBody: { content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion comment. - * @enum {string} - */ - content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - }; + "application/json": components["schemas"]["webhook-issues-milestoned"]; }; }; responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "reactions/list-for-team-discussion-legacy": { + "issues/opened": { /** - * List reactions for a team discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion) endpoint. + * This event occurs when there is activity relating to an issue. * - * List the reactions to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the Issues APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) and [the REST API documentation](https://docs.github.com/rest/issues). + * + * For activity relating to a comment on an issue, see the `issue_comment` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level `issues` permission. + * @description An issue was created. When a closed issue is reopened, the action will be `reopened` instead. */ parameters?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion. */ - query?: { - content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["reaction"])[]; - }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-issues-opened"]; }; }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; - "reactions/create-for-team-discussion-legacy": { + "issues/pinned": { /** - * Create reaction for a team discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion) endpoint. + * This event occurs when there is activity relating to an issue. * - * Create a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. + * For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the Issues APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) and [the REST API documentation](https://docs.github.com/rest/issues). + * + * For activity relating to a comment on an issue, see the `issue_comment` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level `issues` permission. + * @description An issue was pinned to a repository. For more information, see "[Pinning an issue to your repository](https://docs.github.com/issues/tracking-your-work-with-issues/pinning-an-issue-to-your-repository)." */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; requestBody: { content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion. - * @enum {string} - */ - content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - }; + "application/json": components["schemas"]["webhook-issues-pinned"]; }; }; responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "teams/list-pending-invitations-legacy": { + "issues/reopened": { /** - * List pending team invitations (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://docs.github.com/rest/reference/teams#list-pending-team-invitations) endpoint. + * This event occurs when there is activity relating to an issue. * - * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + * For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the Issues APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) and [the REST API documentation](https://docs.github.com/rest/issues). + * + * For activity relating to a comment on an issue, see the `issue_comment` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level `issues` permission. + * @description A closed issue was reopened. */ - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["organization-invitation"])[]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-issues-reopened"]; }; }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; - "teams/list-members-legacy": { + "issues/transferred": { /** - * List team members (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://docs.github.com/rest/reference/teams#list-team-members) endpoint. + * This event occurs when there is activity relating to an issue. * - * Team members will include the members of child teams. + * For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the Issues APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) and [the REST API documentation](https://docs.github.com/rest/issues). + * + * For activity relating to a comment on an issue, see the `issue_comment` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level `issues` permission. + * @description An issue was transferred to another repository. For more information, see "[Transferring an issue to another repository](https://docs.github.com/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository)." */ parameters?: { - /** @description Filters members returned by their role in the team. */ - query?: { - role?: "member" | "maintainer" | "all"; + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["simple-user"])[]; - }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-issues-transferred"]; }; - 404: components["responses"]["not_found"]; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "teams/get-member-legacy": { + "issues/unassigned": { /** - * Get team member (Legacy) - * @deprecated - * @description The "Get team member" endpoint (described below) is deprecated. + * This event occurs when there is activity relating to an issue. * - * We recommend using the [Get team membership for a user](https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user) endpoint instead. It allows you to get both active and pending memberships. + * For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the Issues APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) and [the REST API documentation](https://docs.github.com/rest/issues). * - * To list members in a team, the team must be visible to the authenticated user. + * For activity relating to a comment on an issue, see the `issue_comment` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level `issues` permission. + * @description A user was unassigned from an issue. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-issues-unassigned"]; + }; + }; responses: { - /** @description if user is a member */ - 204: never; - /** @description if user is not a member */ - 404: never; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "teams/add-member-legacy": { + "issues/unlabeled": { /** - * Add team member (Legacy) - * @deprecated - * @description The "Add team member" endpoint (described below) is deprecated. - * - * We recommend using the [Add or update team membership for a user](https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint instead. It allows you to invite new organization members to your teams. + * This event occurs when there is activity relating to an issue. * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they're changing. The person being added to the team must be a member of the team's organization. + * For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the Issues APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) and [the REST API documentation](https://docs.github.com/rest/issues). * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * For activity relating to a comment on an issue, see the `issue_comment` event. * - * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * In order to install this event on a GitHub App, the app must have at least read-level `issues` permission. + * @description A label was removed from an issue. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-issues-unlabeled"]; + }; + }; responses: { - /** @description Response */ - 204: never; - 403: components["responses"]["forbidden"]; - /** @description Not Found if team synchronization is set up */ - 404: never; - /** @description Unprocessable Entity if you attempt to add an organization to a team or you attempt to add a user to a team when they are not a member of at least one other team in the same organization */ - 422: never; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "teams/remove-member-legacy": { + "issues/unlocked": { /** - * Remove team member (Legacy) - * @deprecated - * @description The "Remove team member" endpoint (described below) is deprecated. - * - * We recommend using the [Remove team membership for a user](https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user) endpoint instead. It allows you to remove both active and pending memberships. + * This event occurs when there is activity relating to an issue. * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the Issues APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) and [the REST API documentation](https://docs.github.com/rest/issues). * - * To remove a team member, the authenticated user must have 'admin' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team. + * For activity relating to a comment on an issue, see the `issue_comment` event. * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * In order to install this event on a GitHub App, the app must have at least read-level `issues` permission. + * @description Conversation on an issue was locked. For more information, see "[Locking conversations](https://docs.github.com/communities/moderating-comments-and-conversations/locking-conversations)." */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-issues-unlocked"]; + }; + }; responses: { - /** @description Response */ - 204: never; - /** @description Not Found if team synchronization is setup */ - 404: never; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "teams/get-membership-for-user-legacy": { + "issues/unpinned": { /** - * Get team membership for a user (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get team membership for a user](https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user) endpoint. - * - * Team members will include the members of child teams. + * This event occurs when there is activity relating to an issue. * - * To get a user's membership with a team, the team must be visible to the authenticated user. + * For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the Issues APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) and [the REST API documentation](https://docs.github.com/rest/issues). * - * **Note:** - * The response contains the `state` of the membership and the member's `role`. + * For activity relating to a comment on an issue, see the `issue_comment` event. * - * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team). + * In order to install this event on a GitHub App, the app must have at least read-level `issues` permission. + * @description An issue was unpinned from a repository. For more information, see "[Pinning an issue to your repository](https://docs.github.com/issues/tracking-your-work-with-issues/pinning-an-issue-to-your-repository)." */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-membership"]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-issues-unpinned"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "teams/add-or-update-membership-for-user-legacy": { + "label/created": { /** - * Add or update team membership for a user (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team membership for a user](https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * If the user is already a member of the team's organization, this endpoint will add the user to the team. To add a membership between an organization member and a team, the authenticated user must be an organization owner or a team maintainer. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * This event occurs when there is activity relating to labels. For more information, see "[Managing labels](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/managing-labels)." For information about the Label APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#label) and [the REST API documentation](https://docs.github.com/rest/issues/labels). * - * If the user is unaffiliated with the team's organization, this endpoint will send an invitation to the user via email. This newly-created membership will be in the "pending" state until the user accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. To add a membership between an unaffiliated user and a team, the authenticated user must be an organization owner. + * If you want to receive an event when a label is added to or removed from an issue, pull request, or discussion, use the `labeled` or `unlabeled` action type for the `issues`, `pull_request`, or `discussion` events instead. * - * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + * In order to install this event on a GitHub App, the app must have at least read-level permission for repository metadata. + * @description A label was created. */ - requestBody?: { + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { content: { - "application/json": { - /** - * @description The role that this user should have in the team. - * @default member - * @enum {string} - */ - role?: "member" | "maintainer"; - }; + "application/json": components["schemas"]["webhook-label-created"]; }; }; responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-membership"]; - }; - }; - /** @description Forbidden if team synchronization is set up */ - 403: never; - 404: components["responses"]["not_found"]; - /** @description Unprocessable Entity if you attempt to add an organization to a team */ - 422: never; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "teams/remove-membership-for-user-legacy": { + "label/deleted": { /** - * Remove team membership for a user (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove team membership for a user](https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user) endpoint. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * This event occurs when there is activity relating to labels. For more information, see "[Managing labels](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/managing-labels)." For information about the Label APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#label) and [the REST API documentation](https://docs.github.com/rest/issues/labels). * - * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * If you want to receive an event when a label is added to or removed from an issue, pull request, or discussion, use the `labeled` or `unlabeled` action type for the `issues`, `pull_request`, or `discussion` events instead. * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * In order to install this event on a GitHub App, the app must have at least read-level permission for repository metadata. + * @description A label was deleted. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-label-deleted"]; + }; + }; responses: { - /** @description Response */ - 204: never; - /** @description if team synchronization is set up */ - 403: never; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "teams/list-projects-legacy": { + "label/edited": { /** - * List team projects (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team projects`](https://docs.github.com/rest/reference/teams#list-team-projects) endpoint. + * This event occurs when there is activity relating to labels. For more information, see "[Managing labels](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/managing-labels)." For information about the Label APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#label) and [the REST API documentation](https://docs.github.com/rest/issues/labels). * - * Lists the organization projects for a team. + * If you want to receive an event when a label is added to or removed from an issue, pull request, or discussion, use the `labeled` or `unlabeled` action type for the `issues`, `pull_request`, or `discussion` events instead. + * + * In order to install this event on a GitHub App, the app must have at least read-level permission for repository metadata. + * @description A label's name, description, or color was changed. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-label-edited"]; + }; + }; responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["team-project"])[]; - }; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; + }; + "marketplace-purchase/cancelled": { + /** + * This event occurs when there is activity relating to a GitHub Marketplace purchase. For more information, see "[GitHub Marketplace](https://docs.github.com/marketplace)." For information about the Marketplace APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#marketplacelisting) and [the REST API documentation](https://docs.github.com/rest/apps/marketplace). + * @description Someone cancelled a GitHub Marketplace plan and the last billing cycle has ended. The change will take effect on the account immediately. + */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-marketplace-purchase-cancelled"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "teams/check-permissions-for-project-legacy": { + "marketplace-purchase/changed": { /** - * Check team permissions for a project (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a project](https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-project) endpoint. - * - * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. + * This event occurs when there is activity relating to a GitHub Marketplace purchase. For more information, see "[GitHub Marketplace](https://docs.github.com/marketplace)." For information about the Marketplace APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#marketplacelisting) and [the REST API documentation](https://docs.github.com/rest/apps/marketplace). + * @description Someone upgraded or downgraded a GitHub Marketplace plan and the last billing cycle has ended. The change will take effect on the account immediately. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-marketplace-purchase-changed"]; + }; + }; responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-project"]; - }; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; + }; + "marketplace-purchase/pending-change": { + /** + * This event occurs when there is activity relating to a GitHub Marketplace purchase. For more information, see "[GitHub Marketplace](https://docs.github.com/marketplace)." For information about the Marketplace APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#marketplacelisting) and [the REST API documentation](https://docs.github.com/rest/apps/marketplace). + * @description Someone downgraded or cancelled a GitHub Marketplace plan. The new plan or cancellation will take effect at the end of the current billing cycle. When the change takes effect, the `changed` or `cancelled` event will be sent. + */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-marketplace-purchase-pending-change"]; }; - /** @description Not Found if project is not managed by this team */ - 404: never; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "teams/add-or-update-project-permissions-legacy": { + "marketplace-purchase/pending-change-cancelled": { /** - * Add or update team project permissions (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team project permissions](https://docs.github.com/rest/reference/teams#add-or-update-team-project-permissions) endpoint. - * - * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. + * This event occurs when there is activity relating to a GitHub Marketplace purchase. For more information, see "[GitHub Marketplace](https://docs.github.com/marketplace)." For information about the Marketplace APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#marketplacelisting) and [the REST API documentation](https://docs.github.com/rest/apps/marketplace). + * @description Someone cancelled a pending change to a GitHub Marketplace plan. Pending changes include plan cancellations and downgrades that will take effect at the end of a billing cycle. */ - requestBody?: { + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { content: { - "application/json": { - /** - * @description The permission to grant to the team for this project. Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - * @enum {string} - */ - permission?: "read" | "write" | "admin"; - }; + "application/json": components["schemas"]["webhook-marketplace-purchase-pending-change-cancelled"]; }; }; responses: { - /** @description Response */ - 204: never; - /** @description Forbidden if the project is not owned by the organization */ - 403: { - content: { - "application/json": { - message?: string; - documentation_url?: string; - }; - }; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; + }; + "marketplace-purchase/purchased": { + /** + * This event occurs when there is activity relating to a GitHub Marketplace purchase. For more information, see "[GitHub Marketplace](https://docs.github.com/marketplace)." For information about the Marketplace APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#marketplacelisting) and [the REST API documentation](https://docs.github.com/rest/apps/marketplace). + * @description Someone purchased a GitHub Marketplace plan. The change will take effect on the account immediately. + */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-marketplace-purchase-purchased"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "teams/remove-project-legacy": { + "member/added": { /** - * Remove a project from a team (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a project from a team](https://docs.github.com/rest/reference/teams#remove-a-project-from-a-team) endpoint. + * This event occurs when there is activity relating to collaborators in a repository. For more information, see "[Adding outside collaborators to repositories in your organization](https://docs.github.com/organizations/managing-user-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization)." For more information about the API to manage repository collaborators, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#repositorycollaboratorconnection) or "[Collaborators](https://docs.github.com/rest/collaborators/collaborators)" in the REST API documentation. * - * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. **Note:** This endpoint removes the project from the team, but does not delete it. + * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. + * @description A GitHub user accepted an invitation to a repository. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-member-added"]; + }; + }; responses: { - /** @description Response */ - 204: never; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "teams/list-repos-legacy": { + "member/edited": { /** - * List team repositories (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List team repositories](https://docs.github.com/rest/reference/teams#list-team-repositories) endpoint. + * This event occurs when there is activity relating to collaborators in a repository. For more information, see "[Adding outside collaborators to repositories in your organization](https://docs.github.com/organizations/managing-user-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization)." For more information about the API to manage repository collaborators, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#repositorycollaboratorconnection) or "[Collaborators](https://docs.github.com/rest/collaborators/collaborators)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. + * @description Permissions were changed for a collaborator on a repository. */ - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["minimal-repository"])[]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-member-edited"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "teams/check-permissions-for-repo-legacy": { + "member/removed": { /** - * Check team permissions for a repository (Legacy) - * @deprecated - * @description **Note**: Repositories inherited through a parent team will also be checked. - * - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a repository](https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-repository) endpoint. + * This event occurs when there is activity relating to collaborators in a repository. For more information, see "[Adding outside collaborators to repositories in your organization](https://docs.github.com/organizations/managing-user-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization)." For more information about the API to manage repository collaborators, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#repositorycollaboratorconnection) or "[Collaborators](https://docs.github.com/rest/collaborators/collaborators)" in the REST API documentation. * - * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. + * @description A collaborator was removed from a repository. */ - responses: { - /** @description Alternative response with extra repository information */ - 200: { - content: { - "application/json": components["schemas"]["team-repository"]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - /** @description Response if repository is managed by this team */ - 204: never; - /** @description Not Found if repository is not managed by this team */ - 404: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-member-removed"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "teams/add-or-update-repo-permissions-legacy": { + "membership/added": { /** - * Add or update team repository permissions (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Add or update team repository permissions](https://docs.github.com/rest/reference/teams#add-or-update-team-repository-permissions)" endpoint. - * - * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. + * This event occurs when there is activity relating to team membership. For more information, see "[About teams](https://docs.github.com/organizations/organizing-members-into-teams/about-teams)." For more information about the API to manage team memberships, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#team) or "[Team members](https://docs.github.com/rest/teams/members)" in the REST API documentation. * - * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. + * @description An organization member was added to a team. */ - requestBody?: { + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { content: { - "application/json": { - /** - * @description The permission to grant the team on this repository. If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. - * @enum {string} - */ - permission?: "pull" | "push" | "admin"; - }; + "application/json": components["schemas"]["webhook-membership-added"]; }; }; responses: { - /** @description Response */ - 204: never; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "teams/remove-repo-legacy": { + "membership/removed": { /** - * Remove a repository from a team (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a repository from a team](https://docs.github.com/rest/reference/teams#remove-a-repository-from-a-team) endpoint. + * This event occurs when there is activity relating to team membership. For more information, see "[About teams](https://docs.github.com/organizations/organizing-members-into-teams/about-teams)." For more information about the API to manage team memberships, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#team) or "[Team members](https://docs.github.com/rest/teams/members)" in the REST API documentation. * - * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. NOTE: This does not delete the repository, it just removes it from the team. + * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. + * @description An organization member was removed from a team. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-membership-removed"]; + }; + }; responses: { - /** @description Response */ - 204: never; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "teams/list-child-legacy": { + "merge-group/checks-requested": { /** - * List child teams (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://docs.github.com/rest/reference/teams#list-child-teams) endpoint. + * This event occurs when there is activity relating to a merge group in a merge queue. For more information, see "[Managing a merge queue](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-a-merge-queue)." + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Merge queues" repository permission. + * + * **Note**: The pull request merge queue feature is currently in limited private beta and subject to change. + * @description Status checks were requested for a merge group. This happens when a merge group is created or added to by the merge queue because a pull request was queued. + * + * When you receive this event, you should perform checks on the head SHA and report status back using check runs or commit statuses. */ - responses: { - /** @description if child teams exist */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["team"])[]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-merge-group-checks-requested"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "users/get-authenticated": { + "meta/deleted": { /** - * Get the authenticated user - * @description If the authenticated user is authenticated through basic authentication or OAuth with the `user` scope, then the response lists public and private profile information. + * This event occurs when there is activity relating to a webhook itself. * - * If the authenticated user is authenticated through OAuth without the `user` scope, then the response lists only public profile information. + * To subscribe to this event, a GitHub App must have at least read-level access for the "Meta" app permission. + * @description The webhook was deleted. */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["private-user"] | components["schemas"]["public-user"]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-meta-deleted"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "users/update-authenticated": { + "milestone/closed": { /** - * Update the authenticated user - * @description **Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API. + * This event occurs when there is activity relating to milestones. For more information, see "[About milestones](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/about-milestones)." For information about the Milestone APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#milestone) and [the REST API documentation](https://docs.github.com/rest/issues/milestones). + * + * If you want to receive an event when an issue or pull request is added to or removed from a milestone, use the `milestoned` or `demilestoned` action type for the `issues` or `pull_request` events instead. + * + * In order to install this event on a GitHub App, the app must have at least read-level permission for either issues or pull requests. + * @description A milestone was closed. */ - requestBody?: { + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { content: { - "application/json": { - /** @description The new name of the user. */ - name?: string; - /** @description The publicly visible email address of the user. */ - email?: string; - /** @description The new blog URL of the user. */ - blog?: string; - /** @description The new Twitter username of the user. */ - twitter_username?: OneOf<[string, null]>; - /** @description The new company of the user. */ - company?: string; - /** @description The new location of the user. */ - location?: string; - /** @description The new hiring availability of the user. */ - hireable?: boolean; - /** @description The new short biography of the user. */ - bio?: string; - }; + "application/json": components["schemas"]["webhook-milestone-closed"]; }; }; responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["private-user"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "users/list-blocked-by-authenticated-user": { + "milestone/created": { /** - * List users blocked by the authenticated user - * @description List the users you've blocked on your personal account. + * This event occurs when there is activity relating to milestones. For more information, see "[About milestones](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/about-milestones)." For information about the Milestone APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#milestone) and [the REST API documentation](https://docs.github.com/rest/issues/milestones). + * + * If you want to receive an event when an issue or pull request is added to or removed from a milestone, use the `milestoned` or `demilestoned` action type for the `issues` or `pull_request` events instead. + * + * In order to install this event on a GitHub App, the app must have at least read-level permission for either issues or pull requests. + * @description A milestone was created. */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": (components["schemas"]["simple-user"])[]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; }; - }; - "users/check-blocked": { - /** Check if a user is blocked by the authenticated user */ - responses: { - /** @description If the user is blocked */ - 204: never; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - /** @description If the user is not blocked */ - 404: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-milestone-created"]; }; }; - }; - "users/block": { - /** Block a user */ responses: { - /** @description Response */ - 204: never; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "users/unblock": { - /** Unblock a user */ + "milestone/deleted": { + /** + * This event occurs when there is activity relating to milestones. For more information, see "[About milestones](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/about-milestones)." For information about the Milestone APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#milestone) and [the REST API documentation](https://docs.github.com/rest/issues/milestones). + * + * If you want to receive an event when an issue or pull request is added to or removed from a milestone, use the `milestoned` or `demilestoned` action type for the `issues` or `pull_request` events instead. + * + * In order to install this event on a GitHub App, the app must have at least read-level permission for either issues or pull requests. + * @description A milestone was deleted. + */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-milestone-deleted"]; + }; + }; responses: { - /** @description Response */ - 204: never; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "codespaces/list-for-authenticated-user": { + "milestone/edited": { /** - * List codespaces for the authenticated user - * @description Lists the authenticated user's codespaces. + * This event occurs when there is activity relating to milestones. For more information, see "[About milestones](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/about-milestones)." For information about the Milestone APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#milestone) and [the REST API documentation](https://docs.github.com/rest/issues/milestones). * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * If you want to receive an event when an issue or pull request is added to or removed from a milestone, use the `milestoned` or `demilestoned` action type for the `issues` or `pull_request` events instead. * - * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. + * In order to install this event on a GitHub App, the app must have at least read-level permission for either issues or pull requests. + * @description A milestone was edited. */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - codespaces: (components["schemas"]["codespace"])[]; - }; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-milestone-edited"]; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "codespaces/create-for-authenticated-user": { + "milestone/opened": { /** - * Create a codespace for the authenticated user - * @description Creates a new codespace, owned by the authenticated user. - * - * This endpoint requires either a `repository_id` OR a `pull_request` but not both. + * This event occurs when there is activity relating to milestones. For more information, see "[About milestones](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/about-milestones)." For information about the Milestone APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#milestone) and [the REST API documentation](https://docs.github.com/rest/issues/milestones). * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * If you want to receive an event when an issue or pull request is added to or removed from a milestone, use the `milestoned` or `demilestoned` action type for the `issues` or `pull_request` events instead. * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + * In order to install this event on a GitHub App, the app must have at least read-level permission for either issues or pull requests. + * @description A milestone was opened. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; requestBody: { content: { - "application/json": OneOf<[{ - /** @description Repository id for this codespace */ - repository_id: number; - /** @description Git ref (typically a branch name) for this codespace */ - ref?: string; - /** @description Location for this codespace. Assigned by IP if not provided */ - location?: string; - /** @description IP for location auto-detection when proxying a request */ - client_ip?: string; - /** @description Machine type to use for this codespace */ - machine?: string; - /** @description Path to devcontainer.json config to use for this codespace */ - devcontainer_path?: string; - /** @description Whether to authorize requested permissions from devcontainer.json */ - multi_repo_permissions_opt_out?: boolean; - /** @description Working directory for this codespace */ - working_directory?: string; - /** @description Time in minutes before codespace stops from inactivity */ - idle_timeout_minutes?: number; - /** @description Display name for this codespace */ - display_name?: string; - /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ - retention_period_minutes?: number; - }, { - /** @description Pull request number for this codespace */ - pull_request: { - /** @description Pull request number */ - pull_request_number: number; - /** @description Repository id for this codespace */ - repository_id: number; - }; - /** @description Location for this codespace. Assigned by IP if not provided */ - location?: string; - /** @description Machine type to use for this codespace */ - machine?: string; - /** @description Path to devcontainer.json config to use for this codespace */ - devcontainer_path?: string; - /** @description Working directory for this codespace */ - working_directory?: string; - /** @description Time in minutes before codespace stops from inactivity */ - idle_timeout_minutes?: number; - }]>; + "application/json": components["schemas"]["webhook-milestone-opened"]; }; }; responses: { - /** @description Response when the codespace was successfully created */ - 201: { - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - /** @description Response when the codespace creation partially failed but is being retried in the background */ - 202: { - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "codespaces/list-secrets-for-authenticated-user": { + "org-block/blocked": { /** - * List secrets for the authenticated user - * @description Lists all secrets available for a user's Codespaces without revealing their - * encrypted values. + * This event occurs when organization owners or moderators block or unblock a non-member from collaborating on the organization's repositories. For more information, see "[Blocking a user from your organization](https://docs.github.com/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization)." For information about the Blocking users APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#userblockedevent) and [the REST API documentation](https://docs.github.com/rest/orgs/blocking). * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * If you want to receive an event when members are added or removed from an organization, use the `organization` event instead. * - * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. + * In order to install this event on a GitHub App, the app must have at least read-level access for the organization administration permission. + * @description A user was blocked from the organization. */ - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - total_count: number; - secrets: (components["schemas"]["codespaces-secret"])[]; - }; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-org-block-blocked"]; }; }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; - "codespaces/get-public-key-for-authenticated-user": { + "org-block/unblocked": { /** - * Get public key for the authenticated user - * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. + * This event occurs when organization owners or moderators block or unblock a non-member from collaborating on the organization's repositories. For more information, see "[Blocking a user from your organization](https://docs.github.com/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization)." For information about the Blocking users APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#userblockedevent) and [the REST API documentation](https://docs.github.com/rest/orgs/blocking). * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * If you want to receive an event when members are added or removed from an organization, use the `organization` event instead. * - * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. + * In order to install this event on a GitHub App, the app must have at least read-level access for the organization administration permission. + * @description A previously blocked user was unblocked from the organization. */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codespaces-user-public-key"]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-org-block-unblocked"]; }; }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; - "codespaces/get-secret-for-authenticated-user": { + "organization/deleted": { /** - * Get a secret for the authenticated user - * @description Gets a secret available to a user's codespaces without revealing its encrypted value. + * This event occurs when there is activity relating to an organization and its members. For more information, see "[About organizations](https://docs.github.com/organizations/collaborating-with-groups-in-organizations/about-organizations)." For information about the Organization APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#organization) and [the REST API documentation](https://docs.github.com/rest/orgs). * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * If you want to receive an event when a non-member is blocked or unblocked from an organization, use the `org_block` event instead. * - * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. + * In order to install this event on a GitHub App, the app must have at least read-level access for the organization members permission. + * @description An organization was deleted. */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codespaces-secret"]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-organization-deleted"]; }; }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; - "codespaces/create-or-update-secret-for-authenticated-user": { + "organization/member-added": { /** - * Create or update a secret for the authenticated user - * @description Creates or updates a secret for a user's codespace with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must also have Codespaces access to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_user_secrets` user permission and `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. - * - * #### Example encrypting a secret using Node.js - * - * Encrypt your secret using the [libsodium-wrappers](https://www.npmjs.com/package/libsodium-wrappers) library. - * - * ``` - * const sodium = require('libsodium-wrappers') - * const secret = 'plain-text-secret' // replace with the secret you want to encrypt - * const key = 'base64-encoded-public-key' // replace with the Base64 encoded public key - * - * //Check if libsodium is ready and then proceed. - * sodium.ready.then(() => { - * // Convert Secret & Base64 key to Uint8Array. - * let binkey = sodium.from_base64(key, sodium.base64_variants.ORIGINAL) - * let binsec = sodium.from_string(secret) - * - * //Encrypt the secret using LibSodium - * let encBytes = sodium.crypto_box_seal(binsec, binkey) - * - * // Convert encrypted Uint8Array to Base64 - * let output = sodium.to_base64(encBytes, sodium.base64_variants.ORIGINAL) - * - * console.log(output) - * }); - * ``` - * - * #### Example encrypting a secret using Python - * - * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. - * - * ``` - * from base64 import b64encode - * from nacl import encoding, public - * - * def encrypt(public_key: str, secret_value: str) -> str: - * """Encrypt a Unicode string using the public key.""" - * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) - * sealed_box = public.SealedBox(public_key) - * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) - * return b64encode(encrypted).decode("utf-8") - * ``` - * - * #### Example encrypting a secret using C# - * - * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. - * - * ``` - * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); - * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); - * - * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); - * - * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); - * ``` - * - * #### Example encrypting a secret using Ruby - * - * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * This event occurs when there is activity relating to an organization and its members. For more information, see "[About organizations](https://docs.github.com/organizations/collaborating-with-groups-in-organizations/about-organizations)." For information about the Organization APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#organization) and [the REST API documentation](https://docs.github.com/rest/orgs). * - * ```ruby - * require "rbnacl" - * require "base64" + * If you want to receive an event when a non-member is blocked or unblocked from an organization, use the `org_block` event instead. * - * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") - * public_key = RbNaCl::PublicKey.new(key) + * In order to install this event on a GitHub App, the app must have at least read-level access for the organization members permission. + * @description A member accepted an invitation to join an organization. + */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-organization-member-added"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; + }; + "organization/member-invited": { + /** + * This event occurs when there is activity relating to an organization and its members. For more information, see "[About organizations](https://docs.github.com/organizations/collaborating-with-groups-in-organizations/about-organizations)." For information about the Organization APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#organization) and [the REST API documentation](https://docs.github.com/rest/orgs). * - * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) - * encrypted_secret = box.encrypt("my_secret") + * If you want to receive an event when a non-member is blocked or unblocked from an organization, use the `org_block` event instead. * - * # Print the base64 encoded secret - * puts Base64.strict_encode64(encrypted_secret) - * ``` + * In order to install this event on a GitHub App, the app must have at least read-level access for the organization members permission. + * @description A member was invited to join the organization. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; requestBody: { content: { - "application/json": { - /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get the public key for the authenticated user](https://docs.github.com/rest/reference/codespaces#get-the-public-key-for-the-authenticated-user) endpoint. */ - encrypted_value?: string; - /** @description ID of the key you used to encrypt the secret. */ - key_id: string; - /** @description An array of repository ids that can access the user secret. You can manage the list of selected repositories using the [List selected repositories for a user secret](https://docs.github.com/rest/reference/codespaces#list-selected-repositories-for-a-user-secret), [Set selected repositories for a user secret](https://docs.github.com/rest/reference/codespaces#set-selected-repositories-for-a-user-secret), and [Remove a selected repository from a user secret](https://docs.github.com/rest/reference/codespaces#remove-a-selected-repository-from-a-user-secret) endpoints. */ - selected_repository_ids?: (string)[]; - }; + "application/json": components["schemas"]["webhook-organization-member-invited"]; }; }; responses: { - /** @description Response after successfully creating a secret */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response after successfully updating a secret */ - 204: never; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "codespaces/delete-secret-for-authenticated-user": { + "organization/member-removed": { /** - * Delete a secret for the authenticated user - * @description Deletes a secret from a user's codespaces using the secret name. Deleting the secret will remove access from all codespaces that were allowed to access the secret. + * This event occurs when there is activity relating to an organization and its members. For more information, see "[About organizations](https://docs.github.com/organizations/collaborating-with-groups-in-organizations/about-organizations)." For information about the Organization APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#organization) and [the REST API documentation](https://docs.github.com/rest/orgs). * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * If you want to receive an event when a non-member is blocked or unblocked from an organization, use the `org_block` event instead. * - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. + * In order to install this event on a GitHub App, the app must have at least read-level access for the organization members permission. + * @description A member was removed from the organization. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-organization-member-removed"]; + }; + }; responses: { - /** @description Response */ - 204: never; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "codespaces/list-repositories-for-secret-for-authenticated-user": { + "organization/renamed": { /** - * List selected repositories for a user secret - * @description List the repositories that have been granted the ability to use a user's codespace secret. + * This event occurs when there is activity relating to an organization and its members. For more information, see "[About organizations](https://docs.github.com/organizations/collaborating-with-groups-in-organizations/about-organizations)." For information about the Organization APIs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#organization) and [the REST API documentation](https://docs.github.com/rest/orgs). * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * If you want to receive an event when a non-member is blocked or unblocked from an organization, use the `org_block` event instead. * - * GitHub Apps must have read access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. + * In order to install this event on a GitHub App, the app must have at least read-level access for the organization members permission. + * @description The name of an organization was changed. */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - repositories: (components["schemas"]["minimal-repository"])[]; - }; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-organization-renamed"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "codespaces/set-repositories-for-secret-for-authenticated-user": { - /** - * Set selected repositories for a user secret - * @description Select the repositories that will use a user's codespace secret. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. - */ + "package/published": { + /** Package published */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; requestBody: { content: { - "application/json": { - /** @description An array of repository ids for which a codespace can access the secret. You can manage the list of selected repositories using the [List selected repositories for a user secret](https://docs.github.com/rest/reference/codespaces#list-selected-repositories-for-a-user-secret), [Add a selected repository to a user secret](https://docs.github.com/rest/reference/codespaces#add-a-selected-repository-to-a-user-secret), and [Remove a selected repository from a user secret](https://docs.github.com/rest/reference/codespaces#remove-a-selected-repository-from-a-user-secret) endpoints. */ - selected_repository_ids: (number)[]; - }; + "application/json": components["schemas"]["webhook-package-published"]; }; }; responses: { - /** @description No Content when repositories were added to the selected list */ - 204: never; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "codespaces/add-repository-for-secret-for-authenticated-user": { - /** - * Add a selected repository to a user secret - * @description Adds a repository to the selected repositories for a user's codespace secret. - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on the referenced repository to use this endpoint. - */ - parameters: { - path: { - repository_id: number; + "package/updated": { + /** Package updated */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-package-updated"]; }; }; responses: { - /** @description No Content when repository was added to the selected list */ - 204: never; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "codespaces/remove-repository-for-secret-for-authenticated-user": { - /** - * Remove a selected repository from a user secret - * @description Removes a repository from the selected repositories for a user's codespace secret. - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. - */ - parameters: { - path: { - repository_id: number; + "package-v2/create": { + /** Package v2 create */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-package-v2-create"]; }; }; responses: { - /** @description No Content when repository was removed from the selected list */ - 204: never; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "codespaces/get-for-authenticated-user": { + "page-build": { /** - * Get a codespace for the authenticated user - * @description Gets information about a user's codespace. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * This event occurs when there is an attempted build of a GitHub Pages site. This event occurs regardless of whether the build is successful. For more information, see "[Configuring a publishing source for your GitHub Pages site](https://docs.github.com/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site)." For information about the APIs to manage GitHub Pages, see "[Pages](https://docs.github.com/rest/pages)" in the REST API documentation. * - * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pages" repository permission. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-page-build"]; + }; + }; responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codespace"]; - }; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; + }; + ping: { + /** This event occurs when you create a new webhook. The ping event is a confirmation from GitHub that you configured the webhook correctly. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-ping"]; + "application/x-www-form-urlencoded": components["schemas"]["webhook-ping-form-encoded"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "codespaces/delete-for-authenticated-user": { + "project-card/converted": { /** - * Delete a codespace for the authenticated user - * @description Deletes a user's codespace. + * This event occurs when there is activity relating to a card on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see "[Project](https://docs.github.com/graphql/reference/objects#project)" in the GraphQL API documentation and "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * For activity relating to a project or a column on a project, see the `project` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description A note in a classic project was converted to an issue. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-project-card-converted"]; + }; + }; responses: { - 202: components["responses"]["accepted"]; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "codespaces/update-for-authenticated-user": { + "project-card/created": { /** - * Update a codespace for the authenticated user - * @description Updates a codespace owned by the authenticated user. Currently only the codespace's machine type and recent folders can be modified using this endpoint. + * This event occurs when there is activity relating to a card on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see "[Project](https://docs.github.com/graphql/reference/objects#project)" in the GraphQL API documentation and "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. * - * If you specify a new machine type it will be applied the next time your codespace is started. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * For activity relating to a project or a column on a project, see the `project` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description A card was added to a classic project. */ - requestBody?: { + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { content: { - "application/json": { - /** @description A valid machine to transition this codespace to. */ - machine?: string; - /** @description Display name for this codespace */ - display_name?: string; - /** @description Recently opened folders inside the codespace. It is currently used by the clients to determine the folder path to load the codespace in. */ - recent_folders?: (string)[]; - }; + "application/json": components["schemas"]["webhook-project-card-created"]; }; }; responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "codespaces/export-for-authenticated-user": { + "project-card/deleted": { /** - * Export a codespace for the authenticated user - * @description Triggers an export of the specified codespace and returns a URL and ID where the status of the export can be monitored. + * This event occurs when there is activity relating to a card on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see "[Project](https://docs.github.com/graphql/reference/objects#project)" in the GraphQL API documentation and "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. * - * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. + * For activity relating to a project or a column on a project, see the `project` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. * - * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description A card on a classic project was deleted. */ - responses: { - /** @description Response */ - 202: { - content: { - "application/json": components["schemas"]["codespace-export-details"]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-project-card-deleted"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "codespaces/get-export-details-for-authenticated-user": { + "project-card/edited": { /** - * Get details about a codespace export - * @description Gets information about an export of a codespace. + * This event occurs when there is activity relating to a card on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see "[Project](https://docs.github.com/graphql/reference/objects#project)" in the GraphQL API documentation and "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. * - * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. + * For activity relating to a project or a column on a project, see the `project` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. * - * GitHub Apps must have read access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description A note on a classic project was edited. */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codespace-export-details"]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-project-card-edited"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "codespaces/codespace-machines-for-authenticated-user": { + "project-card/moved": { /** - * List machine types for a codespace - * @description List the machine types a codespace can transition to use. + * This event occurs when there is activity relating to a card on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see "[Project](https://docs.github.com/graphql/reference/objects#project)" in the GraphQL API documentation and "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * For activity relating to a project or a column on a project, see the `project` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. * - * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description A card on a classic project was moved to another column or to another position in its column. */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - machines: (components["schemas"]["codespace-machine"])[]; - }; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-project-card-moved"]; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "codespaces/start-for-authenticated-user": { + "project/closed": { /** - * Start a codespace for the authenticated user - * @description Starts a user's codespace. + * This event occurs when there is activity relating to a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see "[Project](https://docs.github.com/graphql/reference/objects#project)" in the GraphQL API documentation and "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * For activity relating to a card or column on a project, see the `project_card` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. * - * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description A classic project was closed. */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codespace"]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 304: components["responses"]["not_modified"]; - 400: components["responses"]["bad_request"]; - 401: components["responses"]["requires_authentication"]; - /** @description Payment required */ - 402: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-project-closed"]; }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 500: components["responses"]["internal_error"]; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "codespaces/stop-for-authenticated-user": { + "project-column/created": { /** - * Stop a codespace for the authenticated user - * @description Stops a user's codespace. + * This event occurs when there is activity relating to a column on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see "[Project](https://docs.github.com/graphql/reference/objects#project)" in the GraphQL API documentation and "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * For activity relating to a project or a card on a project, see the `project` and `project_card` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. * - * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description A column was added to a classic project. */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codespace"]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; }; - }; - "users/set-primary-email-visibility-for-authenticated-user": { - /** - * Set primary email visibility for the authenticated user - * @description Sets the visibility for your primary email addresses. - */ requestBody: { content: { - "application/json": { - /** - * @description Denotes whether an email is publicly visible. - * @enum {string} - */ - visibility: "public" | "private"; - }; + "application/json": components["schemas"]["webhook-project-column-created"]; }; }; responses: { - /** @description Response */ - 200: { - content: { - "application/json": (components["schemas"]["email"])[]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "users/list-emails-for-authenticated-user": { + "project-column/deleted": { /** - * List email addresses for the authenticated user - * @description Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope. + * This event occurs when there is activity relating to a column on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see "[Project](https://docs.github.com/graphql/reference/objects#project)" in the GraphQL API documentation and "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. + * + * For activity relating to a project or a card on a project, see the `project` and `project_card` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description A column was deleted from a classic project. */ - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["email"])[]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; }; - }; - "users/add-email-for-authenticated-user": { - /** - * Add an email address for the authenticated user - * @description This endpoint is accessible with the `user` scope. - */ - requestBody?: { + requestBody: { content: { - "application/json": OneOf<[{ - /** @description Adds one or more email addresses to your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key. */ - emails: (string)[]; - }, (string)[], string]>; + "application/json": components["schemas"]["webhook-project-column-deleted"]; }; }; responses: { - /** @description Response */ - 201: { - content: { - "application/json": (components["schemas"]["email"])[]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "users/delete-email-for-authenticated-user": { + "project-column/edited": { /** - * Delete an email address for the authenticated user - * @description This endpoint is accessible with the `user` scope. + * This event occurs when there is activity relating to a column on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see "[Project](https://docs.github.com/graphql/reference/objects#project)" in the GraphQL API documentation and "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. + * + * For activity relating to a project or a card on a project, see the `project` and `project_card` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description The name of a column on a classic project was changed. */ - requestBody?: { + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { content: { - "application/json": OneOf<[{ - /** @description Email addresses associated with the GitHub user account. */ - emails: (string)[]; - }, (string)[], string]>; + "application/json": components["schemas"]["webhook-project-column-edited"]; }; }; responses: { - /** @description Response */ - 204: never; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "users/list-followers-for-authenticated-user": { + "project-column/moved": { /** - * List followers of the authenticated user - * @description Lists the people following the authenticated user. + * This event occurs when there is activity relating to a column on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see "[Project](https://docs.github.com/graphql/reference/objects#project)" in the GraphQL API documentation and "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. + * + * For activity relating to a project or a card on a project, see the `project` and `project_card` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description A column was moved to a new position on a classic project. */ - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["simple-user"])[]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; }; - }; - "users/list-followed-by-authenticated-user": { - /** - * List the people the authenticated user follows - * @description Lists the people who the authenticated user follows. - */ - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["simple-user"])[]; - }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-project-column-moved"]; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; }; - }; - "users/check-person-is-followed-by-authenticated": { - /** Check if a person is followed by the authenticated user */ responses: { - /** @description if the person is followed by the authenticated user */ - 204: never; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - /** @description if the person is not followed by the authenticated user */ - 404: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "users/follow": { + "project/created": { /** - * Follow a user - * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * This event occurs when there is activity relating to a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see "[Project](https://docs.github.com/graphql/reference/objects#project)" in the GraphQL API documentation and "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. * - * Following a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. + * For activity relating to a card or column on a project, see the `project_card` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description A classic project was created. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-project-created"]; + }; + }; responses: { - /** @description Response */ - 204: never; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "users/unfollow": { + "project/deleted": { /** - * Unfollow a user - * @description Unfollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. + * This event occurs when there is activity relating to a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see "[Project](https://docs.github.com/graphql/reference/objects#project)" in the GraphQL API documentation and "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. + * + * For activity relating to a card or column on a project, see the `project_card` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description A classic project was deleted. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-project-deleted"]; + }; + }; responses: { - /** @description Response */ - 204: never; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "users/list-gpg-keys-for-authenticated-user": { + "project/edited": { /** - * List GPG keys for the authenticated user - * @description Lists the current user's GPG keys. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * This event occurs when there is activity relating to a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see "[Project](https://docs.github.com/graphql/reference/objects#project)" in the GraphQL API documentation and "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. + * + * For activity relating to a card or column on a project, see the `project_card` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description The name or description of a classic project was changed. */ - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["gpg-key"])[]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; }; - }; - "users/create-gpg-key-for-authenticated-user": { - /** - * Create a GPG key for the authenticated user - * @description Adds a GPG key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ requestBody: { content: { - "application/json": { - /** @description A descriptive name for the new key. */ - name?: string; - /** @description A GPG key in ASCII-armored format. */ - armored_public_key: string; - }; + "application/json": components["schemas"]["webhook-project-edited"]; }; }; responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["gpg-key"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "users/get-gpg-key-for-authenticated-user": { + "project/reopened": { /** - * Get a GPG key for the authenticated user - * @description View extended details for a single GPG key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * This event occurs when there is activity relating to a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see "[Project](https://docs.github.com/graphql/reference/objects#project)" in the GraphQL API documentation and "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. + * + * For activity relating to a card or column on a project, see the `project_card` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description A classic project was closed. */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["gpg-key"]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-project-reopened"]; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; }; - }; - "users/delete-gpg-key-for-authenticated-user": { - /** - * Delete a GPG key for the authenticated user - * @description Removes a GPG key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ responses: { - /** @description Response */ - 204: never; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "apps/list-installations-for-authenticated-user": { + "projects-v2-item/archived": { /** - * List app installations accessible to the user access token - * @description Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). * - * You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. + * For activity relating to a project (instead of an item on a project), see the `projects_v2` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. * - * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * To install this event on a GitHub App, the app must have at least read-level access for the organization projects permission. * - * You can find the permissions for the installation under the `permissions` key. + * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). + * @description An item on an organization project was archived. For more information, see "[Archiving items from your project](https://docs.github.com/issues/planning-and-tracking-with-projects/managing-items-in-your-project/archiving-items-from-your-project)." */ - responses: { - /** @description You can find the permissions for the installation under the `permissions` key. */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - total_count: number; - installations: (components["schemas"]["installation"])[]; - }; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example project-v2-item */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-projects-v2-item-archived"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "apps/list-installation-repos-for-authenticated-user": { + "projects-v2-item/converted": { /** - * List repositories accessible to the user access token - * @description List repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access for an installation. + * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). * - * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * For activity relating to a project (instead of an item on a project), see the `projects_v2` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. * - * You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. + * To install this event on a GitHub App, the app must have at least read-level access for the organization projects permission. * - * The access the user has to each repository is included in the hash under the `permissions` key. + * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). + * @description A draft issue in an organization project was converted to an issue. */ - responses: { - /** @description The access the user has to each repository is included in the hash under the `permissions` key. */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - total_count: number; - repository_selection?: string; - repositories: (components["schemas"]["repository"])[]; - }; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example project-v2-item */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-projects-v2-item-converted"]; }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "apps/add-repo-to-installation-for-authenticated-user": { + "projects-v2-item/created": { /** - * Add a repository to an app installation - * @description Add a single repository to an installation. The authenticated user must have admin access to the repository. + * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). * - * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. + * For activity relating to a project (instead of an item on a project), see the `projects_v2` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. + * + * To install this event on a GitHub App, the app must have at least read-level access for the organization projects permission. + * + * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). + * @description An item was added to a project in the organization. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example project-v2-item */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-projects-v2-item-created"]; + }; + }; responses: { - /** @description Response */ - 204: never; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "apps/remove-repo-from-installation-for-authenticated-user": { + "projects-v2-item/deleted": { /** - * Remove a repository from an app installation - * @description Remove a single repository from an installation. The authenticated user must have admin access to the repository. + * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). * - * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. + * For activity relating to a project (instead of an item on a project), see the `projects_v2` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. + * + * To install this event on a GitHub App, the app must have at least read-level access for the organization projects permission. + * + * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). + * @description An item was deleted from a project in the organization. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example project-v2-item */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-projects-v2-item-deleted"]; + }; + }; responses: { - /** @description Response */ - 204: never; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "interactions/get-restrictions-for-authenticated-user": { + "projects-v2-item/edited": { /** - * Get interaction restrictions for your public repositories - * @description Shows which type of GitHub user can interact with your public repositories and when the restriction expires. + * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). + * + * For activity relating to a project (instead of an item on a project), see the `projects_v2` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. + * + * To install this event on a GitHub App, the app must have at least read-level access for the organization projects permission. + * + * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). + * @description The values or state of an item in an organization project were changed. For example, the value of a field was updated, the body of a draft issue was changed, or a draft issue was converted to an issue. */ - responses: { - /** @description Default response */ - 200: { - content: { - "application/json": components["schemas"]["interaction-limit-response"] | Record; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example project-v2-item */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - /** @description Response when there are no restrictions */ - 204: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-projects-v2-item-edited"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "interactions/set-restrictions-for-authenticated-user": { + "projects-v2-item/reordered": { /** - * Set interaction restrictions for your public repositories - * @description Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user. + * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). + * + * For activity relating to a project (instead of an item on a project), see the `projects_v2` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. + * + * To install this event on a GitHub App, the app must have at least read-level access for the organization projects permission. + * + * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). + * @description The position of an item in an organization project was changed. For example, an item was moved above or below another item in the table or board layout. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example project-v2-item */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; requestBody: { content: { - "application/json": components["schemas"]["interaction-limit"]; + "application/json": components["schemas"]["webhook-projects-v2-item-reordered"]; }; }; responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["interaction-limit-response"]; - }; - }; - 422: components["responses"]["validation_failed"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "interactions/remove-restrictions-for-authenticated-user": { + "projects-v2-item/restored": { /** - * Remove interaction restrictions from your public repositories - * @description Removes any interaction restrictions from your public repositories. + * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). + * + * For activity relating to a project (instead of an item on a project), see the `projects_v2` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. + * + * To install this event on a GitHub App, the app must have at least read-level access for the organization projects permission. + * + * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). + * @description An archived item on an organization project was restored from the archive. For more information, see "[Archiving items from your project](https://docs.github.com/issues/planning-and-tracking-with-projects/managing-items-in-your-project/archiving-items-from-your-project)." */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example project-v2-item */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-projects-v2-item-restored"]; + }; + }; responses: { - /** @description Response */ - 204: never; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "issues/list-for-authenticated-user": { + public: { /** - * List user account issues assigned to the authenticated user - * @description List issues across owned and member repositories assigned to the authenticated user. + * This event occurs when repository visibility changes from private to public. For more information, see "[Setting repository visibility](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/setting-repository-visibility)." * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. */ parameters?: { - /** @description Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. */ - /** @description Indicates the state of the issues to return. */ - /** @description What to sort results by. */ - query?: { - filter?: "assigned" | "created" | "mentioned" | "subscribed" | "repos" | "all"; - state?: "open" | "closed" | "all"; - sort?: "created" | "updated" | "comments"; + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["issue"])[]; - }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-public"]; }; - 304: components["responses"]["not_modified"]; - 404: components["responses"]["not_found"]; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "users/list-public-ssh-keys-for-authenticated-user": { + "pull-request/assigned": { /** - * List public SSH keys for the authenticated user - * @description Lists the public SSH keys for the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A pull request was assigned to a user. */ - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["key"])[]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-assigned"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "users/create-public-ssh-key-for-authenticated-user": { + "pull-request/auto-merge-disabled": { /** - * Create a public SSH key for the authenticated user - * @description Adds a public SSH key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description Auto merge was disabled for a pull request. For more information, see "[Automatically merging a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request)." */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; requestBody: { content: { - "application/json": { - /** @description A descriptive name for the new key. */ - title?: string; - /** @description The public SSH key to add to your GitHub account. */ - key: string; - }; + "application/json": components["schemas"]["webhook-pull-request-auto-merge-disabled"]; }; }; responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["key"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "users/get-public-ssh-key-for-authenticated-user": { + "pull-request/auto-merge-enabled": { /** - * Get a public SSH key for the authenticated user - * @description View extended details for a single public SSH key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description Auto merge was enabled for a pull request. For more information, see "[Automatically merging a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request)." */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["key"]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-auto-merge-enabled"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "users/delete-public-ssh-key-for-authenticated-user": { + "pull-request/closed": { /** - * Delete a public SSH key for the authenticated user - * @description Removes a public SSH key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A pull request was closed. If `merged` is false in the webhook payload, the pull request was closed with unmerged commits. If `merged` is true in the webhook payload, the pull request was merged. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-closed"]; + }; + }; responses: { - /** @description Response */ - 204: never; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "apps/list-subscriptions-for-authenticated-user": { + "pull-request/converted-to-draft": { /** - * List subscriptions for the authenticated user - * @description Lists the active subscriptions for the authenticated user. You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. . OAuth Apps must authenticate using an [OAuth token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/). + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A pull request was converted to a draft. For more information, see "[Changing the stage of a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request)." */ - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["user-marketplace-purchase"])[]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-converted-to-draft"]; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 404: components["responses"]["not_found"]; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "apps/list-subscriptions-for-authenticated-user-stubbed": { + "pull-request/demilestoned": { /** - * List subscriptions for the authenticated user (stubbed) - * @description Lists the active subscriptions for the authenticated user. You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. . OAuth Apps must authenticate using an [OAuth token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/). + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A pull request was removed from a milestone. */ - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["user-marketplace-purchase"])[]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; }; - }; - "orgs/list-memberships-for-authenticated-user": { - /** List organization memberships for the authenticated user */ - parameters?: { - /** @description Indicates the state of the memberships to return. If not specified, the API returns both active and pending memberships. */ - query?: { - state?: "active" | "pending"; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-demilestoned"]; }; }; responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["org-membership"])[]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "orgs/get-membership-for-authenticated-user": { - /** Get an organization membership for the authenticated user */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["org-membership"]; - }; + "pull-request/edited": { + /** + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description The title or body of a pull request was edited. + */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; }; - }; - "orgs/update-membership-for-authenticated-user": { - /** Update an organization membership for the authenticated user */ requestBody: { content: { - "application/json": { - /** - * @description The state that the membership should be in. Only `"active"` will be accepted. - * @enum {string} - */ - state: "active"; - }; + "application/json": components["schemas"]["webhook-pull-request-edited"]; }; }; responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["org-membership"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "migrations/list-for-authenticated-user": { + "pull-request/labeled": { /** - * List user migrations - * @description Lists all migrations a user has started. + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A label was added to a pull request. */ - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["migration"])[]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-labeled"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "migrations/start-for-authenticated-user": { + "pull-request/locked": { /** - * Start a user migration - * @description Initiates the generation of a user migration archive. + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description Conversation on a pull request was locked. For more information, see "[Locking conversations](https://docs.github.com/communities/moderating-comments-and-conversations/locking-conversations)." */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; requestBody: { content: { - "application/json": { - /** @description Lock the repositories being migrated at the start of the migration */ - lock_repositories?: boolean; - /** @description Indicates whether metadata should be excluded and only git source should be included for the migration. */ - exclude_metadata?: boolean; - /** @description Indicates whether the repository git data should be excluded from the migration. */ - exclude_git_data?: boolean; - /** @description Do not include attachments in the migration */ - exclude_attachments?: boolean; - /** @description Do not include releases in the migration */ - exclude_releases?: boolean; - /** @description Indicates whether projects owned by the organization or users should be excluded. */ - exclude_owner_projects?: boolean; - /** - * @description Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags). - * @default false - */ - org_metadata_only?: boolean; - /** @description Exclude attributes from the API response to improve performance */ - exclude?: ("repositories")[]; - repositories: (string)[]; - }; + "application/json": components["schemas"]["webhook-pull-request-locked"]; }; }; responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["migration"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "migrations/get-status-for-authenticated-user": { + "pull-request/milestoned": { /** - * Get a user migration status - * @description Fetches a single user migration. The response includes the `state` of the migration, which can be one of the following values: + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. * - * * `pending` - the migration hasn't started yet. - * * `exporting` - the migration is in progress. - * * `exported` - the migration finished successfully. - * * `failed` - the migration failed. + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. * - * Once the migration has been `exported` you can [download the migration archive](https://docs.github.com/rest/reference/migrations#download-a-user-migration-archive). + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A pull request was added to a milestone. */ parameters?: { - query?: { - exclude?: (string)[]; + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["migration"]; - }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-milestoned"]; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "migrations/get-archive-for-authenticated-user": { + "pull-request/opened": { /** - * Download a user migration archive - * @description Fetches the URL to download the migration archive as a `tar.gz` file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects: + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. * - * * attachments - * * bases - * * commit\_comments - * * issue\_comments - * * issue\_events - * * issues - * * milestones - * * organizations - * * projects - * * protected\_branches - * * pull\_request\_reviews - * * pull\_requests - * * releases - * * repositories - * * review\_comments - * * schema - * * users + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A pull request was created + */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-opened"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; + }; + "pull-request/ready-for-review": { + /** + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. * - * The archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data. + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A draft pull request was marked as ready for review. For more information, see "[Changing the stage of a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request)." */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-ready-for-review"]; + }; + }; responses: { - /** @description Response */ - 302: never; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "migrations/delete-archive-for-authenticated-user": { + "pull-request/reopened": { /** - * Delete a user migration archive - * @description Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://docs.github.com/rest/reference/migrations#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/reference/migrations#get-a-user-migration-status) endpoints, will continue to be available even after an archive is deleted. + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments,or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A previously closed pull request was reopened. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-reopened"]; + }; + }; responses: { - /** @description Response */ - 204: never; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "migrations/unlock-repo-for-authenticated-user": { + "pull-request-review-comment/created": { /** - * Unlock a user repository - * @description Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/reference/migrations#start-a-user-migration). Once the migration is complete you can unlock each repository to begin using it again or [delete the repository](https://docs.github.com/rest/reference/repos#delete-a-repository) if you no longer need the source data. Returns a status of `404 Not Found` if the repository is not locked. + * This event occurs when there is activity relating to a pull request review comment. A pull request review comment is a comment on a pull request's diff. For more information, see "[Commenting on a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)." For information about the APIs to manage pull request review comments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreviewcomment) or "[Pull request review comments](https://docs.github.com/rest/pulls/comments)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request comments, or pull request review threads, use the `pull_request_review`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A comment on a pull request diff was created. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-review-comment-created"]; + }; + }; responses: { - /** @description Response */ - 204: never; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "migrations/list-repos-for-authenticated-user": { + "pull-request-review-comment/deleted": { /** - * List repositories for a user migration - * @description Lists all the repositories for this user migration. + * This event occurs when there is activity relating to a pull request review comment. A pull request review comment is a comment on a pull request's diff. For more information, see "[Commenting on a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)." For information about the APIs to manage pull request review comments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreviewcomment) or "[Pull request review comments](https://docs.github.com/rest/pulls/comments)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request comments, or pull request review threads, use the `pull_request_review`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A comment on a pull request diff was deleted. */ - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["minimal-repository"])[]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-review-comment-deleted"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "orgs/list-for-authenticated-user": { + "pull-request-review-comment/edited": { /** - * List organizations for the authenticated user - * @description List organizations for the authenticated user. + * This event occurs when there is activity relating to a pull request review comment. A pull request review comment is a comment on a pull request's diff. For more information, see "[Commenting on a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)." For information about the APIs to manage pull request review comments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreviewcomment) or "[Pull request review comments](https://docs.github.com/rest/pulls/comments)" in the REST API documentation. * - * **OAuth scope requirements** + * For activity related to pull request reviews, pull request comments, or pull request review threads, use the `pull_request_review`, `issue_comment`, or `pull_request_review_thread` events instead. * - * This only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with `read:org` scope, you can publicize your organization membership with `user` scope, etc.). Therefore, this API requires at least `user` or `read:org` scope. OAuth requests with insufficient scope receive a `403 Forbidden` response. + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description The content of a comment on a pull request diff was changed. */ - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["organization-simple"])[]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-review-comment-edited"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "packages/list-packages-for-authenticated-user": { + "pull-request-review/dismissed": { /** - * List packages for the authenticated user's namespace - * @description Lists packages owned by the authenticated user within the user's namespace. + * This event occurs when there is activity relating to a pull request review. A pull request review is a group of pull request review comments in addition to a body comment and a state. For more information, see "[About pull request reviews](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)." For information about the APIs to manage pull request reviews, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreview) or "[Pull request reviews](https://docs.github.com/rest/pulls/reviews)" in the REST API documentation. * - * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. - * If `package_type` is not `container`, your token must also include the `repo` scope. + * For activity related to pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A review on a pull request was dismissed. */ - parameters: { - /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ - query: { - package_type: "npm" | "maven" | "rubygems" | "docker" | "nuget" | "container"; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": (components["schemas"]["package"])[]; - }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-review-dismissed"]; }; }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; - "packages/get-package-for-authenticated-user": { + "pull-request-review/edited": { /** - * Get a package for the authenticated user - * @description Gets a specific package for a package owned by the authenticated user. + * This event occurs when there is activity relating to a pull request review. A pull request review is a group of pull request review comments in addition to a body comment and a state. For more information, see "[About pull request reviews](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)." For information about the APIs to manage pull request reviews, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreview) or "[Pull request reviews](https://docs.github.com/rest/pulls/reviews)" in the REST API documentation. * - * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. - * If `package_type` is not `container`, your token must also include the `repo` scope. + * For activity related to pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description The body comment on a pull request review was edited. */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package"]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-review-edited"]; }; }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; - "packages/delete-package-for-authenticated-user": { + "pull-request/review-request-removed": { /** - * Delete a package for the authenticated user - * @description Deletes a package owned by the authenticated user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. * - * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scopes. - * If `package_type` is not `container`, your token must also include the `repo` scope. + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A request for review by a person or team was removed from a pull request. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-review-request-removed"]; + }; + }; responses: { - /** @description Response */ - 204: never; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "packages/restore-package-for-authenticated-user": { + "pull-request/review-requested": { /** - * Restore a package for the authenticated user - * @description Restores a package owned by the authenticated user. + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. * - * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. If `package_type` is not `container`, your token must also include the `repo` scope. + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description Review by a person or team was requested for a pull request. For more information, see "[Requesting a pull request review](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/requesting-a-pull-request-review)." */ parameters?: { - /** @description package token */ - query?: { - token?: string; + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-review-requested"]; }; }; responses: { - /** @description Response */ - 204: never; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "packages/get-all-package-versions-for-package-owned-by-authenticated-user": { + "pull-request-review/submitted": { /** - * List package versions for a package owned by the authenticated user - * @description Lists package versions for a package owned by the authenticated user. + * This event occurs when there is activity relating to a pull request review. A pull request review is a group of pull request review comments in addition to a body comment and a state. For more information, see "[About pull request reviews](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)." For information about the APIs to manage pull request reviews, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreview) or "[Pull request reviews](https://docs.github.com/rest/pulls/reviews)" in the REST API documentation. * - * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. - * If `package_type` is not `container`, your token must also include the `repo` scope. + * For activity related to pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A review on a pull request was submitted. */ parameters?: { - /** @description The state of the package, either active or deleted. */ - query?: { - state?: "active" | "deleted"; + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": (components["schemas"]["package-version"])[]; - }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-review-submitted"]; }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "packages/get-package-version-for-authenticated-user": { + "pull-request-review-thread/resolved": { /** - * Get a package version for the authenticated user - * @description Gets a specific package version for a package owned by the authenticated user. + * This event occurs when there is activity relating to a comment thread on a pull request. For more information, see "[About pull request reviews](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)." For information about the APIs to manage pull request review comment threads, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreviewthread) or "[Pull request reviews](https://docs.github.com/rest/pulls/reviews)" in the REST API documentation. * - * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. - * If `package_type` is not `container`, your token must also include the `repo` scope. + * For activity related to pull request review comments, pull request comments, or pull request reviews, use the `pull_request_review_comment`, `issue_comment`, or `pull_request_review` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A comment thread on a pull request was marked as resolved. */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package-version"]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-review-thread-resolved"]; }; }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; - "packages/delete-package-version-for-authenticated-user": { + "pull-request-review-thread/unresolved": { /** - * Delete a package version for the authenticated user - * @description Deletes a specific package version for a package owned by the authenticated user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * This event occurs when there is activity relating to a comment thread on a pull request. For more information, see "[About pull request reviews](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)." For information about the APIs to manage pull request reviews, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreviewthread) or "[Pull request review comments](https://docs.github.com/rest/pulls/comments)" in the REST API documentation. * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:delete` scopes. - * If `package_type` is not `container`, your token must also include the `repo` scope. + * For activity related to pull request review comments, pull request comments, or pull request reviews, use the `pull_request_review_comment`, `issue_comment`, or `pull_request_review` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A previously resolved comment thread on a pull request was marked as unresolved. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-review-thread-unresolved"]; + }; + }; responses: { - /** @description Response */ - 204: never; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "packages/restore-package-version-for-authenticated-user": { + "pull-request/synchronize": { /** - * Restore a package version for the authenticated user - * @description Restores a package version owned by the authenticated user. + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. * - * You can restore a deleted package version under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. * - * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. If `package_type` is not `container`, your token must also include the `repo` scope. + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A pull request's head branch was updated. For example, the head branch was updated from the base branch, new commits were pushed to the head branch, or the base branch was changed. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-synchronize"]; + }; + }; responses: { - /** @description Response */ - 204: never; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "projects/create-for-authenticated-user": { + "pull-request/unassigned": { /** - * Create a user project - * @description Creates a user project board. Returns a `410 Gone` status if the user does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A user was unassigned from a pull request. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; requestBody: { content: { - "application/json": { - /** @description Name of the project */ - name: string; - /** @description Body of the project */ - body?: OneOf<[string, null]>; - }; + "application/json": components["schemas"]["webhook-pull-request-unassigned"]; }; }; responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["project"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed_simple"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "users/list-public-emails-for-authenticated-user": { + "pull-request/unlabeled": { /** - * List public email addresses for the authenticated user - * @description Lists your publicly visible email address, which you can set with the [Set primary email visibility for the authenticated user](https://docs.github.com/rest/reference/users#set-primary-email-visibility-for-the-authenticated-user) endpoint. This endpoint is accessible with the `user:email` scope. + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A label was removed from a pull request. */ - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["email"])[]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-unlabeled"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "repos/list-for-authenticated-user": { + "pull-request/unlocked": { /** - * List repositories for the authenticated user - * @description Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. * - * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description Conversation on a pull request was unlocked. For more information, see "[Locking conversations](https://docs.github.com/communities/moderating-comments-and-conversations/locking-conversations)." */ parameters?: { - /** @description Limit results to repositories with the specified visibility. */ - /** - * @description Comma-separated list of values. Can include: - * \* `owner`: Repositories that are owned by the authenticated user. - * \* `collaborator`: Repositories that the user has been added to as a collaborator. - * \* `organization_member`: Repositories that the user has access to through being a member of an organization. This includes every repository on every team that the user is on. - */ - /** @description Limit results to repositories of the specified type. Will cause a `422` error if used in the same request as **visibility** or **affiliation**. */ - /** @description The property to sort the results by. */ - /** @description The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ - query?: { - visibility?: "all" | "public" | "private"; - affiliation?: string; - type?: "all" | "owner" | "public" | "private" | "member"; - sort?: "created" | "updated" | "pushed" | "full_name"; - direction?: "asc" | "desc"; + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": (components["schemas"]["repository"])[]; - }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-unlocked"]; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "repos/create-for-authenticated-user": { + push: { /** - * Create a repository for the authenticated user - * @description Creates a new repository for the authenticated user. - * - * **OAuth scope requirements** + * This event occurs when a commit or tag is pushed. * - * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. * - * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. - * * `repo` scope to create a private repository. + * **Note**: An event will not be created when more than three tags are pushed at once. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; requestBody: { content: { - "application/json": { - /** @description The name of the repository. */ - name: string; - /** @description A short description of the repository. */ - description?: string; - /** @description A URL with more information about the repository. */ - homepage?: string; - /** - * @description Whether the repository is private. - * @default false - */ - private?: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues?: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects?: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki?: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions?: boolean; - /** @description The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. */ - team_id?: number; - /** - * @description Whether the repository is initialized with a minimal README. - * @default false - */ - auto_init?: boolean; - /** @description The desired language or platform to apply to the .gitignore. */ - gitignore_template?: string; - /** @description The license keyword of the open source license for this repository. */ - license_template?: string; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow Auto-merge to be used on pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads?: boolean; - /** - * @description Whether this repository acts as a template that can be used to generate new repositories. - * @default false - */ - is_template?: boolean; - }; + "application/json": components["schemas"]["webhook-push"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; + }; + "registry-package/published": { + /** Registry package published */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-registry-package-published"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; + }; + "registry-package/updated": { + /** Registry package updated */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-registry-package-updated"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; + }; + "release/created": { + /** Release created */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-release-created"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; + }; + "release/deleted": { + /** Release deleted */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-release-deleted"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; + }; + "release/edited": { + /** Release edited */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-release-edited"]; }; }; responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["repository"]; - }; - }; - 304: components["responses"]["not_modified"]; - 400: components["responses"]["bad_request"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "repos/list-invitations-for-authenticated-user": { - /** - * List repository invitations for the authenticated user - * @description When authenticating as a user, this endpoint will list all currently open repository invitations for that user. - */ + "release/prereleased": { + /** Release prereleased */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-release-prereleased"]; + }; + }; responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["repository-invitation"])[]; - }; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; + }; + "release/published": { + /** Release published */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-release-published"]; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "repos/decline-invitation-for-authenticated-user": { - /** Decline a repository invitation */ + "release/released": { + /** Release released */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-release-released"]; + }; + }; responses: { - /** @description Response */ - 204: never; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "repos/accept-invitation-for-authenticated-user": { - /** Accept a repository invitation */ + "release/unpublished": { + /** Release unpublished */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-release-unpublished"]; + }; + }; responses: { - /** @description Response */ - 204: never; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "users/list-ssh-signing-keys-for-authenticated-user": { + "repository/archived": { /** - * List SSH signing keys for the authenticated user - * @description Lists the SSH signing keys for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." + * This event occurs when there is activity relating to repositories. + * + * For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) and [the REST API documentation](https://docs.github.com/rest/repos). + * + * To install this event on a GitHub App, the app must have at least read-level access for the repository metadata permission. + * @description A repository was archived. */ - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["ssh-signing-key"])[]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-repository-archived"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "users/create-ssh-signing-key-for-authenticated-user": { + "repository/created": { /** - * Create a SSH signing key for the authenticated user - * @description Creates an SSH signing key for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `write:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." + * This event occurs when there is activity relating to repositories. + * + * For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) and [the REST API documentation](https://docs.github.com/rest/repos). + * + * To install this event on a GitHub App, the app must have at least read-level access for the repository metadata permission. + * @description A repository was created. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; requestBody: { content: { - "application/json": { - /** @description A descriptive name for the new key. */ - title?: string; - /** @description The public SSH key to add to your GitHub account. For more information, see "[Checking for existing SSH keys](https://docs.github.com/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys)." */ - key: string; - }; + "application/json": components["schemas"]["webhook-repository-created"]; }; }; responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["ssh-signing-key"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "users/get-ssh-signing-key-for-authenticated-user": { + "repository/deleted": { /** - * Get an SSH signing key for the authenticated user - * @description Gets extended details for an SSH signing key. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." + * This event occurs when there is activity relating to repositories. + * + * For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) and [the REST API documentation](https://docs.github.com/rest/repos). + * + * To install this event on a GitHub App, the app must have at least read-level access for the repository metadata permission. + * @description A repository was deleted. GitHub Apps and repository webhooks will not receive this event. */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["ssh-signing-key"]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-repository-deleted"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "users/delete-ssh-signing-key-for-authenticated-user": { + "repository-dispatch/sample.collected": { /** - * Delete an SSH signing key for the authenticated user - * @description Deletes an SSH signing key from the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `admin:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." + * This event occurs when a GitHub App sends a `POST` request to `/repos/{owner}/{repo}/dispatches`. For more information, see [the REST API documentation for creating a repository dispatch event](https://docs.github.com/rest/repos/repos#create-a-repository-dispatch-event). + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. + * @description The `event_type` that was specified in the `POST /repos/{owner}/{repo}/dispatches` request body. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-repository-dispatch-sample"]; + }; + }; responses: { - /** @description Response */ - 204: never; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "activity/list-repos-starred-by-authenticated-user": { + "repository/edited": { /** - * List repositories starred by the authenticated user - * @description Lists repositories the authenticated user has starred. + * This event occurs when there is activity relating to repositories. * - * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. + * For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) and [the REST API documentation](https://docs.github.com/rest/repos). + * + * To install this event on a GitHub App, the app must have at least read-level access for the repository metadata permission. + * @description The topics, default branch, description, or homepage of a repository was changed. */ - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["repository"])[]; - "application/vnd.github.v3.star+json": (components["schemas"]["starred-repository"])[]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-repository-edited"]; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; }; - }; - "activity/check-repo-is-starred-by-authenticated-user": { - /** Check if a repository is starred by the authenticated user */ responses: { - /** @description Response if this repository is starred by you */ - 204: never; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - /** @description Not Found if this repository is not starred by you */ - 404: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; + }; + "repository-import": { + /** This event occurs when a repository is imported to GitHub. For more information, see "[Importing a repository with GitHub Importer](https://docs.github.com/get-started/importing-your-projects-to-github/importing-source-code-to-github/importing-a-repository-with-github-importer)." For more information about the API to manage imports, see [the REST API documentation](https://docs.github.com/rest/migrations/source-imports). */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-repository-import"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; - "activity/star-repo-for-authenticated-user": { + "repository/privatized": { /** - * Star a repository for the authenticated user - * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * This event occurs when there is activity relating to repositories. + * + * For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) and [the REST API documentation](https://docs.github.com/rest/repos). + * + * To install this event on a GitHub App, the app must have at least read-level access for the repository metadata permission. + * @description The visibility of a repository was changed to `private`. */ - responses: { - /** @description Response */ - 204: never; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-repository-privatized"]; + }; }; - }; - "activity/unstar-repo-for-authenticated-user": { - /** Unstar a repository for the authenticated user */ responses: { - /** @description Response */ - 204: never; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "activity/list-watched-repos-for-authenticated-user": { + "repository/publicized": { /** - * List repositories watched by the authenticated user - * @description Lists repositories the authenticated user is watching. + * This event occurs when there is activity relating to repositories. + * + * For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) and [the REST API documentation](https://docs.github.com/rest/repos). + * + * To install this event on a GitHub App, the app must have at least read-level access for the repository metadata permission. + * @description The visibility of a repository was changed to `public`. */ - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["minimal-repository"])[]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-repository-publicized"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "teams/list-for-authenticated-user": { + "repository/renamed": { /** - * List teams for the authenticated user - * @description List all of the teams across all of the organizations to which the authenticated user belongs. This method requires `user`, `repo`, or `read:org` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) when authenticating via [OAuth](https://docs.github.com/apps/building-oauth-apps/). + * This event occurs when there is activity relating to repositories. + * + * For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) and [the REST API documentation](https://docs.github.com/rest/repos). + * + * To install this event on a GitHub App, the app must have at least read-level access for the repository metadata permission. + * @description The name of a repository was changed. */ - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["team-full"])[]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-repository-renamed"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "users/list": { + "repository/transferred": { /** - * List users - * @description Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts. + * This event occurs when there is activity relating to repositories. * - * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of users. + * For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) and [the REST API documentation](https://docs.github.com/rest/repos). + * + * To install this event on a GitHub App, the app must have at least read-level access for the repository metadata permission. + * @description Ownership of the repository was transferred to a user or organization account. */ - responses: { - /** @description Response */ - 200: { - headers: { - /** @example ; rel="next" */ - Link?: string; - }; - content: { - "application/json": (components["schemas"]["simple-user"])[]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 304: components["responses"]["not_modified"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-repository-transferred"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "users/get-by-username": { + "repository/unarchived": { /** - * Get a user - * @description Provides publicly available information about someone with a GitHub account. - * - * GitHub Apps with the `Plan` user permission can use this endpoint to retrieve information about a user's GitHub plan. The GitHub App must be authenticated as a user. See "[Identifying and authorizing users for GitHub Apps](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)" for details about authentication. For an example response, see 'Response with GitHub plan information' below" + * This event occurs when there is activity relating to repositories. * - * The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be “public” which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/overview/resources-in-the-rest-api#authentication). + * For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) and [the REST API documentation](https://docs.github.com/rest/repos). * - * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see "[Emails API](https://docs.github.com/rest/reference/users#emails)". + * To install this event on a GitHub App, the app must have at least read-level access for the repository metadata permission. + * @description A previously archived repository was unarchived. */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["private-user"] | components["schemas"]["public-user"]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-repository-unarchived"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "activity/list-events-for-authenticated-user": { + "repository-vulnerability-alert/create": { /** - * List events for the authenticated user - * @description If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events. + * This event occurs when there is activity relating to a security vulnerability alert in a repository. + * + * **Note**: This event is deprecated. Use the `dependabot_alert` event instead. + * @description A repository vulnerability alert was created. */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": (components["schemas"]["event"])[]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-repository-vulnerability-alert-create"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; - "activity/list-org-events-for-authenticated-user": { + "repository-vulnerability-alert/dismiss": { /** - * List organization events for the authenticated user - * @description This is the user's organization dashboard. You must be authenticated as the user to view this. + * This event occurs when there is activity relating to a security vulnerability alert in a repository. + * + * **Note**: This event is deprecated. Use the `dependabot_alert` event instead. + * @description A repository vulnerability alert was dismissed. */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": (components["schemas"]["event"])[]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; }; - }; - "activity/list-public-events-for-user": { - /** List public events for a user */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": (components["schemas"]["event"])[]; - }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-repository-vulnerability-alert-dismiss"]; }; }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; - "users/list-followers-for-user": { + "repository-vulnerability-alert/reopen": { /** - * List followers of a user - * @description Lists the people following the specified user. + * This event occurs when there is activity relating to a security vulnerability alert in a repository. + * + * **Note**: This event is deprecated. Use the `dependabot_alert` event instead. + * @description A previously dismissed or resolved repository vulnerability alert was reopened. */ - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["simple-user"])[]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-repository-vulnerability-alert-reopen"]; }; }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; - "users/list-following-for-user": { + "repository-vulnerability-alert/resolve": { /** - * List the people a user follows - * @description Lists the people who the specified user follows. + * This event occurs when there is activity relating to a security vulnerability alert in a repository. + * + * **Note**: This event is deprecated. Use the `dependabot_alert` event instead. + * @description A repository vulnerability alert was marked as resolved. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-repository-vulnerability-alert-resolve"]; + }; + }; responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["simple-user"])[]; - }; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; + }; + "secret-scanning-alert/created": { + /** + * This event occurs when there is activity relating to a secret scanning alert. + * + * For more information about secret scanning, see "[About secret scanning](https://docs.github.com/code-security/secret-scanning/about-secret-scanning)." For information about the API to manage secret scanning alerts, see [the REST API documentation](https://docs.github.com/rest/secret-scanning). + * + * For activity relating to secret scanning alert locations, see the `secret_scanning_alert_location` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level access for the secret scanning alerts permission. + * @description A secret scanning alert was created. + */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-secret-scanning-alert-created"]; }; }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; - "users/check-following-for-user": { - /** Check if a user follows another user */ - parameters: { - path: { - target_user: string; + "secret-scanning-alert-location/created": { + /** + * This event occurs when there is activity relating to the locations of a secret in a secret scanning alert. + * + * For more information about secret scanning, see "[About secret scanning](https://docs.github.com/code-security/secret-scanning/about-secret-scanning)." For information about the API to manage secret scanning alerts, see [the REST API documentation](https://docs.github.com/rest/secret-scanning). + * + * For activity relating to secret scanning alerts, see the `secret_scanning_alert` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level access for the secret scanning alerts permission. + * @description A new instance of a previously detected secret was detected in a repository, and the location of the secret was added to the existing alert. + */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-secret-scanning-alert-location-created"]; + "application/x-www-form-urlencoded": components["schemas"]["webhook-secret-scanning-alert-location-created-form-encoded"]; }; }; responses: { - /** @description if the user follows the target user */ - 204: never; - /** @description if the user does not follow the target user */ - 404: never; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "gists/list-for-user": { + "secret-scanning-alert/reopened": { /** - * List gists for a user - * @description Lists public gists for the specified user: + * This event occurs when there is activity relating to a secret scanning alert. + * + * For more information about secret scanning, see "[About secret scanning](https://docs.github.com/code-security/secret-scanning/about-secret-scanning)." For information about the API to manage secret scanning alerts, see [the REST API documentation](https://docs.github.com/rest/secret-scanning). + * + * For activity relating to secret scanning alert locations, see the `secret_scanning_alert_location` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level access for the secret scanning alerts permission. + * @description A previously closed secret scanning alert was reopened. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-secret-scanning-alert-reopened"]; + }; + }; responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["base-gist"])[]; - }; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; + }; + "secret-scanning-alert/resolved": { + /** + * This event occurs when there is activity relating to a secret scanning alert. + * + * For more information about secret scanning, see "[About secret scanning](https://docs.github.com/code-security/secret-scanning/about-secret-scanning)." For information about the API to manage secret scanning alerts, see [the REST API documentation](https://docs.github.com/rest/secret-scanning). + * + * For activity relating to secret scanning alert locations, see the `secret_scanning_alert_location` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level access for the secret scanning alerts permission. + * @description A secret scanning alert was closed. + */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-secret-scanning-alert-resolved"]; }; - 422: components["responses"]["validation_failed"]; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "users/list-gpg-keys-for-user": { + "secret-scanning-alert/revoked": { /** - * List GPG keys for a user - * @description Lists the GPG keys for a user. This information is accessible by anyone. + * This event occurs when there is activity relating to a secret scanning alert. + * + * For more information about secret scanning, see "[About secret scanning](https://docs.github.com/code-security/secret-scanning/about-secret-scanning)." For information about the API to manage secret scanning alerts, see [the REST API documentation](https://docs.github.com/rest/secret-scanning). + * + * For activity relating to secret scanning alert locations, see the `secret_scanning_alert_location` event. + * + * In order to install this event on a GitHub App, the app must have at least read-level access for the secret scanning alerts permission. + * @description A secret scanning alert was marked as revoked. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-secret-scanning-alert-revoked"]; + }; + }; responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["gpg-key"])[]; - }; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; + }; + "security-advisory/performed": { + /** + * This event occurs when there is activity relating to a security advisory that was reviewed by GitHub. A GitHub-reviewed security advisory provides information about security-related vulnerabilities in software on GitHub. + * + * For more information about security advisories, see "[About GitHub Security Advisories for repositories](https://docs.github.com/code-security/repository-security-advisories/about-github-security-advisories-for-repositories)." For information about the API to manage security advisories, see "[SecurityAdvisory](https://docs.github.com/graphql/reference/objects#securityadvisory)" in the GraphQL documentation. + * + * GitHub Dependabot alerts are also powered by the security advisory dataset. For more information, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." + * @description A security advisory was published to the GitHub community, the metadata or description of a security advisory was changed, or the security advisory was withdrawn. + */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-security-advisory-performed"]; }; }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; - "users/get-context-for-user": { + "security-advisory/published": { /** - * Get contextual information for a user - * @description Provides hovercard information when authenticated through basic auth or OAuth with the `repo` scope. You can find out more about someone in relation to their pull requests, issues, repositories, and organizations. + * This event occurs when there is activity relating to a security advisory that was reviewed by GitHub. A GitHub-reviewed security advisory provides information about security-related vulnerabilities in software on GitHub. * - * The `subject_type` and `subject_id` parameters provide context for the person's hovercard, which returns more information than without the parameters. For example, if you wanted to find out more about `octocat` who owns the `Spoon-Knife` repository via cURL, it would look like this: + * For more information about security advisories, see "[About GitHub Security Advisories for repositories](https://docs.github.com/code-security/repository-security-advisories/about-github-security-advisories-for-repositories)." For information about the API to manage security advisories, see "[SecurityAdvisory](https://docs.github.com/graphql/reference/objects#securityadvisory)" in the GraphQL documentation. * - * ```shell - * curl -u username:token - * https://api.github.com/users/octocat/hovercard?subject_type=repository&subject_id=1300192 - * ``` + * GitHub Dependabot alerts are also powered by the security advisory dataset. For more information, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." + * @description A security advisory was published to the GitHub community. */ parameters?: { - /** @description Identifies which additional information you'd like to receive about the person's hovercard. Can be `organization`, `repository`, `issue`, `pull_request`. **Required** when using `subject_id`. */ - /** @description Uses the ID for the `subject_type` you specified. **Required** when using `subject_type`. */ - query?: { - subject_type?: "organization" | "repository" | "issue" | "pull_request"; - subject_id?: string; + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["hovercard"]; - }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-security-advisory-published"]; }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "apps/get-user-installation": { + "security-advisory/updated": { /** - * Get a user installation for the authenticated app - * @description Enables an authenticated GitHub App to find the user’s installation information. + * This event occurs when there is activity relating to a security advisory that was reviewed by GitHub. A GitHub-reviewed security advisory provides information about security-related vulnerabilities in software on GitHub. * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * For more information about security advisories, see "[About GitHub Security Advisories for repositories](https://docs.github.com/code-security/repository-security-advisories/about-github-security-advisories-for-repositories)." For information about the API to manage security advisories, see "[SecurityAdvisory](https://docs.github.com/graphql/reference/objects#securityadvisory)" in the GraphQL documentation. + * + * GitHub Dependabot alerts are also powered by the security advisory dataset. For more information, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." + * @description The metadata or description of a security advisory was changed, or the security advisory was withdrawn. */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["installation"]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-security-advisory-updated"]; }; }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; - "users/list-public-keys-for-user": { + "security-advisory/withdrawn": { /** - * List public keys for a user - * @description Lists the _verified_ public SSH keys for a user. This is accessible by anyone. + * This event occurs when there is activity relating to a security advisory that was reviewed by GitHub. A GitHub-reviewed security advisory provides information about security-related vulnerabilities in software on GitHub. + * + * For more information about security advisories, see "[About GitHub Security Advisories for repositories](https://docs.github.com/code-security/repository-security-advisories/about-github-security-advisories-for-repositories)." For information about the API to manage security advisories, see "[SecurityAdvisory](https://docs.github.com/graphql/reference/objects#securityadvisory)" in the GraphQL documentation. + * + * GitHub Dependabot alerts are also powered by the security advisory dataset. For more information, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." + * @description A previously published security advisory was withdrawn. */ - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["key-simple"])[]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-security-advisory-withdrawn"]; }; }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; - "orgs/list-for-user": { + "security-and-analysis": { /** - * List organizations for a user - * @description List [public organization memberships](https://docs.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user. + * This event occurs when code security and analysis features are enabled or disabled for a repository. For more information, see "[GitHub security features](https://docs.github.com/code-security/getting-started/github-security-features)." * - * This method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List organizations for the authenticated user](https://docs.github.com/rest/reference/orgs#list-organizations-for-the-authenticated-user) API instead. + * To install this event on a GitHub App, the app must have at least read-level access for the "Administration" repository permission. */ - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["organization-simple"])[]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-security-and-analysis"]; }; }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; - "packages/list-packages-for-user": { + "sponsorship/cancelled": { /** - * List packages for a user - * @description Lists all packages in a user's namespace for which the requesting user has access. + * This event occurs when there is activity relating to a sponsorship listing. For more information, see "[About GitHub Sponsors](https://docs.github.com/sponsors/getting-started-with-github-sponsors/about-github-sponsors)." For information about the API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#sponsorship). * - * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. - * If `package_type` is not `container`, your token must also include the `repo` scope. + * You can only create a sponsorship webhook on GitHub.com. For more information, see "[Configuring webhooks for events in your sponsored account](https://docs.github.com/sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account)." + * @description A sponsorship was cancelled and the last billing cycle has ended. + * + * This event is only sent when a recurring (monthly) sponsorship is cancelled; it is not sent for one-time sponsorships. */ - parameters: { - /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ - query: { - package_type: "npm" | "maven" | "rubygems" | "docker" | "nuget" | "container"; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": (components["schemas"]["package"])[]; - }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-sponsorship-cancelled"]; }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "packages/get-package-for-user": { + "sponsorship/created": { /** - * Get a package for a user - * @description Gets a specific package metadata for a public package owned by a user. + * This event occurs when there is activity relating to a sponsorship listing. For more information, see "[About GitHub Sponsors](https://docs.github.com/sponsors/getting-started-with-github-sponsors/about-github-sponsors)." For information about the API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#sponsorship). * - * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. - * If `package_type` is not `container`, your token must also include the `repo` scope. + * You can only create a sponsorship webhook on GitHub.com. For more information, see "[Configuring webhooks for events in your sponsored account](https://docs.github.com/sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account)." + * @description A sponsor created a sponsorship for a sponsored account. This event occurs once the payment is successfully processed. */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package"]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-sponsorship-created"]; }; }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; - "packages/delete-package-for-user": { + "sponsorship/edited": { /** - * Delete a package for a user - * @description Deletes an entire package for a user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * This event occurs when there is activity relating to a sponsorship listing. For more information, see "[About GitHub Sponsors](https://docs.github.com/sponsors/getting-started-with-github-sponsors/about-github-sponsors)." For information about the API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#sponsorship). * - * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: - * - If `package_type` is not `container`, your token must also include the `repo` scope. - * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + * You can only create a sponsorship webhook on GitHub.com. For more information, see "[Configuring webhooks for events in your sponsored account](https://docs.github.com/sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account)." + * @description A monthly sponsor changed who can see their sponsorship. If you recognize your sponsors publicly, you may want to update your sponsor recognition to reflect the change when this event occurs. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-sponsorship-edited"]; + }; + }; responses: { - /** @description Response */ - 204: never; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "packages/restore-package-for-user": { + "sponsorship/pending-cancellation": { /** - * Restore a package for a user - * @description Restores an entire package for a user. + * This event occurs when there is activity relating to a sponsorship listing. For more information, see "[About GitHub Sponsors](https://docs.github.com/sponsors/getting-started-with-github-sponsors/about-github-sponsors)." For information about the API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#sponsorship). * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * You can only create a sponsorship webhook on GitHub.com. For more information, see "[Configuring webhooks for events in your sponsored account](https://docs.github.com/sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account)." + * @description A sponsor scheduled a cancellation for their sponsorship. The cancellation will become effective on their next billing date. * - * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: - * - If `package_type` is not `container`, your token must also include the `repo` scope. - * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + * This event is only sent when a recurring (monthly) sponsorship is cancelled; it is not sent for one-time sponsorships. */ parameters?: { - /** @description package token */ - query?: { - token?: string; + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-sponsorship-pending-cancellation"]; }; }; responses: { - /** @description Response */ - 204: never; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "packages/get-all-package-versions-for-package-owned-by-user": { + "sponsorship/pending-tier-change": { /** - * List package versions for a package owned by a user - * @description Lists package versions for a public package owned by a specified user. + * This event occurs when there is activity relating to a sponsorship listing. For more information, see "[About GitHub Sponsors](https://docs.github.com/sponsors/getting-started-with-github-sponsors/about-github-sponsors)." For information about the API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#sponsorship). * - * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. - * If `package_type` is not `container`, your token must also include the `repo` scope. + * You can only create a sponsorship webhook on GitHub.com. For more information, see "[Configuring webhooks for events in your sponsored account](https://docs.github.com/sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account)." + * @description A sponsor scheduled a downgrade to a lower sponsorship tier. The new tier will become effective on their next billing date. */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": (components["schemas"]["package-version"])[]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-sponsorship-pending-tier-change"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "packages/get-package-version-for-user": { + "sponsorship/tier-changed": { /** - * Get a package version for a user - * @description Gets a specific package version for a public package owned by a specified user. + * This event occurs when there is activity relating to a sponsorship listing. For more information, see "[About GitHub Sponsors](https://docs.github.com/sponsors/getting-started-with-github-sponsors/about-github-sponsors)." For information about the API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#sponsorship). * - * At this time, to use this endpoint, you must authenticate using an access token with the `packages:read` scope. - * If `package_type` is not `container`, your token must also include the `repo` scope. + * You can only create a sponsorship webhook on GitHub.com. For more information, see "[Configuring webhooks for events in your sponsored account](https://docs.github.com/sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account)." + * @description A sponsor changed the tier of their sponsorship and the change has taken effect. If a sponsor upgraded their tier, the change took effect immediately. If a sponsor downgraded their tier, the change took effect at the beginning of the sponsor's next billing cycle. */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package-version"]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-sponsorship-tier-changed"]; }; }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; - "packages/delete-package-version-for-user": { + "star/created": { /** - * Delete package version for a user - * @description Deletes a specific package version for a user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * This event occurs when there is activity relating to repository stars. * - * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: - * - If `package_type` is not `container`, your token must also include the `repo` scope. - * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + * For more information about stars, see "[Saving repositories with stars](https://docs.github.com/get-started/exploring-projects-on-github/saving-repositories-with-stars)." For information about the APIs to manage stars, see "[StarredRepositoryConnection](https://docs.github.com/graphql/reference/objects#starredrepositoryconnection)" in the GraphQL documentation and "[Starring](https://docs.github.com/rest/activity/starring)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. + * @description Someone starred a repository. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-star-created"]; + }; + }; responses: { - /** @description Response */ - 204: never; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "packages/restore-package-version-for-user": { + "star/deleted": { /** - * Restore package version for a user - * @description Restores a specific package version for a user. + * This event occurs when there is activity relating to repository stars. * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * For more information about stars, see "[Saving repositories with stars](https://docs.github.com/get-started/exploring-projects-on-github/saving-repositories-with-stars)." For information about the APIs to manage stars, see "[StarredRepositoryConnection](https://docs.github.com/graphql/reference/objects#starredrepositoryconnection)" in the GraphQL documentation and "[Starring](https://docs.github.com/rest/activity/starring)" in the REST API documentation. * - * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: - * - If `package_type` is not `container`, your token must also include the `repo` scope. - * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. + * @description Someone unstarred the repository. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-star-deleted"]; + }; + }; responses: { - /** @description Response */ - 204: never; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "projects/list-for-user": { - /** List user projects */ + status: { + /** + * This event occurs when the status of a Git commit changes. For example, commits can be marked as `error`, `failure`, `pending`, or `success`. For more information, see "[About status checks](https://docs.github.com/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks)." For information about the commit status APIs, see "[Status](https://docs.github.com/graphql/reference/objects#status)" in the GraphQL API documentation or "[Statuses](https://docs.github.com/rest/reference/commits#commit-statuses)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Commit statuses" repository permission. + */ parameters?: { - /** @description Indicates the state of the projects to return. */ - query?: { - state?: "open" | "closed" | "all"; + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-status"]; }; }; responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["project"])[]; - }; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; + }; + "team-add": { + /** Team add */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; - 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-team-add"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; }; }; - "activity/list-received-events-for-user": { - /** - * List events received by the authenticated user - * @description These are events that you've received by watching repos and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public events. - */ + "team/added-to-repository": { + /** Team added to repository */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-team-added-to-repository"]; + }; + }; responses: { - /** @description Response */ - 200: { - content: { - "application/json": (components["schemas"]["event"])[]; - }; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; + }; + "team/created": { + /** Team created */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-team-created"]; }; }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; - "activity/list-received-public-events-for-user": { - /** List public events received by a user */ + "team/deleted": { + /** Team deleted */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-team-deleted"]; + }; + }; responses: { - /** @description Response */ - 200: { - content: { - "application/json": (components["schemas"]["event"])[]; - }; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; + }; + "team/edited": { + /** Team edited */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-team-edited"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; - "repos/list-for-user": { + "team/removed-from-repository": { + /** Team removed from repository */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-team-removed-from-repository"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; + }; + "user/created": { /** - * List repositories for a user - * @description Lists public repositories for the specified user. Note: For GitHub AE, this endpoint will list internal repositories for the specified user. + * This event occurs when there is activity relating to user accounts in an enterprise. + * @description A user account was added to the enterprise. */ parameters?: { - /** @description Limit results to repositories of the specified type. */ - /** @description The property to sort the results by. */ - /** @description The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ - query?: { - type?: "all" | "owner" | "member"; - sort?: "created" | "updated" | "pushed" | "full_name"; - direction?: "asc" | "desc"; + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["minimal-repository"])[]; - }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-user-created"]; }; }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; - "billing/get-github-actions-billing-user": { + "watch/started": { /** - * Get GitHub Actions billing for a user - * @description Gets the summary of the free and paid GitHub Actions minutes used. + * This event occurs when there is activity relating to watching, or subscribing to, a repository. * - * 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](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * For more information about watching, see "[Managing your subscriptions](https://docs.github.com/account-and-profile/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github/managing-your-subscriptions)." For information about the APIs to manage stars, see "[Watching](https://docs.github.com/rest/activity/watching)" in the REST API documentation. * - * Access tokens must have the `user` scope. + * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. + * @description Someone started watching the repository. */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-billing-usage"]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-watch-started"]; }; }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; - "billing/get-github-packages-billing-user": { + "workflow-dispatch": { /** - * Get GitHub Packages billing for a user - * @description Gets the free and paid storage used for GitHub Packages in gigabytes. + * This event occurs when a GitHub Actions workflow is manually triggered. + * For more information, see "[Manually running a workflow](https://docs.github.com/actions/managing-workflow-runs/manually-running-a-workflow)." * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * For activity relating to workflow runs, see the `workflow_run` event. * - * Access tokens must have the `user` scope. + * To install this event on a GitHub App, the app must have at least read-level access for the "Contents" repository permission. */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["packages-billing-usage"]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-workflow-dispatch"]; }; }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; - "billing/get-shared-storage-billing-user": { + "workflow-job/completed": { /** - * Get shared storage billing for a user - * @description Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. + * This event occurs when there is activity relating to a job in a GitHub Actions workflow. * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * For more information, see "[Using jobs in a workflow](https://docs.github.com/actions/using-jobs/using-jobs-in-a-workflow)." For information about the API to manage workflow jobs, see [the REST API documentation](https://docs.github.com/rest/actions/workflow-jobs). * - * Access tokens must have the `user` scope. + * For activity relating to a workflow run instead of a job in a workflow run, see the `workflow_run` event. + * + * To install this event on a GitHub App, the app must have at least read-level access for the Actions metadata permission. + * @description A job in a workflow run finished. This event occurs when a job in a workflow is completed, regardless of whether the job was successful or unsuccessful. */ - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["combined-billing-usage"]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; }; }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-workflow-job-completed"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; - "users/list-ssh-signing-keys-for-user": { + "workflow-job/in-progress": { /** - * List SSH signing keys for a user - * @description Lists the SSH signing keys for a user. This operation is accessible by anyone. + * This event occurs when there is activity relating to a job in a GitHub Actions workflow. + * + * For more information, see "[Using jobs in a workflow](https://docs.github.com/actions/using-jobs/using-jobs-in-a-workflow)." For information about the API to manage workflow jobs, see [the REST API documentation](https://docs.github.com/rest/actions/workflow-jobs). + * + * For activity relating to a workflow run instead of a job in a workflow run, see the `workflow_run` event. + * + * To install this event on a GitHub App, the app must have at least read-level access for the Actions metadata permission. + * @description A job in a workflow run started processing on a runner. */ - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["ssh-signing-key"])[]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-workflow-job-in-progress"]; }; }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; - "activity/list-repos-starred-by-user": { + "workflow-job/queued": { /** - * List repositories starred by a user - * @description Lists repositories a user has starred. + * This event occurs when there is activity relating to a job in a GitHub Actions workflow. * - * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. + * For more information, see "[Using jobs in a workflow](https://docs.github.com/actions/using-jobs/using-jobs-in-a-workflow)." For information about the API to manage workflow jobs, see [the REST API documentation](https://docs.github.com/rest/actions/workflow-jobs). + * + * For activity relating to a workflow run instead of a job in a workflow run, see the `workflow_run` event. + * + * To install this event on a GitHub App, the app must have at least read-level access for the Actions metadata permission. + * @description A job in a workflow run was created. */ - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["starred-repository"])[] | (components["schemas"]["repository"])[]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-workflow-job-queued"]; }; }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; - "activity/list-repos-watched-by-user": { + "workflow-run/completed": { /** - * List repositories watched by a user - * @description Lists repositories a user is watching. + * This event occurs when there is activity relating to a run of a GitHub Actions workflow. + * + * For more information, see "[About workflows](https://docs.github.com/actions/using-workflows/about-workflows)." For information about the APIs to manage workflow runs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#workflowrun) and [the REST API documentation](https://docs.github.com/rest/actions/workflow-runs). + * + * For activity relating to job in a workflow run, see the `workflow_job` event. + * + * To install this event on a GitHub App, the app must have at least read-level access for the Actions or contents metadata permission. + * @description A workflow run finished. This event occurs when a workflow run is completed, regardless of whether the workflow was successful or unsuccessful. */ - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": (components["schemas"]["minimal-repository"])[]; - }; + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-workflow-run-completed"]; }; }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; - "meta/get-zen": { + "workflow-run/in-progress": { /** - * Get the Zen of GitHub - * @description Get a random sentence from the Zen of GitHub + * This event occurs when there is activity relating to a run of a GitHub Actions workflow. + * + * For more information, see "[About workflows](https://docs.github.com/actions/using-workflows/about-workflows)." For information about the APIs to manage workflow runs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#workflowrun) and [the REST API documentation](https://docs.github.com/rest/actions/workflow-runs). + * + * For activity relating to job in a workflow run, see the `workflow_job` event. + * + * To install this event on a GitHub App, the app must have at least read-level access for the Actions or contents metadata permission. + * @description A workflow run started processing on a runner. */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-workflow-run-in-progress"]; + }; + }; responses: { - /** @description Response */ - 200: { - content: { - "text/plain": string; - }; + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; + }; + "workflow-run/requested": { + /** + * This event occurs when there is activity relating to a run of a GitHub Actions workflow. + * + * For more information, see "[About workflows](https://docs.github.com/actions/using-workflows/about-workflows)." For information about the APIs to manage workflow runs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#workflowrun) and [the REST API documentation](https://docs.github.com/rest/actions/workflow-runs). + * + * For activity relating to job in a workflow run, see the `workflow_job` event. + * + * To install this event on a GitHub App, the app must have at least read-level access for the Actions or contents metadata permission. + * @description A workflow run was triggered. + */ + parameters?: { + /** @example GitHub-Hookshot/123abc */ + /** @example 12312312 */ + /** @example issues */ + /** @example 123123 */ + /** @example repository */ + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + header?: { + "User-Agent"?: string; + "X-Github-Hook-Id"?: string; + "X-Github-Event"?: string; + "X-Github-Hook-Installation-Target-Id"?: string; + "X-Github-Hook-Installation-Target-Type"?: string; + "X-GitHub-Delivery"?: string; + "X-Hub-Signature-256"?: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-workflow-run-requested"]; }; }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; }; } diff --git a/examples/github-api.ts b/examples/github-api.ts index 86b036845..845e95778 100644 --- a/examples/github-api.ts +++ b/examples/github-api.ts @@ -7848,6 +7848,8 @@ export interface paths { }; } +export type webhooks = Record; + export interface components { schemas: { root: { diff --git a/examples/octokit-ghes-3.6-diff-to-api.ts b/examples/octokit-ghes-3.6-diff-to-api.ts index f1fcc5415..68bd1e095 100644 --- a/examples/octokit-ghes-3.6-diff-to-api.ts +++ b/examples/octokit-ghes-3.6-diff-to-api.ts @@ -1165,6 +1165,8 @@ export interface paths { }; } +export type webhooks = Record; + export interface components { schemas: { "global-hook": { diff --git a/examples/stripe-api.ts b/examples/stripe-api.ts index 39f9745c9..ed7fcb243 100644 --- a/examples/stripe-api.ts +++ b/examples/stripe-api.ts @@ -1993,6 +1993,8 @@ export interface paths { }; } +export type webhooks = Record; + export interface components { schemas: { /** diff --git a/src/transform/index.ts b/src/transform/index.ts index 499bd7ab4..12e410481 100644 --- a/src/transform/index.ts +++ b/src/transform/index.ts @@ -1,6 +1,7 @@ import type { GlobalContext, OpenAPI3 } from "../types"; import transformComponentsObject from "./components-object.js"; import transformPathsObject from "./paths-object.js"; +import transformWebhooksObject from "./webhooks-object.js"; /** transform top-level schema */ export function transformSchema(schema: OpenAPI3, ctx: GlobalContext): Record { @@ -12,6 +13,10 @@ export function transformSchema(schema: OpenAPI3, ctx: GlobalContext): Record { expect(generated).toBe(`${BOILERPLATE} export type paths = Record; +export type webhooks = Record; + export interface components { schemas: { Base: { @@ -95,6 +97,8 @@ export type operations = Record; expect(generated).toBe(`${BOILERPLATE} export type paths = Record; +export type webhooks = Record; + export interface components { schemas: { Example: { @@ -163,6 +167,8 @@ export type operations = Record; expect(generated).toBe(`${BOILERPLATE} export type paths = Record; +export type webhooks = Record; + export interface components { schemas: { Pet: { @@ -222,6 +228,8 @@ export type operations = Record; expect(generated).toBe(`${BOILERPLATE} export type paths = Record; +export type webhooks = Record; + export interface components { schemas: { ObjRef: { @@ -265,6 +273,8 @@ export type operations = Record; expect(generated).toBe(`${BOILERPLATE} export type paths = Record; +export type webhooks = Record; + export interface components { schemas: { User: { @@ -305,6 +315,8 @@ export type operations = Record; expect(generated).toBe(`${BOILERPLATE} export type paths = Record; +export type webhooks = Record; + export type components = { schemas: { User: { @@ -350,6 +362,8 @@ export interface paths { }; } +export type webhooks = Record; + export type components = Record; export type external = Record; @@ -371,6 +385,8 @@ export interface paths { }; } +export type webhooks = Record; + export type components = Record; export type external = Record; @@ -400,6 +416,8 @@ export type operations = Record; expect(generated).toBe(`${BOILERPLATE} export type paths = Record; +export type webhooks = Record; + export interface components { schemas: { /** Format: date-time */ @@ -430,6 +448,8 @@ export type operations = Record; ${inject} export type paths = Record; +export type webhooks = Record; + export interface components { schemas: { /** Format: date-time */ @@ -477,6 +497,8 @@ export type operations = Record; expect(generated).toBe(`${BOILERPLATE}${TYPE_HELPERS} export type paths = Record; +export type webhooks = Record; + export interface components { schemas: { User: OneOf<[{ diff --git a/test/webhooks-object.test.ts b/test/webhooks-object.test.ts new file mode 100644 index 000000000..1a3515ba1 --- /dev/null +++ b/test/webhooks-object.test.ts @@ -0,0 +1,106 @@ +import type { GlobalContext, WebhooksObject } from "../src/types"; +import transformWebhooksObject from "../src/transform/webhooks-object.js"; + +const options: GlobalContext = { + additionalProperties: false, + alphabetize: false, + defaultNonNullable: false, + discriminators: {}, + immutableTypes: false, + indentLv: 0, + operations: {}, + pathParamsAsTypes: false, + postTransform: undefined, + silent: true, + supportArrayLength: false, + transform: undefined, +}; + +describe("Webhooks Object", () => { + test("basic", () => { + const schema: WebhooksObject = { + "user-created": { + post: { + parameters: [ + { + name: "signature", + in: "query", + schema: { type: "string" }, + required: true, + }, + ], + requestBody: { + content: { + "application/json": { + schema: { + type: "object", + properties: { + id: { type: "string" }, + email: { type: "string" }, + name: { type: "string" }, + }, + required: ["id", "email"], + }, + }, + }, + }, + responses: { + 200: { + description: "Return a 200 status to indicate that the data was received successfully", + }, + }, + }, + }, + }; + const generated = transformWebhooksObject(schema, options); + expect(generated).toBe(`{ + "user-created": { + post: { + parameters: { + query: { + signature: string; + }; + }; + requestBody?: { + content: { + "application/json": { + id: string; + email: string; + name?: string; + }; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: never; + }; + }; + }; +}`); + }); + + test("$ref", () => { + const schema: WebhooksObject = { + "user-created": { + parameters: [ + { in: "query", name: "signature", schema: { type: "string" }, required: true }, + { $ref: 'components["parameters"]["query"]["utm_source"]' }, + { $ref: 'components["parameters"]["query"]["utm_email"]' }, + { $ref: 'components["parameters"]["query"]["utm_campaign"]' }, + { $ref: 'components["parameters"]["path"]["version"]' }, + ], + }, + }; + const generated = transformWebhooksObject(schema, options); + expect(generated).toBe(`{ + "user-created": { + parameters: { + query: { + signature: string; + } & (Pick, "utm_source" | "utm_email" | "utm_campaign">); + path?: Pick; + }; + }; +}`); + }); +});