"""DO NOT EDIT THIS FILE!

This file is auto generated by github rest api description.
See https://github.com/github/rest-api-description for more information.
"""


from __future__ import annotations

from datetime import date, datetime
from typing import Any, List, Union, Literal

from pydantic import Extra, Field, BaseModel

from githubkit.utils import UNSET, Unset


class GitHubRestModel(
    BaseModel, extra=Extra.allow, allow_population_by_field_name=True
):
    ...


class Root(GitHubRestModel):
    """Root"""

    current_user_url: str = Field(default=...)
    current_user_authorizations_html_url: str = Field(default=...)
    authorizations_url: str = Field(default=...)
    code_search_url: str = Field(default=...)
    commit_search_url: str = Field(default=...)
    emails_url: str = Field(default=...)
    emojis_url: str = Field(default=...)
    events_url: str = Field(default=...)
    feeds_url: str = Field(default=...)
    followers_url: str = Field(default=...)
    following_url: str = Field(default=...)
    gists_url: str = Field(default=...)
    hub_url: str = Field(default=...)
    issue_search_url: str = Field(default=...)
    issues_url: str = Field(default=...)
    keys_url: str = Field(default=...)
    label_search_url: str = Field(default=...)
    notifications_url: str = Field(default=...)
    organization_url: str = Field(default=...)
    organization_repositories_url: str = Field(default=...)
    organization_teams_url: str = Field(default=...)
    public_gists_url: str = Field(default=...)
    rate_limit_url: str = Field(default=...)
    repository_url: str = Field(default=...)
    repository_search_url: str = Field(default=...)
    current_user_repositories_url: str = Field(default=...)
    starred_url: str = Field(default=...)
    starred_gists_url: str = Field(default=...)
    topic_search_url: Union[Unset, str] = Field(default=UNSET)
    user_url: str = Field(default=...)
    user_organizations_url: str = Field(default=...)
    user_repositories_url: str = Field(default=...)
    user_search_url: str = Field(default=...)


class SimpleUser(GitHubRestModel):
    """Simple User

    Simple User
    """

    name: Union[Unset, Union[str, None]] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    login: str = Field(default=...)
    id: int = Field(default=...)
    node_id: str = Field(default=...)
    avatar_url: str = Field(default=...)
    gravatar_id: Union[str, None] = Field(default=...)
    url: str = Field(default=...)
    html_url: str = Field(default=...)
    followers_url: str = Field(default=...)
    following_url: str = Field(default=...)
    gists_url: str = Field(default=...)
    starred_url: str = Field(default=...)
    subscriptions_url: str = Field(default=...)
    organizations_url: str = Field(default=...)
    repos_url: str = Field(default=...)
    events_url: str = Field(default=...)
    received_events_url: str = Field(default=...)
    type: str = Field(default=...)
    site_admin: bool = Field(default=...)
    starred_at: Union[Unset, str] = Field(default=UNSET)


class Integration(GitHubRestModel):
    """GitHub app

    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.
    """

    id: int = Field(description="Unique identifier of the GitHub app", default=...)
    slug: Union[Unset, str] = Field(
        description="The slug name of the GitHub app", default=UNSET
    )
    node_id: str = Field(default=...)
    owner: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    name: str = Field(description="The name of the GitHub app", default=...)
    description: Union[str, None] = Field(default=...)
    external_url: str = Field(default=...)
    html_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)
    permissions: IntegrationPropPermissions = Field(
        description="The set of permissions for the GitHub app", default=...
    )
    events: List[str] = Field(
        description="The list of events for the GitHub app", default=...
    )
    installations_count: Union[Unset, int] = Field(
        description="The number of installations associated with the GitHub app",
        default=UNSET,
    )
    client_id: Union[Unset, str] = Field(default=UNSET)
    client_secret: Union[Unset, str] = Field(default=UNSET)
    webhook_secret: Union[Unset, Union[str, None]] = Field(default=UNSET)
    pem: Union[Unset, str] = Field(default=UNSET)


class IntegrationPropPermissions(GitHubRestModel, extra=Extra.allow):
    """IntegrationPropPermissions

    The set of permissions for the GitHub app

    Examples:
        {'issues': 'read', 'deployments': 'write'}
    """

    issues: Union[Unset, str] = Field(default=UNSET)
    checks: Union[Unset, str] = Field(default=UNSET)
    metadata: Union[Unset, str] = Field(default=UNSET)
    contents: Union[Unset, str] = Field(default=UNSET)
    deployments: Union[Unset, str] = Field(default=UNSET)


class BasicError(GitHubRestModel):
    """Basic Error

    Basic Error
    """

    message: Union[Unset, str] = Field(default=UNSET)
    documentation_url: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)
    status: Union[Unset, str] = Field(default=UNSET)


class ValidationErrorSimple(GitHubRestModel):
    """Validation Error Simple

    Validation Error Simple
    """

    message: str = Field(default=...)
    documentation_url: str = Field(default=...)
    errors: Union[Unset, List[str]] = Field(default=UNSET)


class WebhookConfig(GitHubRestModel):
    """Webhook Configuration

    Configuration object of the webhook
    """

    url: Union[Unset, str] = Field(
        description="The URL to which the payloads will be delivered.", default=UNSET
    )
    content_type: Union[Unset, str] = Field(
        description="The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`.",
        default=UNSET,
    )
    secret: Union[Unset, str] = Field(
        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).",
        default=UNSET,
    )
    insecure_ssl: Union[Unset, Union[str, float]] = Field(
        description="Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**",
        default=UNSET,
    )


class HookDeliveryItem(GitHubRestModel):
    """Simple webhook delivery

    Delivery made by a webhook, without request and response information.
    """

    id: int = Field(
        description="Unique identifier of the webhook delivery.", default=...
    )
    guid: str = Field(
        description="Unique identifier for the event (shared with all deliveries for all webhooks that subscribe to this event).",
        default=...,
    )
    delivered_at: datetime = Field(
        description="Time when the webhook delivery occurred.", default=...
    )
    redelivery: bool = Field(
        description="Whether the webhook delivery is a redelivery.", default=...
    )
    duration: float = Field(description="Time spent delivering.", default=...)
    status: str = Field(
        description="Describes the response returned after attempting the delivery.",
        default=...,
    )
    status_code: int = Field(
        description="Status code received when delivery was made.", default=...
    )
    event: str = Field(
        description="The event that triggered the delivery.", default=...
    )
    action: Union[str, None] = Field(
        description="The type of activity for the event that triggered the delivery.",
        default=...,
    )
    installation_id: Union[int, None] = Field(
        description="The id of the GitHub App installation associated with this event.",
        default=...,
    )
    repository_id: Union[int, None] = Field(
        description="The id of the repository associated with this event.", default=...
    )


class ScimError(GitHubRestModel):
    """Scim Error

    Scim Error
    """

    message: Union[Unset, Union[str, None]] = Field(default=UNSET)
    documentation_url: Union[Unset, Union[str, None]] = Field(default=UNSET)
    detail: Union[Unset, Union[str, None]] = Field(default=UNSET)
    status: Union[Unset, int] = Field(default=UNSET)
    scim_type: Union[Unset, Union[str, None]] = Field(default=UNSET, alias="scimType")
    schemas: Union[Unset, List[str]] = Field(default=UNSET)


class ValidationError(GitHubRestModel):
    """Validation Error

    Validation Error
    """

    message: str = Field(default=...)
    documentation_url: str = Field(default=...)
    errors: Union[Unset, List[ValidationErrorPropErrorsItems]] = Field(default=UNSET)


class ValidationErrorPropErrorsItems(GitHubRestModel):
    """ValidationErrorPropErrorsItems"""

    resource: Union[Unset, str] = Field(default=UNSET)
    field: Union[Unset, str] = Field(default=UNSET)
    message: Union[Unset, str] = Field(default=UNSET)
    code: str = Field(default=...)
    index: Union[Unset, int] = Field(default=UNSET)
    value: Union[Unset, Union[str, None, int, None, List[str], None]] = Field(
        default=UNSET
    )


class HookDelivery(GitHubRestModel):
    """Webhook delivery

    Delivery made by a webhook.
    """

    id: int = Field(description="Unique identifier of the delivery.", default=...)
    guid: str = Field(
        description="Unique identifier for the event (shared with all deliveries for all webhooks that subscribe to this event).",
        default=...,
    )
    delivered_at: datetime = Field(
        description="Time when the delivery was delivered.", default=...
    )
    redelivery: bool = Field(
        description="Whether the delivery is a redelivery.", default=...
    )
    duration: float = Field(description="Time spent delivering.", default=...)
    status: str = Field(
        description="Description of the status of the attempted delivery", default=...
    )
    status_code: int = Field(
        description="Status code received when delivery was made.", default=...
    )
    event: str = Field(
        description="The event that triggered the delivery.", default=...
    )
    action: Union[str, None] = Field(
        description="The type of activity for the event that triggered the delivery.",
        default=...,
    )
    installation_id: Union[int, None] = Field(
        description="The id of the GitHub App installation associated with this event.",
        default=...,
    )
    repository_id: Union[int, None] = Field(
        description="The id of the repository associated with this event.", default=...
    )
    url: Union[Unset, str] = Field(
        description="The URL target of the delivery.", default=UNSET
    )
    request: HookDeliveryPropRequest = Field(default=...)
    response: HookDeliveryPropResponse = Field(default=...)


class HookDeliveryPropRequest(GitHubRestModel):
    """HookDeliveryPropRequest"""

    headers: Union[HookDeliveryPropRequestPropHeaders, None] = Field(
        description="The request headers sent with the webhook delivery.", default=...
    )
    payload: Union[HookDeliveryPropRequestPropPayload, None] = Field(
        description="The webhook payload.", default=...
    )


class HookDeliveryPropRequestPropHeaders(GitHubRestModel, extra=Extra.allow):
    """HookDeliveryPropRequestPropHeaders

    The request headers sent with the webhook delivery.
    """


class HookDeliveryPropRequestPropPayload(GitHubRestModel, extra=Extra.allow):
    """HookDeliveryPropRequestPropPayload

    The webhook payload.
    """


class HookDeliveryPropResponse(GitHubRestModel):
    """HookDeliveryPropResponse"""

    headers: Union[HookDeliveryPropResponsePropHeaders, None] = Field(
        description="The response headers received when the delivery was made.",
        default=...,
    )
    payload: Union[str, None] = Field(
        description="The response payload received.", default=...
    )


class HookDeliveryPropResponsePropHeaders(GitHubRestModel, extra=Extra.allow):
    """HookDeliveryPropResponsePropHeaders

    The response headers received when the delivery was made.
    """


class Enterprise(GitHubRestModel):
    """Enterprise

    An enterprise account
    """

    description: Union[Unset, Union[str, None]] = Field(
        description="A short description of the enterprise.", default=UNSET
    )
    html_url: str = Field(default=...)
    website_url: Union[Unset, Union[str, None]] = Field(
        description="The enterprise's website URL.", default=UNSET
    )
    id: int = Field(description="Unique identifier of the enterprise", default=...)
    node_id: str = Field(default=...)
    name: str = Field(description="The name of the enterprise.", default=...)
    slug: str = Field(
        description="The slug url identifier for the enterprise.", default=...
    )
    created_at: Union[datetime, None] = Field(default=...)
    updated_at: Union[datetime, None] = Field(default=...)
    avatar_url: str = Field(default=...)


class AppPermissions(GitHubRestModel):
    """App Permissions

    The permissions granted to the user-to-server access token.

    Examples:
        {'contents': 'read', 'issues': 'read', 'deployments': 'write', 'single_file':
    'read'}
    """

    actions: Union[Unset, Literal["read", "write"]] = Field(
        description="The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts.",
        default=UNSET,
    )
    administration: Union[Unset, Literal["read", "write"]] = Field(
        description="The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation.",
        default=UNSET,
    )
    checks: Union[Unset, Literal["read", "write"]] = Field(
        description="The level of permission to grant the access token for checks on code.",
        default=UNSET,
    )
    contents: Union[Unset, Literal["read", "write"]] = Field(
        description="The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges.",
        default=UNSET,
    )
    deployments: Union[Unset, Literal["read", "write"]] = Field(
        description="The level of permission to grant the access token for deployments and deployment statuses.",
        default=UNSET,
    )
    environments: Union[Unset, Literal["read", "write"]] = Field(
        description="The level of permission to grant the access token for managing repository environments.",
        default=UNSET,
    )
    issues: Union[Unset, Literal["read", "write"]] = Field(
        description="The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones.",
        default=UNSET,
    )
    metadata: Union[Unset, Literal["read", "write"]] = Field(
        description="The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata.",
        default=UNSET,
    )
    packages: Union[Unset, Literal["read", "write"]] = Field(
        description="The level of permission to grant the access token for packages published to GitHub Packages.",
        default=UNSET,
    )
    pages: Union[Unset, Literal["read", "write"]] = Field(
        description="The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds.",
        default=UNSET,
    )
    pull_requests: Union[Unset, Literal["read", "write"]] = Field(
        description="The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges.",
        default=UNSET,
    )
    repository_announcement_banners: Union[Unset, Literal["read", "write"]] = Field(
        description="The level of permission to grant the access token to view and manage announcement banners for a repository.",
        default=UNSET,
    )
    repository_hooks: Union[Unset, Literal["read", "write"]] = Field(
        description="The level of permission to grant the access token to manage the post-receive hooks for a repository.",
        default=UNSET,
    )
    repository_projects: Union[Unset, Literal["read", "write", "admin"]] = Field(
        description="The level of permission to grant the access token to manage repository projects, columns, and cards.",
        default=UNSET,
    )
    secret_scanning_alerts: Union[Unset, Literal["read", "write"]] = Field(
        description="The level of permission to grant the access token to view and manage secret scanning alerts.",
        default=UNSET,
    )
    secrets: Union[Unset, Literal["read", "write"]] = Field(
        description="The level of permission to grant the access token to manage repository secrets.",
        default=UNSET,
    )
    security_events: Union[Unset, Literal["read", "write"]] = Field(
        description="The level of permission to grant the access token to view and manage security events like code scanning alerts.",
        default=UNSET,
    )
    single_file: Union[Unset, Literal["read", "write"]] = Field(
        description="The level of permission to grant the access token to manage just a single file.",
        default=UNSET,
    )
    statuses: Union[Unset, Literal["read", "write"]] = Field(
        description="The level of permission to grant the access token for commit statuses.",
        default=UNSET,
    )
    vulnerability_alerts: Union[Unset, Literal["read", "write"]] = Field(
        description="The level of permission to grant the access token to manage Dependabot alerts.",
        default=UNSET,
    )
    workflows: Union[Unset, Literal["write"]] = Field(
        description="The level of permission to grant the access token to update GitHub Actions workflow files.",
        default=UNSET,
    )
    members: Union[Unset, Literal["read", "write"]] = Field(
        description="The level of permission to grant the access token for organization teams and members.",
        default=UNSET,
    )
    organization_administration: Union[Unset, Literal["read", "write"]] = Field(
        description="The level of permission to grant the access token to manage access to an organization.",
        default=UNSET,
    )
    organization_custom_roles: Union[Unset, Literal["read", "write"]] = Field(
        description="The level of permission to grant the access token for custom roles management. This property is in beta and is subject to change.",
        default=UNSET,
    )
    organization_announcement_banners: Union[Unset, Literal["read", "write"]] = Field(
        description="The level of permission to grant the access token to view and manage announcement banners for an organization.",
        default=UNSET,
    )
    organization_hooks: Union[Unset, Literal["read", "write"]] = Field(
        description="The level of permission to grant the access token to manage the post-receive hooks for an organization.",
        default=UNSET,
    )
    organization_plan: Union[Unset, Literal["read"]] = Field(
        description="The level of permission to grant the access token for viewing an organization's plan.",
        default=UNSET,
    )
    organization_projects: Union[Unset, Literal["read", "write", "admin"]] = Field(
        description="The level of permission to grant the access token to manage organization projects and projects beta (where available).",
        default=UNSET,
    )
    organization_packages: Union[Unset, Literal["read", "write"]] = Field(
        description="The level of permission to grant the access token for organization packages published to GitHub Packages.",
        default=UNSET,
    )
    organization_secrets: Union[Unset, Literal["read", "write"]] = Field(
        description="The level of permission to grant the access token to manage organization secrets.",
        default=UNSET,
    )
    organization_self_hosted_runners: Union[Unset, Literal["read", "write"]] = Field(
        description="The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization.",
        default=UNSET,
    )
    organization_user_blocking: Union[Unset, Literal["read", "write"]] = Field(
        description="The level of permission to grant the access token to view and manage users blocked by the organization.",
        default=UNSET,
    )
    team_discussions: Union[Unset, Literal["read", "write"]] = Field(
        description="The level of permission to grant the access token to manage team discussions and related comments.",
        default=UNSET,
    )


class Installation(GitHubRestModel):
    """Installation

    Installation
    """

    id: int = Field(description="The ID of the installation.", default=...)
    account: Union[SimpleUser, Enterprise, None] = Field(
        title="Enterprise", description="An enterprise account", default=...
    )
    repository_selection: Literal["all", "selected"] = Field(
        description="Describe whether all repositories have been selected or there's a selection involved",
        default=...,
    )
    access_tokens_url: str = Field(default=...)
    repositories_url: str = Field(default=...)
    html_url: str = Field(default=...)
    app_id: int = Field(default=...)
    target_id: int = Field(
        description="The ID of the user or organization this token is being scoped to.",
        default=...,
    )
    target_type: str = Field(default=...)
    permissions: AppPermissions = Field(
        title="App Permissions",
        description="The permissions granted to the user-to-server access token.",
        default=...,
    )
    events: List[str] = Field(default=...)
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)
    single_file_name: Union[str, None] = Field(default=...)
    has_multiple_single_files: Union[Unset, bool] = Field(default=UNSET)
    single_file_paths: Union[Unset, List[str]] = Field(default=UNSET)
    app_slug: str = Field(default=...)
    suspended_by: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    suspended_at: Union[datetime, None] = Field(default=...)
    contact_email: Union[Unset, Union[str, None]] = Field(default=UNSET)


class LicenseSimple(GitHubRestModel):
    """License Simple

    License Simple
    """

    key: str = Field(default=...)
    name: str = Field(default=...)
    url: Union[str, None] = Field(default=...)
    spdx_id: Union[str, None] = Field(default=...)
    node_id: str = Field(default=...)
    html_url: Union[Unset, str] = Field(default=UNSET)


class Repository(GitHubRestModel):
    """Repository

    A git repository
    """

    id: int = Field(description="Unique identifier of the repository", default=...)
    node_id: str = Field(default=...)
    name: str = Field(description="The name of the repository.", default=...)
    full_name: str = Field(default=...)
    license_: Union[None, LicenseSimple] = Field(
        title="License Simple",
        description="License Simple",
        default=...,
        alias="license",
    )
    organization: Union[Unset, Union[None, SimpleUser]] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )
    forks: int = Field(default=...)
    permissions: Union[Unset, RepositoryPropPermissions] = Field(default=UNSET)
    owner: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    private: bool = Field(
        description="Whether the repository is private or public.", default=False
    )
    html_url: str = Field(default=...)
    description: Union[str, None] = Field(default=...)
    fork: bool = Field(default=...)
    url: str = Field(default=...)
    archive_url: str = Field(default=...)
    assignees_url: str = Field(default=...)
    blobs_url: str = Field(default=...)
    branches_url: str = Field(default=...)
    collaborators_url: str = Field(default=...)
    comments_url: str = Field(default=...)
    commits_url: str = Field(default=...)
    compare_url: str = Field(default=...)
    contents_url: str = Field(default=...)
    contributors_url: str = Field(default=...)
    deployments_url: str = Field(default=...)
    downloads_url: str = Field(default=...)
    events_url: str = Field(default=...)
    forks_url: str = Field(default=...)
    git_commits_url: str = Field(default=...)
    git_refs_url: str = Field(default=...)
    git_tags_url: str = Field(default=...)
    git_url: str = Field(default=...)
    issue_comment_url: str = Field(default=...)
    issue_events_url: str = Field(default=...)
    issues_url: str = Field(default=...)
    keys_url: str = Field(default=...)
    labels_url: str = Field(default=...)
    languages_url: str = Field(default=...)
    merges_url: str = Field(default=...)
    milestones_url: str = Field(default=...)
    notifications_url: str = Field(default=...)
    pulls_url: str = Field(default=...)
    releases_url: str = Field(default=...)
    ssh_url: str = Field(default=...)
    stargazers_url: str = Field(default=...)
    statuses_url: str = Field(default=...)
    subscribers_url: str = Field(default=...)
    subscription_url: str = Field(default=...)
    tags_url: str = Field(default=...)
    teams_url: str = Field(default=...)
    trees_url: str = Field(default=...)
    clone_url: str = Field(default=...)
    mirror_url: Union[str, None] = Field(default=...)
    hooks_url: str = Field(default=...)
    svn_url: str = Field(default=...)
    homepage: Union[str, None] = Field(default=...)
    language: Union[str, None] = Field(default=...)
    forks_count: int = Field(default=...)
    stargazers_count: int = Field(default=...)
    watchers_count: int = Field(default=...)
    size: int = Field(
        description="The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0.",
        default=...,
    )
    default_branch: str = Field(
        description="The default branch of the repository.", default=...
    )
    open_issues_count: int = Field(default=...)
    is_template: Union[Unset, bool] = Field(
        description="Whether this repository acts as a template that can be used to generate new repositories.",
        default=False,
    )
    topics: Union[Unset, List[str]] = Field(default=UNSET)
    has_issues: bool = Field(description="Whether issues are enabled.", default=True)
    has_projects: bool = Field(
        description="Whether projects are enabled.", default=True
    )
    has_wiki: bool = Field(description="Whether the wiki is enabled.", default=True)
    has_pages: bool = Field(default=...)
    has_downloads: bool = Field(
        description="Whether downloads are enabled.", default=True
    )
    archived: bool = Field(
        description="Whether the repository is archived.", default=False
    )
    disabled: bool = Field(
        description="Returns whether or not this repository disabled.", default=...
    )
    visibility: Union[Unset, str] = Field(
        description="The repository visibility: public, private, or internal.",
        default="public",
    )
    pushed_at: Union[datetime, None] = Field(default=...)
    created_at: Union[datetime, None] = Field(default=...)
    updated_at: Union[datetime, None] = Field(default=...)
    allow_rebase_merge: Union[Unset, bool] = Field(
        description="Whether to allow rebase merges for pull requests.", default=True
    )
    template_repository: Union[
        Unset, Union[RepositoryPropTemplateRepository, None]
    ] = Field(default=UNSET)
    temp_clone_token: Union[Unset, str] = Field(default=UNSET)
    allow_squash_merge: Union[Unset, bool] = Field(
        description="Whether to allow squash merges for pull requests.", default=True
    )
    allow_auto_merge: Union[Unset, bool] = Field(
        description="Whether to allow Auto-merge to be used on pull requests.",
        default=False,
    )
    delete_branch_on_merge: Union[Unset, bool] = Field(
        description="Whether to delete head branches when pull requests are merged",
        default=False,
    )
    allow_update_branch: Union[Unset, bool] = Field(
        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,
    )
    use_squash_pr_title_as_default: Union[Unset, bool] = Field(
        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,
    )
    squash_merge_commit_title: Union[
        Unset, Literal["PR_TITLE", "COMMIT_OR_PR_TITLE"]
    ] = Field(
        description="The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `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).",
        default=UNSET,
    )
    squash_merge_commit_message: Union[
        Unset, Literal["PR_BODY", "COMMIT_MESSAGES", "BLANK"]
    ] = Field(
        description="The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message.",
        default=UNSET,
    )
    merge_commit_title: Union[Unset, Literal["PR_TITLE", "MERGE_MESSAGE"]] = Field(
        description="The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name).",
        default=UNSET,
    )
    merge_commit_message: Union[Unset, Literal["PR_BODY", "PR_TITLE", "BLANK"]] = Field(
        description="The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message.",
        default=UNSET,
    )
    allow_merge_commit: Union[Unset, bool] = Field(
        description="Whether to allow merge commits for pull requests.", default=True
    )
    allow_forking: Union[Unset, bool] = Field(
        description="Whether to allow forking this repo", default=UNSET
    )
    web_commit_signoff_required: Union[Unset, bool] = Field(
        description="Whether to require contributors to sign off on web-based commits",
        default=False,
    )
    subscribers_count: Union[Unset, int] = Field(default=UNSET)
    network_count: Union[Unset, int] = Field(default=UNSET)
    open_issues: int = Field(default=...)
    watchers: int = Field(default=...)
    master_branch: Union[Unset, str] = Field(default=UNSET)
    starred_at: Union[Unset, str] = Field(default=UNSET)
    anonymous_access_enabled: Union[Unset, bool] = Field(
        description="Whether anonymous git access is enabled for this repository",
        default=UNSET,
    )


class RepositoryPropPermissions(GitHubRestModel):
    """RepositoryPropPermissions"""

    admin: bool = Field(default=...)
    pull: bool = Field(default=...)
    triage: Union[Unset, bool] = Field(default=UNSET)
    push: bool = Field(default=...)
    maintain: Union[Unset, bool] = Field(default=UNSET)


class RepositoryPropTemplateRepositoryPropOwner(GitHubRestModel):
    """RepositoryPropTemplateRepositoryPropOwner"""

    login: Union[Unset, str] = Field(default=UNSET)
    id: Union[Unset, int] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    avatar_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)


class RepositoryPropTemplateRepositoryPropPermissions(GitHubRestModel):
    """RepositoryPropTemplateRepositoryPropPermissions"""

    admin: Union[Unset, bool] = Field(default=UNSET)
    maintain: Union[Unset, bool] = Field(default=UNSET)
    push: Union[Unset, bool] = Field(default=UNSET)
    triage: Union[Unset, bool] = Field(default=UNSET)
    pull: Union[Unset, bool] = Field(default=UNSET)


class RepositoryPropTemplateRepository(GitHubRestModel):
    """RepositoryPropTemplateRepository"""

    id: Union[Unset, int] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    name: Union[Unset, str] = Field(default=UNSET)
    full_name: Union[Unset, str] = Field(default=UNSET)
    owner: Union[Unset, RepositoryPropTemplateRepositoryPropOwner] = Field(
        default=UNSET
    )
    private: Union[Unset, bool] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    description: Union[Unset, str] = Field(default=UNSET)
    fork: Union[Unset, bool] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)
    archive_url: Union[Unset, str] = Field(default=UNSET)
    assignees_url: Union[Unset, str] = Field(default=UNSET)
    blobs_url: Union[Unset, str] = Field(default=UNSET)
    branches_url: Union[Unset, str] = Field(default=UNSET)
    collaborators_url: Union[Unset, str] = Field(default=UNSET)
    comments_url: Union[Unset, str] = Field(default=UNSET)
    commits_url: Union[Unset, str] = Field(default=UNSET)
    compare_url: Union[Unset, str] = Field(default=UNSET)
    contents_url: Union[Unset, str] = Field(default=UNSET)
    contributors_url: Union[Unset, str] = Field(default=UNSET)
    deployments_url: Union[Unset, str] = Field(default=UNSET)
    downloads_url: Union[Unset, str] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    forks_url: Union[Unset, str] = Field(default=UNSET)
    git_commits_url: Union[Unset, str] = Field(default=UNSET)
    git_refs_url: Union[Unset, str] = Field(default=UNSET)
    git_tags_url: Union[Unset, str] = Field(default=UNSET)
    git_url: Union[Unset, str] = Field(default=UNSET)
    issue_comment_url: Union[Unset, str] = Field(default=UNSET)
    issue_events_url: Union[Unset, str] = Field(default=UNSET)
    issues_url: Union[Unset, str] = Field(default=UNSET)
    keys_url: Union[Unset, str] = Field(default=UNSET)
    labels_url: Union[Unset, str] = Field(default=UNSET)
    languages_url: Union[Unset, str] = Field(default=UNSET)
    merges_url: Union[Unset, str] = Field(default=UNSET)
    milestones_url: Union[Unset, str] = Field(default=UNSET)
    notifications_url: Union[Unset, str] = Field(default=UNSET)
    pulls_url: Union[Unset, str] = Field(default=UNSET)
    releases_url: Union[Unset, str] = Field(default=UNSET)
    ssh_url: Union[Unset, str] = Field(default=UNSET)
    stargazers_url: Union[Unset, str] = Field(default=UNSET)
    statuses_url: Union[Unset, str] = Field(default=UNSET)
    subscribers_url: Union[Unset, str] = Field(default=UNSET)
    subscription_url: Union[Unset, str] = Field(default=UNSET)
    tags_url: Union[Unset, str] = Field(default=UNSET)
    teams_url: Union[Unset, str] = Field(default=UNSET)
    trees_url: Union[Unset, str] = Field(default=UNSET)
    clone_url: Union[Unset, str] = Field(default=UNSET)
    mirror_url: Union[Unset, str] = Field(default=UNSET)
    hooks_url: Union[Unset, str] = Field(default=UNSET)
    svn_url: Union[Unset, str] = Field(default=UNSET)
    homepage: Union[Unset, str] = Field(default=UNSET)
    language: Union[Unset, str] = Field(default=UNSET)
    forks_count: Union[Unset, int] = Field(default=UNSET)
    stargazers_count: Union[Unset, int] = Field(default=UNSET)
    watchers_count: Union[Unset, int] = Field(default=UNSET)
    size: Union[Unset, int] = Field(default=UNSET)
    default_branch: Union[Unset, str] = Field(default=UNSET)
    open_issues_count: Union[Unset, int] = Field(default=UNSET)
    is_template: Union[Unset, bool] = Field(default=UNSET)
    topics: Union[Unset, List[str]] = Field(default=UNSET)
    has_issues: Union[Unset, bool] = Field(default=UNSET)
    has_projects: Union[Unset, bool] = Field(default=UNSET)
    has_wiki: Union[Unset, bool] = Field(default=UNSET)
    has_pages: Union[Unset, bool] = Field(default=UNSET)
    has_downloads: Union[Unset, bool] = Field(default=UNSET)
    archived: Union[Unset, bool] = Field(default=UNSET)
    disabled: Union[Unset, bool] = Field(default=UNSET)
    visibility: Union[Unset, str] = Field(default=UNSET)
    pushed_at: Union[Unset, str] = Field(default=UNSET)
    created_at: Union[Unset, str] = Field(default=UNSET)
    updated_at: Union[Unset, str] = Field(default=UNSET)
    permissions: Union[Unset, RepositoryPropTemplateRepositoryPropPermissions] = Field(
        default=UNSET
    )
    allow_rebase_merge: Union[Unset, bool] = Field(default=UNSET)
    temp_clone_token: Union[Unset, str] = Field(default=UNSET)
    allow_squash_merge: Union[Unset, bool] = Field(default=UNSET)
    allow_auto_merge: Union[Unset, bool] = Field(default=UNSET)
    delete_branch_on_merge: Union[Unset, bool] = Field(default=UNSET)
    allow_update_branch: Union[Unset, bool] = Field(default=UNSET)
    use_squash_pr_title_as_default: Union[Unset, bool] = Field(default=UNSET)
    squash_merge_commit_title: Union[
        Unset, Literal["PR_TITLE", "COMMIT_OR_PR_TITLE"]
    ] = Field(
        description="The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `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).",
        default=UNSET,
    )
    squash_merge_commit_message: Union[
        Unset, Literal["PR_BODY", "COMMIT_MESSAGES", "BLANK"]
    ] = Field(
        description="The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message.",
        default=UNSET,
    )
    merge_commit_title: Union[Unset, Literal["PR_TITLE", "MERGE_MESSAGE"]] = Field(
        description="The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name).",
        default=UNSET,
    )
    merge_commit_message: Union[Unset, Literal["PR_BODY", "PR_TITLE", "BLANK"]] = Field(
        description="The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message.",
        default=UNSET,
    )
    allow_merge_commit: Union[Unset, bool] = Field(default=UNSET)
    subscribers_count: Union[Unset, int] = Field(default=UNSET)
    network_count: Union[Unset, int] = Field(default=UNSET)


class InstallationToken(GitHubRestModel):
    """Installation Token

    Authentication token for a GitHub App installed on a user or org.
    """

    token: str = Field(default=...)
    expires_at: str = Field(default=...)
    permissions: Union[Unset, AppPermissions] = Field(
        title="App Permissions",
        description="The permissions granted to the user-to-server access token.",
        default=UNSET,
    )
    repository_selection: Union[Unset, Literal["all", "selected"]] = Field(
        default=UNSET
    )
    repositories: Union[Unset, List[Repository]] = Field(default=UNSET)
    single_file: Union[Unset, str] = Field(default=UNSET)
    has_multiple_single_files: Union[Unset, bool] = Field(default=UNSET)
    single_file_paths: Union[Unset, List[str]] = Field(default=UNSET)


class ScopedInstallation(GitHubRestModel):
    """Scoped Installation"""

    permissions: AppPermissions = Field(
        title="App Permissions",
        description="The permissions granted to the user-to-server access token.",
        default=...,
    )
    repository_selection: Literal["all", "selected"] = Field(
        description="Describe whether all repositories have been selected or there's a selection involved",
        default=...,
    )
    single_file_name: Union[str, None] = Field(default=...)
    has_multiple_single_files: Union[Unset, bool] = Field(default=UNSET)
    single_file_paths: Union[Unset, List[str]] = Field(default=UNSET)
    repositories_url: str = Field(default=...)
    account: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class Authorization(GitHubRestModel):
    """Authorization

    The authorization for an OAuth app, GitHub App, or a Personal Access Token.
    """

    id: int = Field(default=...)
    url: str = Field(default=...)
    scopes: Union[List[str], None] = Field(
        description="A list of scopes that this authorization is in.", default=...
    )
    token: str = Field(default=...)
    token_last_eight: Union[str, None] = Field(default=...)
    hashed_token: Union[str, None] = Field(default=...)
    app: AuthorizationPropApp = Field(default=...)
    note: Union[str, None] = Field(default=...)
    note_url: Union[str, None] = Field(default=...)
    updated_at: datetime = Field(default=...)
    created_at: datetime = Field(default=...)
    fingerprint: Union[str, None] = Field(default=...)
    user: Union[Unset, Union[None, SimpleUser]] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )
    installation: Union[Unset, Union[None, ScopedInstallation]] = Field(
        title="Scoped Installation", default=UNSET
    )
    expires_at: Union[datetime, None] = Field(default=...)


class AuthorizationPropApp(GitHubRestModel):
    """AuthorizationPropApp"""

    client_id: str = Field(default=...)
    name: str = Field(default=...)
    url: str = Field(default=...)


class CodeOfConduct(GitHubRestModel):
    """Code Of Conduct

    Code Of Conduct
    """

    key: str = Field(default=...)
    name: str = Field(default=...)
    url: str = Field(default=...)
    body: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[str, None] = Field(default=...)


class ServerStatisticsItems(GitHubRestModel):
    """ServerStatisticsItems"""

    server_id: Union[Unset, str] = Field(default=UNSET)
    collection_date: Union[Unset, str] = Field(default=UNSET)
    schema_version: Union[Unset, str] = Field(default=UNSET)
    ghes_version: Union[Unset, str] = Field(default=UNSET)
    host_name: Union[Unset, str] = Field(default=UNSET)
    github_connect: Union[Unset, ServerStatisticsItemsPropGithubConnect] = Field(
        default=UNSET
    )
    ghe_stats: Union[Unset, ServerStatisticsItemsPropGheStats] = Field(default=UNSET)
    dormant_users: Union[Unset, ServerStatisticsItemsPropDormantUsers] = Field(
        default=UNSET
    )


class ServerStatisticsItemsPropGithubConnect(GitHubRestModel):
    """ServerStatisticsItemsPropGithubConnect"""

    features_enabled: Union[Unset, List[str]] = Field(default=UNSET)


class ServerStatisticsItemsPropGheStats(GitHubRestModel):
    """ServerStatisticsItemsPropGheStats"""

    comments: Union[Unset, ServerStatisticsItemsPropGheStatsPropComments] = Field(
        default=UNSET
    )
    gists: Union[Unset, ServerStatisticsItemsPropGheStatsPropGists] = Field(
        default=UNSET
    )
    hooks: Union[Unset, ServerStatisticsItemsPropGheStatsPropHooks] = Field(
        default=UNSET
    )
    issues: Union[Unset, ServerStatisticsItemsPropGheStatsPropIssues] = Field(
        default=UNSET
    )
    milestones: Union[Unset, ServerStatisticsItemsPropGheStatsPropMilestones] = Field(
        default=UNSET
    )
    orgs: Union[Unset, ServerStatisticsItemsPropGheStatsPropOrgs] = Field(default=UNSET)
    pages: Union[Unset, ServerStatisticsItemsPropGheStatsPropPages] = Field(
        default=UNSET
    )
    pulls: Union[Unset, ServerStatisticsItemsPropGheStatsPropPulls] = Field(
        default=UNSET
    )
    repos: Union[Unset, ServerStatisticsItemsPropGheStatsPropRepos] = Field(
        default=UNSET
    )
    users: Union[Unset, ServerStatisticsItemsPropGheStatsPropUsers] = Field(
        default=UNSET
    )


class ServerStatisticsItemsPropGheStatsPropComments(GitHubRestModel):
    """ServerStatisticsItemsPropGheStatsPropComments"""

    total_commit_comments: Union[Unset, int] = Field(default=UNSET)
    total_gist_comments: Union[Unset, int] = Field(default=UNSET)
    total_issue_comments: Union[Unset, int] = Field(default=UNSET)
    total_pull_request_comments: Union[Unset, int] = Field(default=UNSET)


class ServerStatisticsItemsPropGheStatsPropGists(GitHubRestModel):
    """ServerStatisticsItemsPropGheStatsPropGists"""

    total_gists: Union[Unset, int] = Field(default=UNSET)
    private_gists: Union[Unset, int] = Field(default=UNSET)
    public_gists: Union[Unset, int] = Field(default=UNSET)


class ServerStatisticsItemsPropGheStatsPropHooks(GitHubRestModel):
    """ServerStatisticsItemsPropGheStatsPropHooks"""

    total_hooks: Union[Unset, int] = Field(default=UNSET)
    active_hooks: Union[Unset, int] = Field(default=UNSET)
    inactive_hooks: Union[Unset, int] = Field(default=UNSET)


class ServerStatisticsItemsPropGheStatsPropIssues(GitHubRestModel):
    """ServerStatisticsItemsPropGheStatsPropIssues"""

    total_issues: Union[Unset, int] = Field(default=UNSET)
    open_issues: Union[Unset, int] = Field(default=UNSET)
    closed_issues: Union[Unset, int] = Field(default=UNSET)


class ServerStatisticsItemsPropGheStatsPropMilestones(GitHubRestModel):
    """ServerStatisticsItemsPropGheStatsPropMilestones"""

    total_milestones: Union[Unset, int] = Field(default=UNSET)
    open_milestones: Union[Unset, int] = Field(default=UNSET)
    closed_milestones: Union[Unset, int] = Field(default=UNSET)


class ServerStatisticsItemsPropGheStatsPropOrgs(GitHubRestModel):
    """ServerStatisticsItemsPropGheStatsPropOrgs"""

    total_orgs: Union[Unset, int] = Field(default=UNSET)
    disabled_orgs: Union[Unset, int] = Field(default=UNSET)
    total_teams: Union[Unset, int] = Field(default=UNSET)
    total_team_members: Union[Unset, int] = Field(default=UNSET)


class ServerStatisticsItemsPropGheStatsPropPages(GitHubRestModel):
    """ServerStatisticsItemsPropGheStatsPropPages"""

    total_pages: Union[Unset, int] = Field(default=UNSET)


class ServerStatisticsItemsPropGheStatsPropPulls(GitHubRestModel):
    """ServerStatisticsItemsPropGheStatsPropPulls"""

    total_pulls: Union[Unset, int] = Field(default=UNSET)
    merged_pulls: Union[Unset, int] = Field(default=UNSET)
    mergeable_pulls: Union[Unset, int] = Field(default=UNSET)
    unmergeable_pulls: Union[Unset, int] = Field(default=UNSET)


class ServerStatisticsItemsPropGheStatsPropRepos(GitHubRestModel):
    """ServerStatisticsItemsPropGheStatsPropRepos"""

    total_repos: Union[Unset, int] = Field(default=UNSET)
    root_repos: Union[Unset, int] = Field(default=UNSET)
    fork_repos: Union[Unset, int] = Field(default=UNSET)
    org_repos: Union[Unset, int] = Field(default=UNSET)
    total_pushes: Union[Unset, int] = Field(default=UNSET)
    total_wikis: Union[Unset, int] = Field(default=UNSET)


class ServerStatisticsItemsPropGheStatsPropUsers(GitHubRestModel):
    """ServerStatisticsItemsPropGheStatsPropUsers"""

    total_users: Union[Unset, int] = Field(default=UNSET)
    admin_users: Union[Unset, int] = Field(default=UNSET)
    suspended_users: Union[Unset, int] = Field(default=UNSET)


class ServerStatisticsItemsPropDormantUsers(GitHubRestModel):
    """ServerStatisticsItemsPropDormantUsers"""

    total_dormant_users: Union[Unset, int] = Field(default=UNSET)
    dormancy_threshold: Union[Unset, str] = Field(default=UNSET)


class ActionsCacheUsageOrgEnterprise(GitHubRestModel):
    """ActionsCacheUsageOrgEnterprise"""

    total_active_caches_count: int = Field(
        description="The count of active caches across all repositories of an enterprise or an organization.",
        default=...,
    )
    total_active_caches_size_in_bytes: int = Field(
        description="The total size in bytes of all active cache items across all repositories of an enterprise or an organization.",
        default=...,
    )


class ActionsEnterprisePermissions(GitHubRestModel):
    """ActionsEnterprisePermissions"""

    enabled_organizations: Literal["all", "none", "selected"] = Field(
        description="The policy that controls the organizations in the enterprise that are allowed to run GitHub Actions.",
        default=...,
    )
    selected_organizations_url: Union[Unset, str] = Field(
        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`.",
        default=UNSET,
    )
    allowed_actions: Union[Unset, Literal["all", "local_only", "selected"]] = Field(
        description="The permissions policy that controls the actions and reusable workflows that are allowed to run.",
        default=UNSET,
    )
    selected_actions_url: Union[Unset, str] = Field(
        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`.",
        default=UNSET,
    )


class OrganizationSimple(GitHubRestModel):
    """Organization Simple

    Organization Simple
    """

    login: str = Field(default=...)
    id: int = Field(default=...)
    node_id: str = Field(default=...)
    url: str = Field(default=...)
    repos_url: str = Field(default=...)
    events_url: str = Field(default=...)
    hooks_url: str = Field(default=...)
    issues_url: str = Field(default=...)
    members_url: str = Field(default=...)
    public_members_url: str = Field(default=...)
    avatar_url: str = Field(default=...)
    description: Union[str, None] = Field(default=...)


class SelectedActions(GitHubRestModel):
    """SelectedActions"""

    github_owned_allowed: Union[Unset, bool] = Field(
        description="Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization.",
        default=UNSET,
    )
    verified_allowed: Union[Unset, bool] = Field(
        description="Whether actions from GitHub Marketplace verified creators are allowed. Set to `true` to allow all actions by GitHub Marketplace verified creators.",
        default=UNSET,
    )
    patterns_allowed: Union[Unset, List[str]] = Field(
        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/*`."',
        default=UNSET,
    )


class ActionsGetDefaultWorkflowPermissions(GitHubRestModel):
    """ActionsGetDefaultWorkflowPermissions"""

    default_workflow_permissions: Literal["read", "write"] = Field(
        description="The default workflow permissions granted to the GITHUB_TOKEN when running workflows.",
        default=...,
    )
    can_approve_pull_request_reviews: bool = Field(
        description="Whether GitHub Actions can approve pull requests. Enabling this can be a security risk.",
        default=...,
    )


class ActionsSetDefaultWorkflowPermissions(GitHubRestModel):
    """ActionsSetDefaultWorkflowPermissions"""

    default_workflow_permissions: Union[Unset, Literal["read", "write"]] = Field(
        description="The default workflow permissions granted to the GITHUB_TOKEN when running workflows.",
        default=UNSET,
    )
    can_approve_pull_request_reviews: Union[Unset, bool] = Field(
        description="Whether GitHub Actions can approve pull requests. Enabling this can be a security risk.",
        default=UNSET,
    )


class RunnerGroupsEnterprise(GitHubRestModel):
    """RunnerGroupsEnterprise"""

    id: float = Field(default=...)
    name: str = Field(default=...)
    visibility: str = Field(default=...)
    default: bool = Field(default=...)
    selected_organizations_url: Union[Unset, str] = Field(default=UNSET)
    runners_url: str = Field(default=...)
    allows_public_repositories: bool = Field(default=...)
    workflow_restrictions_read_only: Union[Unset, bool] = Field(
        description="If `true`, the `restricted_to_workflows` and `selected_workflows` fields cannot be modified.",
        default=False,
    )
    restricted_to_workflows: Union[Unset, bool] = Field(
        description="If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array.",
        default=False,
    )
    selected_workflows: Union[Unset, List[str]] = Field(
        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`.",
        default=UNSET,
    )


class RunnerLabel(GitHubRestModel):
    """Self hosted runner label

    A label for a self hosted runner
    """

    id: Union[Unset, int] = Field(
        description="Unique identifier of the label.", default=UNSET
    )
    name: str = Field(description="Name of the label.", default=...)
    type: Union[Unset, Literal["read-only", "custom"]] = Field(
        description="The type of label. Read-only labels are applied automatically when the runner is configured.",
        default=UNSET,
    )


class Runner(GitHubRestModel):
    """Self hosted runners

    A self hosted runner
    """

    id: int = Field(description="The id of the runner.", default=...)
    name: str = Field(description="The name of the runner.", default=...)
    os: str = Field(description="The Operating System of the runner.", default=...)
    status: str = Field(description="The status of the runner.", default=...)
    busy: bool = Field(default=...)
    labels: List[RunnerLabel] = Field(default=...)


class RunnerApplication(GitHubRestModel):
    """Runner Application

    Runner Application
    """

    os: str = Field(default=...)
    architecture: str = Field(default=...)
    download_url: str = Field(default=...)
    filename: str = Field(default=...)
    temp_download_token: Union[Unset, str] = Field(
        description="A short lived bearer token used to download the runner, if needed.",
        default=UNSET,
    )
    sha256_checksum: Union[Unset, str] = Field(default=UNSET)


class AuthenticationToken(GitHubRestModel):
    """Authentication Token

    Authentication Token
    """

    token: str = Field(description="The token used for authentication", default=...)
    expires_at: datetime = Field(description="The time this token expires", default=...)
    permissions: Union[Unset, AuthenticationTokenPropPermissions] = Field(default=UNSET)
    repositories: Union[Unset, List[Repository]] = Field(
        description="The repositories this token has access to", default=UNSET
    )
    single_file: Union[Unset, Union[str, None]] = Field(default=UNSET)
    repository_selection: Union[Unset, Literal["all", "selected"]] = Field(
        description="Describe whether all repositories have been selected or there's a selection involved",
        default=UNSET,
    )


class AuthenticationTokenPropPermissions(GitHubRestModel):
    """AuthenticationTokenPropPermissions

    Examples:
        {'issues': 'read', 'deployments': 'write'}
    """


class CodeScanningAlertRule(GitHubRestModel):
    """CodeScanningAlertRule"""

    id: Union[Unset, Union[str, None]] = Field(
        description="A unique identifier for the rule used to detect the alert.",
        default=UNSET,
    )
    name: Union[Unset, str] = Field(
        description="The name of the rule used to detect the alert.", default=UNSET
    )
    severity: Union[
        Unset, Union[None, Literal["none", "note", "warning", "error"]]
    ] = Field(description="The severity of the alert.", default=UNSET)
    security_severity_level: Union[
        Unset, Union[None, Literal["low", "medium", "high", "critical"]]
    ] = Field(description="The security severity of the alert.", default=UNSET)
    description: Union[Unset, str] = Field(
        description="A short description of the rule used to detect the alert.",
        default=UNSET,
    )
    full_description: Union[Unset, str] = Field(
        description="description of the rule used to detect the alert.", default=UNSET
    )
    tags: Union[Unset, Union[List[str], None]] = Field(
        description="A set of tags applicable for the rule.", default=UNSET
    )
    help_: Union[Unset, Union[str, None]] = Field(
        description="Detailed documentation for the rule as GitHub Flavored Markdown.",
        default=UNSET,
        alias="help",
    )
    help_uri: Union[Unset, Union[str, None]] = Field(
        description="A link to the documentation for the rule used to detect the alert.",
        default=UNSET,
    )


class CodeScanningAnalysisTool(GitHubRestModel):
    """CodeScanningAnalysisTool"""

    name: Union[Unset, str] = Field(
        description="The name of the tool used to generate the code scanning analysis.",
        default=UNSET,
    )
    version: Union[Unset, Union[str, None]] = Field(
        description="The version of the tool used to generate the code scanning analysis.",
        default=UNSET,
    )
    guid: Union[Unset, Union[str, None]] = Field(
        description="The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data.",
        default=UNSET,
    )


class CodeScanningAlertLocation(GitHubRestModel):
    """CodeScanningAlertLocation

    Describe a region within a file for the alert.
    """

    path: Union[Unset, str] = Field(default=UNSET)
    start_line: Union[Unset, int] = Field(default=UNSET)
    end_line: Union[Unset, int] = Field(default=UNSET)
    start_column: Union[Unset, int] = Field(default=UNSET)
    end_column: Union[Unset, int] = Field(default=UNSET)


class CodeScanningAlertInstance(GitHubRestModel):
    """CodeScanningAlertInstance"""

    ref: Union[Unset, str] = Field(
        description="The full Git reference, formatted as `refs/heads/<branch name>`,\n`refs/pull/<number>/merge`, or `refs/pull/<number>/head`.",
        default=UNSET,
    )
    analysis_key: Union[Unset, str] = Field(
        description="Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name.",
        default=UNSET,
    )
    environment: Union[Unset, str] = Field(
        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.",
        default=UNSET,
    )
    category: Union[Unset, str] = Field(
        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.",
        default=UNSET,
    )
    state: Union[Unset, Literal["open", "closed", "dismissed", "fixed"]] = Field(
        description="State of a code scanning alert.", default=UNSET
    )
    commit_sha: Union[Unset, str] = Field(default=UNSET)
    message: Union[Unset, CodeScanningAlertInstancePropMessage] = Field(default=UNSET)
    location: Union[Unset, CodeScanningAlertLocation] = Field(
        description="Describe a region within a file for the alert.", default=UNSET
    )
    html_url: Union[Unset, str] = Field(default=UNSET)
    classifications: Union[
        Unset, List[Union[None, Literal["source", "generated", "test", "library"]]]
    ] = Field(
        description="Classifications that have been applied to the file that triggered the alert.\nFor example identifying it as documentation, or a generated file.",
        default=UNSET,
    )


class CodeScanningAlertInstancePropMessage(GitHubRestModel):
    """CodeScanningAlertInstancePropMessage"""

    text: Union[Unset, str] = Field(default=UNSET)


class SimpleRepository(GitHubRestModel):
    """Simple Repository

    Simple Repository
    """

    id: int = Field(description="A unique identifier of the repository.", default=...)
    node_id: str = Field(
        description="The GraphQL identifier of the repository.", default=...
    )
    name: str = Field(description="The name of the repository.", default=...)
    full_name: str = Field(
        description="The full, globally unique, name of the repository.", default=...
    )
    owner: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    private: bool = Field(description="Whether the repository is private.", default=...)
    html_url: str = Field(
        description="The URL to view the repository on GitHub.com.", default=...
    )
    description: Union[str, None] = Field(
        description="The repository description.", default=...
    )
    fork: bool = Field(description="Whether the repository is a fork.", default=...)
    url: str = Field(
        description="The URL to get more information about the repository from the GitHub API.",
        default=...,
    )
    archive_url: str = Field(
        description="A template for the API URL to download the repository as an archive.",
        default=...,
    )
    assignees_url: str = Field(
        description="A template for the API URL to list the available assignees for issues in the repository.",
        default=...,
    )
    blobs_url: str = Field(
        description="A template for the API URL to create or retrieve a raw Git blob in the repository.",
        default=...,
    )
    branches_url: str = Field(
        description="A template for the API URL to get information about branches in the repository.",
        default=...,
    )
    collaborators_url: str = Field(
        description="A template for the API URL to get information about collaborators of the repository.",
        default=...,
    )
    comments_url: str = Field(
        description="A template for the API URL to get information about comments on the repository.",
        default=...,
    )
    commits_url: str = Field(
        description="A template for the API URL to get information about commits on the repository.",
        default=...,
    )
    compare_url: str = Field(
        description="A template for the API URL to compare two commits or refs.",
        default=...,
    )
    contents_url: str = Field(
        description="A template for the API URL to get the contents of the repository.",
        default=...,
    )
    contributors_url: str = Field(
        description="A template for the API URL to list the contributors to the repository.",
        default=...,
    )
    deployments_url: str = Field(
        description="The API URL to list the deployments of the repository.",
        default=...,
    )
    downloads_url: str = Field(
        description="The API URL to list the downloads on the repository.", default=...
    )
    events_url: str = Field(
        description="The API URL to list the events of the repository.", default=...
    )
    forks_url: str = Field(
        description="The API URL to list the forks of the repository.", default=...
    )
    git_commits_url: str = Field(
        description="A template for the API URL to get information about Git commits of the repository.",
        default=...,
    )
    git_refs_url: str = Field(
        description="A template for the API URL to get information about Git refs of the repository.",
        default=...,
    )
    git_tags_url: str = Field(
        description="A template for the API URL to get information about Git tags of the repository.",
        default=...,
    )
    issue_comment_url: str = Field(
        description="A template for the API URL to get information about issue comments on the repository.",
        default=...,
    )
    issue_events_url: str = Field(
        description="A template for the API URL to get information about issue events on the repository.",
        default=...,
    )
    issues_url: str = Field(
        description="A template for the API URL to get information about issues on the repository.",
        default=...,
    )
    keys_url: str = Field(
        description="A template for the API URL to get information about deploy keys on the repository.",
        default=...,
    )
    labels_url: str = Field(
        description="A template for the API URL to get information about labels of the repository.",
        default=...,
    )
    languages_url: str = Field(
        description="The API URL to get information about the languages of the repository.",
        default=...,
    )
    merges_url: str = Field(
        description="The API URL to merge branches in the repository.", default=...
    )
    milestones_url: str = Field(
        description="A template for the API URL to get information about milestones of the repository.",
        default=...,
    )
    notifications_url: str = Field(
        description="A template for the API URL to get information about notifications on the repository.",
        default=...,
    )
    pulls_url: str = Field(
        description="A template for the API URL to get information about pull requests on the repository.",
        default=...,
    )
    releases_url: str = Field(
        description="A template for the API URL to get information about releases on the repository.",
        default=...,
    )
    stargazers_url: str = Field(
        description="The API URL to list the stargazers on the repository.", default=...
    )
    statuses_url: str = Field(
        description="A template for the API URL to get information about statuses of a commit.",
        default=...,
    )
    subscribers_url: str = Field(
        description="The API URL to list the subscribers on the repository.",
        default=...,
    )
    subscription_url: str = Field(
        description="The API URL to subscribe to notifications for this repository.",
        default=...,
    )
    tags_url: str = Field(
        description="The API URL to get information about tags on the repository.",
        default=...,
    )
    teams_url: str = Field(
        description="The API URL to list the teams on the repository.", default=...
    )
    trees_url: str = Field(
        description="A template for the API URL to create or retrieve a raw Git tree of the repository.",
        default=...,
    )
    hooks_url: str = Field(
        description="The API URL to list the hooks on the repository.", default=...
    )


class CodeScanningOrganizationAlertItems(GitHubRestModel):
    """CodeScanningOrganizationAlertItems"""

    number: int = Field(description="The security alert number.", default=...)
    created_at: datetime = Field(
        description="The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=...,
    )
    updated_at: Union[Unset, datetime] = Field(
        description="The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=UNSET,
    )
    url: str = Field(description="The REST API URL of the alert resource.", default=...)
    html_url: str = Field(
        description="The GitHub URL of the alert resource.", default=...
    )
    instances_url: str = Field(
        description="The REST API URL for fetching the list of instances for an alert.",
        default=...,
    )
    state: Literal["open", "closed", "dismissed", "fixed"] = Field(
        description="State of a code scanning alert.", default=...
    )
    fixed_at: Union[Unset, Union[datetime, None]] = Field(
        description="The time that the alert was no longer detected and was considered fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=UNSET,
    )
    dismissed_by: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    dismissed_at: Union[datetime, None] = Field(
        description="The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=...,
    )
    dismissed_reason: Union[
        None, Literal["false positive", "won't fix", "used in tests"]
    ] = Field(
        description="**Required when the state is dismissed.** The reason for dismissing or closing the alert.",
        default=...,
    )
    dismissed_comment: Union[Unset, Union[str, None]] = Field(
        description="The dismissal comment associated with the dismissal of the alert.",
        max_length=280,
        default=UNSET,
    )
    rule: CodeScanningAlertRule = Field(default=...)
    tool: CodeScanningAnalysisTool = Field(default=...)
    most_recent_instance: CodeScanningAlertInstance = Field(default=...)
    repository: SimpleRepository = Field(
        title="Simple Repository", description="Simple Repository", default=...
    )


class OrganizationSecretScanningAlert(GitHubRestModel):
    """OrganizationSecretScanningAlert"""

    number: Union[Unset, int] = Field(
        description="The security alert number.", default=UNSET
    )
    created_at: Union[Unset, datetime] = Field(
        description="The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=UNSET,
    )
    updated_at: Union[Unset, Union[None, datetime]] = Field(
        description="The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=UNSET,
    )
    url: Union[Unset, str] = Field(
        description="The REST API URL of the alert resource.", default=UNSET
    )
    html_url: Union[Unset, str] = Field(
        description="The GitHub URL of the alert resource.", default=UNSET
    )
    locations_url: Union[Unset, str] = Field(
        description="The REST API URL of the code locations for this alert.",
        default=UNSET,
    )
    state: Union[Unset, Literal["open", "resolved"]] = Field(
        description="Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`.",
        default=UNSET,
    )
    resolution: Union[
        Unset,
        Union[None, Literal["false_positive", "wont_fix", "revoked", "used_in_tests"]],
    ] = Field(
        description="**Required when the `state` is `resolved`.** The reason for resolving the alert.",
        default=UNSET,
    )
    resolved_at: Union[Unset, Union[datetime, None]] = Field(
        description="The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=UNSET,
    )
    resolved_by: Union[Unset, Union[None, SimpleUser]] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )
    secret_type: Union[Unset, str] = Field(
        description="The type of secret that secret scanning detected.", default=UNSET
    )
    secret_type_display_name: Union[Unset, str] = Field(
        description='User-friendly name for the detected secret, matching the `secret_type`.\nFor 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)."',
        default=UNSET,
    )
    secret: Union[Unset, str] = Field(
        description="The secret that was detected.", default=UNSET
    )
    repository: Union[Unset, SimpleRepository] = Field(
        title="Simple Repository", description="Simple Repository", default=UNSET
    )
    push_protection_bypassed: Union[Unset, Union[bool, None]] = Field(
        description="Whether push protection was bypassed for the detected secret.",
        default=UNSET,
    )
    push_protection_bypassed_by: Union[Unset, Union[None, SimpleUser]] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )
    push_protection_bypassed_at: Union[Unset, Union[datetime, None]] = Field(
        description="The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=UNSET,
    )
    resolution_comment: Union[Unset, Union[str, None]] = Field(
        description="The comment that was optionally added when this alert was closed",
        default=UNSET,
    )


class AdvancedSecurityActiveCommittersUser(GitHubRestModel):
    """AdvancedSecurityActiveCommittersUser"""

    user_login: str = Field(default=...)
    last_pushed_date: str = Field(default=...)


class AdvancedSecurityActiveCommittersRepository(GitHubRestModel):
    """AdvancedSecurityActiveCommittersRepository"""

    name: str = Field(default=...)
    advanced_security_committers: int = Field(default=...)
    advanced_security_committers_breakdown: List[
        AdvancedSecurityActiveCommittersUser
    ] = Field(default=...)


class AdvancedSecurityActiveCommitters(GitHubRestModel):
    """AdvancedSecurityActiveCommitters"""

    total_advanced_security_committers: Union[Unset, int] = Field(default=UNSET)
    total_count: Union[Unset, int] = Field(default=UNSET)
    repositories: List[AdvancedSecurityActiveCommittersRepository] = Field(default=...)


class Actor(GitHubRestModel):
    """Actor

    Actor
    """

    id: int = Field(default=...)
    login: str = Field(default=...)
    display_login: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[str, None] = Field(default=...)
    url: str = Field(default=...)
    avatar_url: str = Field(default=...)


class Milestone(GitHubRestModel):
    """Milestone

    A collection of related issues and pull requests.
    """

    url: str = Field(default=...)
    html_url: str = Field(default=...)
    labels_url: str = Field(default=...)
    id: int = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default="open"
    )
    title: str = Field(description="The title of the milestone.", default=...)
    description: Union[str, None] = Field(default=...)
    creator: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    open_issues: int = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)
    closed_at: Union[datetime, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)


class ReactionRollup(GitHubRestModel):
    """Reaction Rollup"""

    url: str = Field(default=...)
    total_count: int = Field(default=...)
    plus_one: int = Field(default=..., alias="+1")
    minus_one: int = Field(default=..., alias="-1")
    laugh: int = Field(default=...)
    confused: int = Field(default=...)
    heart: int = Field(default=...)
    hooray: int = Field(default=...)
    eyes: int = Field(default=...)
    rocket: int = Field(default=...)


class Issue(GitHubRestModel):
    """Issue

    Issues are a great way to keep track of tasks, enhancements, and bugs for your
    projects.
    """

    id: int = Field(default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the issue", default=...)
    repository_url: str = Field(default=...)
    labels_url: str = Field(default=...)
    comments_url: str = Field(default=...)
    events_url: str = Field(default=...)
    html_url: str = Field(default=...)
    number: int = Field(
        description="Number uniquely identifying the issue within its repository",
        default=...,
    )
    state: str = Field(
        description="State of the issue; either 'open' or 'closed'", default=...
    )
    state_reason: Union[
        Unset, Union[None, Literal["completed", "reopened", "not_planned"]]
    ] = Field(description="The reason for the current state", default=UNSET)
    title: str = Field(description="Title of the issue", default=...)
    body: Union[Unset, Union[str, None]] = Field(
        description="Contents of the issue", default=UNSET
    )
    user: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    labels: List[Union[str, IssuePropLabelsItemsOneof1]] = Field(
        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",
        default=...,
    )
    assignee: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    assignees: Union[Unset, Union[List[SimpleUser], None]] = Field(default=UNSET)
    milestone: Union[None, Milestone] = Field(
        title="Milestone",
        description="A collection of related issues and pull requests.",
        default=...,
    )
    locked: bool = Field(default=...)
    active_lock_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    comments: int = Field(default=...)
    pull_request: Union[Unset, IssuePropPullRequest] = Field(default=UNSET)
    closed_at: Union[datetime, None] = Field(default=...)
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)
    draft: Union[Unset, bool] = Field(default=UNSET)
    closed_by: Union[Unset, Union[None, SimpleUser]] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )
    body_html: Union[Unset, Union[str, None]] = Field(default=UNSET)
    body_text: Union[Unset, Union[str, None]] = Field(default=UNSET)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    repository: Union[Unset, Repository] = Field(
        title="Repository", description="A git repository", default=UNSET
    )
    performed_via_github_app: Union[Unset, Union[None, Integration]] = Field(
        title="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.",
        default=UNSET,
    )
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="author_association",
        description="How the author is associated with the repository.",
        default=...,
    )
    reactions: Union[Unset, ReactionRollup] = Field(
        title="Reaction Rollup", default=UNSET
    )


class IssuePropLabelsItemsOneof1(GitHubRestModel):
    """IssuePropLabelsItemsOneof1"""

    id: Union[Unset, int] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)
    name: Union[Unset, str] = Field(default=UNSET)
    description: Union[Unset, Union[str, None]] = Field(default=UNSET)
    color: Union[Unset, Union[str, None]] = Field(default=UNSET)
    default: Union[Unset, bool] = Field(default=UNSET)


class IssuePropPullRequest(GitHubRestModel):
    """IssuePropPullRequest"""

    merged_at: Union[Unset, Union[datetime, None]] = Field(default=UNSET)
    diff_url: Union[str, None] = Field(default=...)
    html_url: Union[str, None] = Field(default=...)
    patch_url: Union[str, None] = Field(default=...)
    url: Union[str, None] = Field(default=...)


class IssueComment(GitHubRestModel):
    """Issue Comment

    Comments provide a way for people to collaborate on an issue.
    """

    id: int = Field(description="Unique identifier of the issue comment", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the issue comment", default=...)
    body: Union[Unset, str] = Field(
        description="Contents of the issue comment", default=UNSET
    )
    body_text: Union[Unset, str] = Field(default=UNSET)
    body_html: Union[Unset, str] = Field(default=UNSET)
    html_url: str = Field(default=...)
    user: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)
    issue_url: str = Field(default=...)
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="author_association",
        description="How the author is associated with the repository.",
        default=...,
    )
    performed_via_github_app: Union[Unset, Union[None, Integration]] = Field(
        title="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.",
        default=UNSET,
    )
    reactions: Union[Unset, ReactionRollup] = Field(
        title="Reaction Rollup", default=UNSET
    )


class Event(GitHubRestModel):
    """Event

    Event
    """

    id: str = Field(default=...)
    type: Union[str, None] = Field(default=...)
    actor: Actor = Field(title="Actor", description="Actor", default=...)
    repo: EventPropRepo = Field(default=...)
    org: Union[Unset, Actor] = Field(title="Actor", description="Actor", default=UNSET)
    payload: EventPropPayload = Field(default=...)
    public: bool = Field(default=...)
    created_at: Union[datetime, None] = Field(default=...)


class EventPropRepo(GitHubRestModel):
    """EventPropRepo"""

    id: int = Field(default=...)
    name: str = Field(default=...)
    url: str = Field(default=...)


class EventPropPayload(GitHubRestModel):
    """EventPropPayload"""

    action: Union[Unset, str] = Field(default=UNSET)
    issue: Union[Unset, Issue] = Field(
        title="Issue",
        description="Issues are a great way to keep track of tasks, enhancements, and bugs for your projects.",
        default=UNSET,
    )
    comment: Union[Unset, IssueComment] = Field(
        title="Issue Comment",
        description="Comments provide a way for people to collaborate on an issue.",
        default=UNSET,
    )
    pages: Union[Unset, List[EventPropPayloadPropPagesItems]] = Field(default=UNSET)


class EventPropPayloadPropPagesItems(GitHubRestModel):
    """EventPropPayloadPropPagesItems"""

    page_name: Union[Unset, str] = Field(default=UNSET)
    title: Union[Unset, str] = Field(default=UNSET)
    summary: Union[Unset, Union[str, None]] = Field(default=UNSET)
    action: Union[Unset, str] = Field(default=UNSET)
    sha: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)


class LinkWithType(GitHubRestModel):
    """Link With Type

    Hypermedia Link with Type
    """

    href: str = Field(default=...)
    type: str = Field(default=...)


class Feed(GitHubRestModel):
    """Feed

    Feed
    """

    timeline_url: str = Field(default=...)
    user_url: str = Field(default=...)
    current_user_public_url: Union[Unset, str] = Field(default=UNSET)
    current_user_url: Union[Unset, str] = Field(default=UNSET)
    current_user_actor_url: Union[Unset, str] = Field(default=UNSET)
    current_user_organization_url: Union[Unset, str] = Field(default=UNSET)
    current_user_organization_urls: Union[Unset, List[str]] = Field(default=UNSET)
    security_advisories_url: Union[Unset, str] = Field(default=UNSET)
    links: FeedPropLinks = Field(default=..., alias="_links")


class FeedPropLinks(GitHubRestModel):
    """FeedPropLinks"""

    timeline: LinkWithType = Field(
        title="Link With Type", description="Hypermedia Link with Type", default=...
    )
    user: LinkWithType = Field(
        title="Link With Type", description="Hypermedia Link with Type", default=...
    )
    security_advisories: Union[Unset, LinkWithType] = Field(
        title="Link With Type", description="Hypermedia Link with Type", default=UNSET
    )
    current_user: Union[Unset, LinkWithType] = Field(
        title="Link With Type", description="Hypermedia Link with Type", default=UNSET
    )
    current_user_public: Union[Unset, LinkWithType] = Field(
        title="Link With Type", description="Hypermedia Link with Type", default=UNSET
    )
    current_user_actor: Union[Unset, LinkWithType] = Field(
        title="Link With Type", description="Hypermedia Link with Type", default=UNSET
    )
    current_user_organization: Union[Unset, LinkWithType] = Field(
        title="Link With Type", description="Hypermedia Link with Type", default=UNSET
    )
    current_user_organizations: Union[Unset, List[LinkWithType]] = Field(default=UNSET)


class BaseGist(GitHubRestModel):
    """Base Gist

    Base Gist
    """

    url: str = Field(default=...)
    forks_url: str = Field(default=...)
    commits_url: str = Field(default=...)
    id: str = Field(default=...)
    node_id: str = Field(default=...)
    git_pull_url: str = Field(default=...)
    git_push_url: str = Field(default=...)
    html_url: str = Field(default=...)
    files: BaseGistPropFiles = Field(default=...)
    public: bool = Field(default=...)
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)
    description: Union[str, None] = Field(default=...)
    comments: int = Field(default=...)
    user: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    comments_url: str = Field(default=...)
    owner: Union[Unset, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )
    truncated: Union[Unset, bool] = Field(default=UNSET)
    forks: Union[Unset, List[Any]] = Field(default=UNSET)
    history: Union[Unset, List[Any]] = Field(default=UNSET)


class BaseGistPropFiles(GitHubRestModel, extra=Extra.allow):
    """BaseGistPropFiles"""


class PublicUser(GitHubRestModel):
    """Public User

    Public User
    """

    login: str = Field(default=...)
    id: int = Field(default=...)
    node_id: str = Field(default=...)
    avatar_url: str = Field(default=...)
    gravatar_id: Union[str, None] = Field(default=...)
    url: str = Field(default=...)
    html_url: str = Field(default=...)
    followers_url: str = Field(default=...)
    following_url: str = Field(default=...)
    gists_url: str = Field(default=...)
    starred_url: str = Field(default=...)
    subscriptions_url: str = Field(default=...)
    organizations_url: str = Field(default=...)
    repos_url: str = Field(default=...)
    events_url: str = Field(default=...)
    received_events_url: str = Field(default=...)
    type: str = Field(default=...)
    site_admin: bool = Field(default=...)
    name: Union[str, None] = Field(default=...)
    company: Union[str, None] = Field(default=...)
    blog: Union[str, None] = Field(default=...)
    location: Union[str, None] = Field(default=...)
    email: Union[str, None] = Field(default=...)
    hireable: Union[bool, None] = Field(default=...)
    bio: Union[str, None] = Field(default=...)
    twitter_username: Union[Unset, Union[str, None]] = Field(default=UNSET)
    public_repos: int = Field(default=...)
    public_gists: int = Field(default=...)
    followers: int = Field(default=...)
    following: int = Field(default=...)
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)
    plan: Union[Unset, PublicUserPropPlan] = Field(default=UNSET)
    suspended_at: Union[Unset, Union[datetime, None]] = Field(default=UNSET)
    private_gists: Union[Unset, int] = Field(default=UNSET)
    total_private_repos: Union[Unset, int] = Field(default=UNSET)
    owned_private_repos: Union[Unset, int] = Field(default=UNSET)
    disk_usage: Union[Unset, int] = Field(default=UNSET)
    collaborators: Union[Unset, int] = Field(default=UNSET)


class PublicUserPropPlan(GitHubRestModel):
    """PublicUserPropPlan"""

    collaborators: int = Field(default=...)
    name: str = Field(default=...)
    space: int = Field(default=...)
    private_repos: int = Field(default=...)


class GistHistory(GitHubRestModel):
    """Gist History

    Gist History
    """

    user: Union[Unset, Union[None, SimpleUser]] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )
    version: Union[Unset, str] = Field(default=UNSET)
    committed_at: Union[Unset, datetime] = Field(default=UNSET)
    change_status: Union[Unset, GistHistoryPropChangeStatus] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class GistHistoryPropChangeStatus(GitHubRestModel):
    """GistHistoryPropChangeStatus"""

    total: Union[Unset, int] = Field(default=UNSET)
    additions: Union[Unset, int] = Field(default=UNSET)
    deletions: Union[Unset, int] = Field(default=UNSET)


class GistSimple(GitHubRestModel):
    """Gist Simple

    Gist Simple
    """

    forks: Union[Unset, Union[List[GistSimplePropForksItems], None]] = Field(
        default=UNSET
    )
    history: Union[Unset, Union[List[GistHistory], None]] = Field(default=UNSET)
    fork_of: Union[Unset, Union[GistSimplePropForkOf, None]] = Field(
        title="Gist", description="Gist", default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)
    forks_url: Union[Unset, str] = Field(default=UNSET)
    commits_url: Union[Unset, str] = Field(default=UNSET)
    id: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    git_pull_url: Union[Unset, str] = Field(default=UNSET)
    git_push_url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    files: Union[Unset, GistSimplePropFiles] = Field(default=UNSET)
    public: Union[Unset, bool] = Field(default=UNSET)
    created_at: Union[Unset, str] = Field(default=UNSET)
    updated_at: Union[Unset, str] = Field(default=UNSET)
    description: Union[Unset, Union[str, None]] = Field(default=UNSET)
    comments: Union[Unset, int] = Field(default=UNSET)
    user: Union[Unset, Union[str, None]] = Field(default=UNSET)
    comments_url: Union[Unset, str] = Field(default=UNSET)
    owner: Union[Unset, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )
    truncated: Union[Unset, bool] = Field(default=UNSET)


class GistSimplePropForksItems(GitHubRestModel):
    """GistSimplePropForksItems"""

    id: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)
    user: Union[Unset, PublicUser] = Field(
        title="Public User", description="Public User", default=UNSET
    )
    created_at: Union[Unset, datetime] = Field(default=UNSET)
    updated_at: Union[Unset, datetime] = Field(default=UNSET)


class GistSimplePropForkOfPropFiles(GitHubRestModel, extra=Extra.allow):
    """GistSimplePropForkOfPropFiles"""


class GistSimplePropForkOf(GitHubRestModel):
    """Gist

    Gist
    """

    url: str = Field(default=...)
    forks_url: str = Field(default=...)
    commits_url: str = Field(default=...)
    id: str = Field(default=...)
    node_id: str = Field(default=...)
    git_pull_url: str = Field(default=...)
    git_push_url: str = Field(default=...)
    html_url: str = Field(default=...)
    files: GistSimplePropForkOfPropFiles = Field(default=...)
    public: bool = Field(default=...)
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)
    description: Union[str, None] = Field(default=...)
    comments: int = Field(default=...)
    user: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    comments_url: str = Field(default=...)
    owner: Union[Unset, Union[None, SimpleUser]] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )
    truncated: Union[Unset, bool] = Field(default=UNSET)
    forks: Union[Unset, List[Any]] = Field(default=UNSET)
    history: Union[Unset, List[Any]] = Field(default=UNSET)


class GistSimplePropFiles(GitHubRestModel, extra=Extra.allow):
    """GistSimplePropFiles"""


class GistComment(GitHubRestModel):
    """Gist Comment

    A comment made to a gist.
    """

    id: int = Field(default=...)
    node_id: str = Field(default=...)
    url: str = Field(default=...)
    body: str = Field(description="The comment text.", max_length=65535, default=...)
    user: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="author_association",
        description="How the author is associated with the repository.",
        default=...,
    )


class GistCommit(GitHubRestModel):
    """Gist Commit

    Gist Commit
    """

    url: str = Field(default=...)
    version: str = Field(default=...)
    user: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    change_status: GistCommitPropChangeStatus = Field(default=...)
    committed_at: datetime = Field(default=...)


class GistCommitPropChangeStatus(GitHubRestModel):
    """GistCommitPropChangeStatus"""

    total: Union[Unset, int] = Field(default=UNSET)
    additions: Union[Unset, int] = Field(default=UNSET)
    deletions: Union[Unset, int] = Field(default=UNSET)


class GitignoreTemplate(GitHubRestModel):
    """Gitignore Template

    Gitignore Template
    """

    name: str = Field(default=...)
    source: str = Field(default=...)


class License(GitHubRestModel):
    """License

    License
    """

    key: str = Field(default=...)
    name: str = Field(default=...)
    spdx_id: Union[str, None] = Field(default=...)
    url: Union[str, None] = Field(default=...)
    node_id: str = Field(default=...)
    html_url: str = Field(default=...)
    description: str = Field(default=...)
    implementation: str = Field(default=...)
    permissions: List[str] = Field(default=...)
    conditions: List[str] = Field(default=...)
    limitations: List[str] = Field(default=...)
    body: str = Field(default=...)
    featured: bool = Field(default=...)


class MarketplaceListingPlan(GitHubRestModel):
    """Marketplace Listing Plan

    Marketplace Listing Plan
    """

    url: str = Field(default=...)
    accounts_url: str = Field(default=...)
    id: int = Field(default=...)
    number: int = Field(default=...)
    name: str = Field(default=...)
    description: str = Field(default=...)
    monthly_price_in_cents: int = Field(default=...)
    yearly_price_in_cents: int = Field(default=...)
    price_model: str = Field(default=...)
    has_free_trial: bool = Field(default=...)
    unit_name: Union[str, None] = Field(default=...)
    state: str = Field(default=...)
    bullets: List[str] = Field(default=...)


class MarketplacePurchase(GitHubRestModel):
    """Marketplace Purchase

    Marketplace Purchase
    """

    url: str = Field(default=...)
    type: str = Field(default=...)
    id: int = Field(default=...)
    login: str = Field(default=...)
    organization_billing_email: Union[Unset, str] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    marketplace_pending_change: Union[
        Unset, Union[MarketplacePurchasePropMarketplacePendingChange, None]
    ] = Field(default=UNSET)
    marketplace_purchase: MarketplacePurchasePropMarketplacePurchase = Field(
        default=...
    )


class MarketplacePurchasePropMarketplacePendingChange(GitHubRestModel):
    """MarketplacePurchasePropMarketplacePendingChange"""

    is_installed: Union[Unset, bool] = Field(default=UNSET)
    effective_date: Union[Unset, str] = Field(default=UNSET)
    unit_count: Union[Unset, Union[int, None]] = Field(default=UNSET)
    id: Union[Unset, int] = Field(default=UNSET)
    plan: Union[Unset, MarketplaceListingPlan] = Field(
        title="Marketplace Listing Plan",
        description="Marketplace Listing Plan",
        default=UNSET,
    )


class MarketplacePurchasePropMarketplacePurchase(GitHubRestModel):
    """MarketplacePurchasePropMarketplacePurchase"""

    billing_cycle: Union[Unset, str] = Field(default=UNSET)
    next_billing_date: Union[Unset, Union[str, None]] = Field(default=UNSET)
    is_installed: Union[Unset, bool] = Field(default=UNSET)
    unit_count: Union[Unset, Union[int, None]] = Field(default=UNSET)
    on_free_trial: Union[Unset, bool] = Field(default=UNSET)
    free_trial_ends_on: Union[Unset, Union[str, None]] = Field(default=UNSET)
    updated_at: Union[Unset, str] = Field(default=UNSET)
    plan: Union[Unset, MarketplaceListingPlan] = Field(
        title="Marketplace Listing Plan",
        description="Marketplace Listing Plan",
        default=UNSET,
    )


class ApiOverview(GitHubRestModel):
    """Api Overview

    Api Overview
    """

    verifiable_password_authentication: bool = Field(default=...)
    ssh_key_fingerprints: Union[Unset, ApiOverviewPropSshKeyFingerprints] = Field(
        default=UNSET
    )
    ssh_keys: Union[Unset, List[str]] = Field(default=UNSET)
    hooks: Union[Unset, List[str]] = Field(default=UNSET)
    web: Union[Unset, List[str]] = Field(default=UNSET)
    api: Union[Unset, List[str]] = Field(default=UNSET)
    git: Union[Unset, List[str]] = Field(default=UNSET)
    packages: Union[Unset, List[str]] = Field(default=UNSET)
    pages: Union[Unset, List[str]] = Field(default=UNSET)
    importer: Union[Unset, List[str]] = Field(default=UNSET)
    actions: Union[Unset, List[str]] = Field(default=UNSET)
    dependabot: Union[Unset, List[str]] = Field(default=UNSET)


class ApiOverviewPropSshKeyFingerprints(GitHubRestModel):
    """ApiOverviewPropSshKeyFingerprints"""

    sha256_rsa: Union[Unset, str] = Field(default=UNSET, alias="SHA256_RSA")
    sha256_dsa: Union[Unset, str] = Field(default=UNSET, alias="SHA256_DSA")
    sha256_ecdsa: Union[Unset, str] = Field(default=UNSET, alias="SHA256_ECDSA")
    sha256_ed25519: Union[Unset, str] = Field(default=UNSET, alias="SHA256_ED25519")


class MinimalRepository(GitHubRestModel):
    """Minimal Repository

    Minimal Repository
    """

    id: int = Field(default=...)
    node_id: str = Field(default=...)
    name: str = Field(default=...)
    full_name: str = Field(default=...)
    owner: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    private: bool = Field(default=...)
    html_url: str = Field(default=...)
    description: Union[str, None] = Field(default=...)
    fork: bool = Field(default=...)
    url: str = Field(default=...)
    archive_url: str = Field(default=...)
    assignees_url: str = Field(default=...)
    blobs_url: str = Field(default=...)
    branches_url: str = Field(default=...)
    collaborators_url: str = Field(default=...)
    comments_url: str = Field(default=...)
    commits_url: str = Field(default=...)
    compare_url: str = Field(default=...)
    contents_url: str = Field(default=...)
    contributors_url: str = Field(default=...)
    deployments_url: str = Field(default=...)
    downloads_url: str = Field(default=...)
    events_url: str = Field(default=...)
    forks_url: str = Field(default=...)
    git_commits_url: str = Field(default=...)
    git_refs_url: str = Field(default=...)
    git_tags_url: str = Field(default=...)
    git_url: Union[Unset, str] = Field(default=UNSET)
    issue_comment_url: str = Field(default=...)
    issue_events_url: str = Field(default=...)
    issues_url: str = Field(default=...)
    keys_url: str = Field(default=...)
    labels_url: str = Field(default=...)
    languages_url: str = Field(default=...)
    merges_url: str = Field(default=...)
    milestones_url: str = Field(default=...)
    notifications_url: str = Field(default=...)
    pulls_url: str = Field(default=...)
    releases_url: str = Field(default=...)
    ssh_url: Union[Unset, str] = Field(default=UNSET)
    stargazers_url: str = Field(default=...)
    statuses_url: str = Field(default=...)
    subscribers_url: str = Field(default=...)
    subscription_url: str = Field(default=...)
    tags_url: str = Field(default=...)
    teams_url: str = Field(default=...)
    trees_url: str = Field(default=...)
    clone_url: Union[Unset, str] = Field(default=UNSET)
    mirror_url: Union[Unset, Union[str, None]] = Field(default=UNSET)
    hooks_url: str = Field(default=...)
    svn_url: Union[Unset, str] = Field(default=UNSET)
    homepage: Union[Unset, Union[str, None]] = Field(default=UNSET)
    language: Union[Unset, Union[str, None]] = Field(default=UNSET)
    forks_count: Union[Unset, int] = Field(default=UNSET)
    stargazers_count: Union[Unset, int] = Field(default=UNSET)
    watchers_count: Union[Unset, int] = Field(default=UNSET)
    size: Union[Unset, int] = Field(
        description="The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0.",
        default=UNSET,
    )
    default_branch: Union[Unset, str] = Field(default=UNSET)
    open_issues_count: Union[Unset, int] = Field(default=UNSET)
    is_template: Union[Unset, bool] = Field(default=UNSET)
    topics: Union[Unset, List[str]] = Field(default=UNSET)
    has_issues: Union[Unset, bool] = Field(default=UNSET)
    has_projects: Union[Unset, bool] = Field(default=UNSET)
    has_wiki: Union[Unset, bool] = Field(default=UNSET)
    has_pages: Union[Unset, bool] = Field(default=UNSET)
    has_downloads: Union[Unset, bool] = Field(default=UNSET)
    archived: Union[Unset, bool] = Field(default=UNSET)
    disabled: Union[Unset, bool] = Field(default=UNSET)
    visibility: Union[Unset, str] = Field(default=UNSET)
    pushed_at: Union[Unset, Union[datetime, None]] = Field(default=UNSET)
    created_at: Union[Unset, Union[datetime, None]] = Field(default=UNSET)
    updated_at: Union[Unset, Union[datetime, None]] = Field(default=UNSET)
    permissions: Union[Unset, MinimalRepositoryPropPermissions] = Field(default=UNSET)
    role_name: Union[Unset, str] = Field(default=UNSET)
    temp_clone_token: Union[Unset, str] = Field(default=UNSET)
    delete_branch_on_merge: Union[Unset, bool] = Field(default=UNSET)
    subscribers_count: Union[Unset, int] = Field(default=UNSET)
    network_count: Union[Unset, int] = Field(default=UNSET)
    code_of_conduct: Union[Unset, CodeOfConduct] = Field(
        title="Code Of Conduct", description="Code Of Conduct", default=UNSET
    )
    license_: Union[Unset, Union[MinimalRepositoryPropLicense, None]] = Field(
        default=UNSET, alias="license"
    )
    forks: Union[Unset, int] = Field(default=UNSET)
    open_issues: Union[Unset, int] = Field(default=UNSET)
    watchers: Union[Unset, int] = Field(default=UNSET)
    allow_forking: Union[Unset, bool] = Field(default=UNSET)
    web_commit_signoff_required: Union[Unset, bool] = Field(default=UNSET)


class MinimalRepositoryPropPermissions(GitHubRestModel):
    """MinimalRepositoryPropPermissions"""

    admin: Union[Unset, bool] = Field(default=UNSET)
    maintain: Union[Unset, bool] = Field(default=UNSET)
    push: Union[Unset, bool] = Field(default=UNSET)
    triage: Union[Unset, bool] = Field(default=UNSET)
    pull: Union[Unset, bool] = Field(default=UNSET)


class MinimalRepositoryPropLicense(GitHubRestModel):
    """MinimalRepositoryPropLicense"""

    key: Union[Unset, str] = Field(default=UNSET)
    name: Union[Unset, str] = Field(default=UNSET)
    spdx_id: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)


class Thread(GitHubRestModel):
    """Thread

    Thread
    """

    id: str = Field(default=...)
    repository: MinimalRepository = Field(
        title="Minimal Repository", description="Minimal Repository", default=...
    )
    subject: ThreadPropSubject = Field(default=...)
    reason: str = Field(default=...)
    unread: bool = Field(default=...)
    updated_at: str = Field(default=...)
    last_read_at: Union[str, None] = Field(default=...)
    url: str = Field(default=...)
    subscription_url: str = Field(default=...)


class ThreadPropSubject(GitHubRestModel):
    """ThreadPropSubject"""

    title: str = Field(default=...)
    url: str = Field(default=...)
    latest_comment_url: str = Field(default=...)
    type: str = Field(default=...)


class ThreadSubscription(GitHubRestModel):
    """Thread Subscription

    Thread Subscription
    """

    subscribed: bool = Field(default=...)
    ignored: bool = Field(default=...)
    reason: Union[str, None] = Field(default=...)
    created_at: Union[datetime, None] = Field(default=...)
    url: str = Field(default=...)
    thread_url: Union[Unset, str] = Field(default=UNSET)
    repository_url: Union[Unset, str] = Field(default=UNSET)


class OrganizationCustomRepositoryRole(GitHubRestModel):
    """Organization Custom Repository Role

    Custom repository roles created by organization administrators
    """

    id: int = Field(
        description="The unique identifier of the custom role.", default=...
    )
    name: str = Field(description="The name of the custom role.", default=...)
    description: Union[Unset, Union[str, None]] = Field(
        description="A short description about who this role is for or what permissions it grants.",
        default=UNSET,
    )
    base_role: Union[Unset, Literal["read", "triage", "write", "maintain"]] = Field(
        description="The system role from which this role inherits permissions.",
        default=UNSET,
    )
    permissions: Union[Unset, List[str]] = Field(
        description="A list of additional permissions included in this role.",
        default=UNSET,
    )
    organization: Union[Unset, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )
    created_at: Union[Unset, datetime] = Field(default=UNSET)
    updated_at: Union[Unset, datetime] = Field(default=UNSET)


class OrganizationFull(GitHubRestModel):
    """Organization Full

    Organization Full
    """

    login: str = Field(default=...)
    id: int = Field(default=...)
    node_id: str = Field(default=...)
    url: str = Field(default=...)
    repos_url: str = Field(default=...)
    events_url: str = Field(default=...)
    hooks_url: str = Field(default=...)
    issues_url: str = Field(default=...)
    members_url: str = Field(default=...)
    public_members_url: str = Field(default=...)
    avatar_url: str = Field(default=...)
    description: Union[str, None] = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    company: Union[Unset, str] = Field(default=UNSET)
    blog: Union[Unset, str] = Field(default=UNSET)
    location: Union[Unset, str] = Field(default=UNSET)
    email: Union[Unset, str] = Field(default=UNSET)
    twitter_username: Union[Unset, Union[str, None]] = Field(default=UNSET)
    is_verified: Union[Unset, bool] = Field(default=UNSET)
    has_organization_projects: bool = Field(default=...)
    has_repository_projects: bool = Field(default=...)
    public_repos: int = Field(default=...)
    public_gists: int = Field(default=...)
    followers: int = Field(default=...)
    following: int = Field(default=...)
    html_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    type: str = Field(default=...)
    total_private_repos: Union[Unset, int] = Field(default=UNSET)
    owned_private_repos: Union[Unset, int] = Field(default=UNSET)
    private_gists: Union[Unset, Union[int, None]] = Field(default=UNSET)
    disk_usage: Union[Unset, Union[int, None]] = Field(default=UNSET)
    collaborators: Union[Unset, Union[int, None]] = Field(default=UNSET)
    billing_email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    plan: Union[Unset, OrganizationFullPropPlan] = Field(default=UNSET)
    default_repository_permission: Union[Unset, Union[str, None]] = Field(default=UNSET)
    members_can_create_repositories: Union[Unset, Union[bool, None]] = Field(
        default=UNSET
    )
    two_factor_requirement_enabled: Union[Unset, Union[bool, None]] = Field(
        default=UNSET
    )
    members_allowed_repository_creation_type: Union[Unset, str] = Field(default=UNSET)
    members_can_create_public_repositories: Union[Unset, bool] = Field(default=UNSET)
    members_can_create_private_repositories: Union[Unset, bool] = Field(default=UNSET)
    members_can_create_internal_repositories: Union[Unset, bool] = Field(default=UNSET)
    members_can_create_pages: Union[Unset, bool] = Field(default=UNSET)
    members_can_create_public_pages: Union[Unset, bool] = Field(default=UNSET)
    members_can_create_private_pages: Union[Unset, bool] = Field(default=UNSET)
    members_can_fork_private_repositories: Union[Unset, Union[bool, None]] = Field(
        default=UNSET
    )
    web_commit_signoff_required: Union[Unset, bool] = Field(default=UNSET)
    updated_at: datetime = Field(default=...)
    advanced_security_enabled_for_new_repositories: Union[Unset, bool] = Field(
        description="Whether GitHub Advanced Security is enabled for new repositories and repositories transferred to this organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.",
        default=UNSET,
    )
    dependabot_alerts_enabled_for_new_repositories: Union[Unset, bool] = Field(
        description="Whether GitHub Advanced Security is automatically enabled for new repositories and repositories transferred to\nthis organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.",
        default=UNSET,
    )
    dependabot_security_updates_enabled_for_new_repositories: Union[
        Unset, bool
    ] = Field(
        description="Whether dependabot security updates are automatically enabled for new repositories and repositories transferred\nto this organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.",
        default=UNSET,
    )
    dependency_graph_enabled_for_new_repositories: Union[Unset, bool] = Field(
        description="Whether dependency graph is automatically enabled for new repositories and repositories transferred to this\norganization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.",
        default=UNSET,
    )
    secret_scanning_enabled_for_new_repositories: Union[Unset, bool] = Field(
        description="Whether secret scanning is automatically enabled for new repositories and repositories transferred to this\norganization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.",
        default=UNSET,
    )
    secret_scanning_push_protection_enabled_for_new_repositories: Union[
        Unset, bool
    ] = Field(
        description="Whether secret scanning push protection is automatically enabled for new repositories and repositories\ntransferred to this organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.",
        default=UNSET,
    )


class OrganizationFullPropPlan(GitHubRestModel):
    """OrganizationFullPropPlan"""

    name: str = Field(default=...)
    space: int = Field(default=...)
    private_repos: int = Field(default=...)
    filled_seats: Union[Unset, int] = Field(default=UNSET)
    seats: Union[Unset, int] = Field(default=UNSET)


class ActionsCacheUsageByRepository(GitHubRestModel):
    """Actions Cache Usage by repository

    GitHub Actions Cache Usage by repository.
    """

    full_name: str = Field(
        description="The repository owner and name for the cache usage being shown.",
        default=...,
    )
    active_caches_size_in_bytes: int = Field(
        description="The sum of the size in bytes of all the active cache items in the repository.",
        default=...,
    )
    active_caches_count: int = Field(
        description="The number of active caches in the repository.", default=...
    )


class ActionsOrganizationPermissions(GitHubRestModel):
    """ActionsOrganizationPermissions"""

    enabled_repositories: Literal["all", "none", "selected"] = Field(
        description="The policy that controls the repositories in the organization that are allowed to run GitHub Actions.",
        default=...,
    )
    selected_repositories_url: Union[Unset, str] = Field(
        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`.",
        default=UNSET,
    )
    allowed_actions: Union[Unset, Literal["all", "local_only", "selected"]] = Field(
        description="The permissions policy that controls the actions and reusable workflows that are allowed to run.",
        default=UNSET,
    )
    selected_actions_url: Union[Unset, str] = Field(
        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`.",
        default=UNSET,
    )


class RunnerGroupsOrg(GitHubRestModel):
    """RunnerGroupsOrg"""

    id: float = Field(default=...)
    name: str = Field(default=...)
    visibility: str = Field(default=...)
    default: bool = Field(default=...)
    selected_repositories_url: Union[Unset, str] = Field(
        description="Link to the selected repositories resource for this runner group. Not present unless visibility was set to `selected`",
        default=UNSET,
    )
    runners_url: str = Field(default=...)
    inherited: bool = Field(default=...)
    inherited_allows_public_repositories: Union[Unset, bool] = Field(default=UNSET)
    allows_public_repositories: bool = Field(default=...)
    workflow_restrictions_read_only: Union[Unset, bool] = Field(
        description="If `true`, the `restricted_to_workflows` and `selected_workflows` fields cannot be modified.",
        default=False,
    )
    restricted_to_workflows: Union[Unset, bool] = Field(
        description="If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array.",
        default=False,
    )
    selected_workflows: Union[Unset, List[str]] = Field(
        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`.",
        default=UNSET,
    )


class OrganizationActionsSecret(GitHubRestModel):
    """Actions Secret for an Organization

    Secrets for GitHub Actions for an organization.
    """

    name: str = Field(description="The name of the secret.", default=...)
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)
    visibility: Literal["all", "private", "selected"] = Field(
        description="Visibility of a secret", default=...
    )
    selected_repositories_url: Union[Unset, str] = Field(default=UNSET)


class ActionsPublicKey(GitHubRestModel):
    """ActionsPublicKey

    The public key used for setting Actions Secrets.
    """

    key_id: str = Field(description="The identifier for the key.", default=...)
    key: str = Field(description="The Base64 encoded public key.", default=...)
    id: Union[Unset, int] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)
    title: Union[Unset, str] = Field(default=UNSET)
    created_at: Union[Unset, str] = Field(default=UNSET)


class EmptyObject(GitHubRestModel):
    """Empty Object

    An object without any properties.
    """


class CodespaceMachine(GitHubRestModel):
    """Codespace machine

    A description of the machine powering a codespace.
    """

    name: str = Field(description="The name of the machine.", default=...)
    display_name: str = Field(
        description="The display name of the machine includes cores, memory, and storage.",
        default=...,
    )
    operating_system: str = Field(
        description="The operating system of the machine.", default=...
    )
    storage_in_bytes: int = Field(
        description="How much storage is available to the codespace.", default=...
    )
    memory_in_bytes: int = Field(
        description="How much memory is available to the codespace.", default=...
    )
    cpus: int = Field(
        description="How many cores are available to the codespace.", default=...
    )
    prebuild_availability: Union[None, Literal["none", "ready", "in_progress"]] = Field(
        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.',
        default=...,
    )


class Codespace(GitHubRestModel):
    """Codespace

    A codespace.
    """

    id: int = Field(default=...)
    name: str = Field(
        description="Automatically generated name of this codespace.", default=...
    )
    display_name: Union[Unset, Union[str, None]] = Field(
        description="Display name for this codespace.", default=UNSET
    )
    environment_id: Union[str, None] = Field(
        description="UUID identifying this codespace's environment.", default=...
    )
    owner: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    billable_owner: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    repository: MinimalRepository = Field(
        title="Minimal Repository", description="Minimal Repository", default=...
    )
    machine: Union[None, CodespaceMachine] = Field(
        title="Codespace machine",
        description="A description of the machine powering a codespace.",
        default=...,
    )
    devcontainer_path: Union[Unset, Union[str, None]] = Field(
        description="Path to devcontainer.json from repo root used to create Codespace.",
        default=UNSET,
    )
    prebuild: Union[bool, None] = Field(
        description="Whether the codespace was created from a prebuild.", default=...
    )
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)
    last_used_at: datetime = Field(
        description="Last known time this codespace was started.", default=...
    )
    state: Literal[
        "Unknown",
        "Created",
        "Queued",
        "Provisioning",
        "Available",
        "Awaiting",
        "Unavailable",
        "Deleted",
        "Moved",
        "Shutdown",
        "Archived",
        "Starting",
        "ShuttingDown",
        "Failed",
        "Exporting",
        "Updating",
        "Rebuilding",
    ] = Field(description="State of this codespace.", default=...)
    url: str = Field(description="API URL for this codespace.", default=...)
    git_status: CodespacePropGitStatus = Field(
        description="Details about the codespace's git repository.", default=...
    )
    location: Literal["EastUs", "SouthEastAsia", "WestEurope", "WestUs2"] = Field(
        description="The Azure region where this codespace is located.", default=...
    )
    idle_timeout_minutes: Union[int, None] = Field(
        description="The number of minutes of inactivity after which this codespace will be automatically stopped.",
        default=...,
    )
    web_url: str = Field(
        description="URL to access this codespace on the web.", default=...
    )
    machines_url: str = Field(
        description="API URL to access available alternate machine types for this codespace.",
        default=...,
    )
    start_url: str = Field(description="API URL to start this codespace.", default=...)
    stop_url: str = Field(description="API URL to stop this codespace.", default=...)
    pulls_url: Union[str, None] = Field(
        description="API URL for the Pull Request associated with this codespace, if any.",
        default=...,
    )
    recent_folders: List[str] = Field(default=...)
    runtime_constraints: Union[Unset, CodespacePropRuntimeConstraints] = Field(
        default=UNSET
    )
    pending_operation: Union[Unset, Union[bool, None]] = Field(
        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.",
        default=UNSET,
    )
    pending_operation_disabled_reason: Union[Unset, Union[str, None]] = Field(
        description="Text to show user when codespace is disabled by a pending operation",
        default=UNSET,
    )
    idle_timeout_notice: Union[Unset, Union[str, None]] = Field(
        description="Text to show user when codespace idle timeout minutes has been overriden by an organization policy",
        default=UNSET,
    )
    retention_period_minutes: Union[Unset, Union[int, None]] = Field(
        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).",
        default=UNSET,
    )
    retention_expires_at: Union[Unset, Union[datetime, None]] = Field(
        description='When a codespace will be auto-deleted based on the "retention_period_minutes" and "last_used_at"',
        default=UNSET,
    )
    last_known_stop_notice: Union[Unset, Union[str, None]] = Field(
        description="The text to display to a user when a codespace has been stopped for a potentially actionable reason.",
        default=UNSET,
    )


class CodespacePropGitStatus(GitHubRestModel):
    """CodespacePropGitStatus

    Details about the codespace's git repository.
    """

    ahead: Union[Unset, int] = Field(
        description="The number of commits the local repository is ahead of the remote.",
        default=UNSET,
    )
    behind: Union[Unset, int] = Field(
        description="The number of commits the local repository is behind the remote.",
        default=UNSET,
    )
    has_unpushed_changes: Union[Unset, bool] = Field(
        description="Whether the local repository has unpushed changes.", default=UNSET
    )
    has_uncommitted_changes: Union[Unset, bool] = Field(
        description="Whether the local repository has uncommitted changes.",
        default=UNSET,
    )
    ref: Union[Unset, str] = Field(
        description="The current branch (or SHA if in detached HEAD state) of the local repository.",
        default=UNSET,
    )


class CodespacePropRuntimeConstraints(GitHubRestModel):
    """CodespacePropRuntimeConstraints"""

    allowed_port_privacy_settings: Union[Unset, Union[List[str], None]] = Field(
        description="The privacy settings a user can select from when forwarding a port.",
        default=UNSET,
    )


class CodespacesOrgSecret(GitHubRestModel):
    """Codespaces Secret

    Secrets for a GitHub Codespace.
    """

    name: str = Field(description="The name of the secret", default=...)
    created_at: datetime = Field(
        description="The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ.",
        default=...,
    )
    updated_at: datetime = Field(
        description="The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ.",
        default=...,
    )
    visibility: Literal["all", "private", "selected"] = Field(
        description="The type of repositories in the organization that the secret is visible to",
        default=...,
    )
    selected_repositories_url: Union[Unset, str] = Field(
        description="The API URL at which the list of repositories this secret is visible to can be retrieved",
        default=UNSET,
    )


class CodespacesPublicKey(GitHubRestModel):
    """CodespacesPublicKey

    The public key used for setting Codespaces secrets.
    """

    key_id: str = Field(description="The identifier for the key.", default=...)
    key: str = Field(description="The Base64 encoded public key.", default=...)
    id: Union[Unset, int] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)
    title: Union[Unset, str] = Field(default=UNSET)
    created_at: Union[Unset, str] = Field(default=UNSET)


class DependabotAlertPackage(GitHubRestModel):
    """DependabotAlertPackage

    Details for the vulnerable package.
    """

    ecosystem: str = Field(
        description="The package's language or package management ecosystem.",
        default=...,
    )
    name: str = Field(
        description="The unique package name within its ecosystem.", default=...
    )


class DependabotAlertSecurityVulnerability(GitHubRestModel):
    """DependabotAlertSecurityVulnerability

    Details pertaining to one vulnerable version range for the advisory.
    """

    package: DependabotAlertPackage = Field(
        description="Details for the vulnerable package.", default=...
    )
    severity: Literal["low", "medium", "high", "critical"] = Field(
        description="The severity of the vulnerability.", default=...
    )
    vulnerable_version_range: str = Field(
        description="Conditions that identify vulnerable versions of this vulnerability's package.",
        default=...,
    )
    first_patched_version: Union[
        DependabotAlertSecurityVulnerabilityPropFirstPatchedVersion, None
    ] = Field(
        description="Details pertaining to the package version that patches this vulnerability.",
        default=...,
    )


class DependabotAlertSecurityVulnerabilityPropFirstPatchedVersion(GitHubRestModel):
    """DependabotAlertSecurityVulnerabilityPropFirstPatchedVersion

    Details pertaining to the package version that patches this vulnerability.
    """

    identifier: str = Field(
        description="The package version that patches this vulnerability.", default=...
    )


class DependabotAlertSecurityAdvisory(GitHubRestModel):
    """DependabotAlertSecurityAdvisory

    Details for the GitHub Security Advisory.
    """

    ghsa_id: str = Field(
        description="The unique GitHub Security Advisory ID assigned to the advisory.",
        default=...,
    )
    cve_id: Union[str, None] = Field(
        description="The unique CVE ID assigned to the advisory.", default=...
    )
    summary: str = Field(
        description="A short, plain text summary of the advisory.",
        max_length=1024,
        default=...,
    )
    description: str = Field(
        description="A long-form Markdown-supported description of the advisory.",
        default=...,
    )
    vulnerabilities: List[DependabotAlertSecurityVulnerability] = Field(
        description="Vulnerable version range information for the advisory.",
        default=...,
    )
    severity: Literal["low", "medium", "high", "critical"] = Field(
        description="The severity of the advisory.", default=...
    )
    cvss: DependabotAlertSecurityAdvisoryPropCvss = Field(
        description="Details for the advisory pertaining to the Common Vulnerability Scoring System.",
        default=...,
    )
    cwes: List[DependabotAlertSecurityAdvisoryPropCwesItems] = Field(
        description="Details for the advisory pertaining to Common Weakness Enumeration.",
        default=...,
    )
    identifiers: List[DependabotAlertSecurityAdvisoryPropIdentifiersItems] = Field(
        description="Values that identify this advisory among security information sources.",
        default=...,
    )
    references: List[DependabotAlertSecurityAdvisoryPropReferencesItems] = Field(
        description="Links to additional advisory information.", default=...
    )
    published_at: datetime = Field(
        description="The time that the advisory was published in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=...,
    )
    updated_at: datetime = Field(
        description="The time that the advisory was last modified in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=...,
    )
    withdrawn_at: Union[datetime, None] = Field(
        description="The time that the advisory was withdrawn in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=...,
    )


class DependabotAlertSecurityAdvisoryPropCvss(GitHubRestModel):
    """DependabotAlertSecurityAdvisoryPropCvss

    Details for the advisory pertaining to the Common Vulnerability Scoring System.
    """

    score: float = Field(
        description="The overall CVSS score of the advisory.", le=10.0, default=...
    )
    vector_string: Union[str, None] = Field(
        description="The full CVSS vector string for the advisory.", default=...
    )


class DependabotAlertSecurityAdvisoryPropCwesItems(GitHubRestModel):
    """DependabotAlertSecurityAdvisoryPropCwesItems

    A CWE weakness assigned to the advisory.
    """

    cwe_id: str = Field(description="The unique CWE ID.", default=...)
    name: str = Field(description="The short, plain text name of the CWE.", default=...)


class DependabotAlertSecurityAdvisoryPropIdentifiersItems(GitHubRestModel):
    """DependabotAlertSecurityAdvisoryPropIdentifiersItems

    An advisory identifier.
    """

    type: Literal["CVE", "GHSA"] = Field(
        description="The type of advisory identifier.", default=...
    )
    value: str = Field(description="The value of the advisory identifer.", default=...)


class DependabotAlertSecurityAdvisoryPropReferencesItems(GitHubRestModel):
    """DependabotAlertSecurityAdvisoryPropReferencesItems

    A link to additional advisory information.
    """

    url: str = Field(description="The URL of the reference.", default=...)


class DependabotAlertWithRepository(GitHubRestModel):
    """DependabotAlertWithRepository

    A Dependabot alert.
    """

    number: int = Field(description="The security alert number.", default=...)
    state: Literal["dismissed", "fixed", "open"] = Field(
        description="The state of the Dependabot alert.", default=...
    )
    dependency: DependabotAlertWithRepositoryPropDependency = Field(
        description="Details for the vulnerable dependency.", default=...
    )
    security_advisory: DependabotAlertSecurityAdvisory = Field(
        description="Details for the GitHub Security Advisory.", default=...
    )
    security_vulnerability: DependabotAlertSecurityVulnerability = Field(
        description="Details pertaining to one vulnerable version range for the advisory.",
        default=...,
    )
    url: str = Field(description="The REST API URL of the alert resource.", default=...)
    html_url: str = Field(
        description="The GitHub URL of the alert resource.", default=...
    )
    created_at: datetime = Field(
        description="The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=...,
    )
    updated_at: datetime = Field(
        description="The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=...,
    )
    dismissed_at: Union[datetime, None] = Field(
        description="The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=...,
    )
    dismissed_by: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    dismissed_reason: Union[
        None,
        Literal[
            "fix_started", "inaccurate", "no_bandwidth", "not_used", "tolerable_risk"
        ],
    ] = Field(description="The reason that the alert was dismissed.", default=...)
    dismissed_comment: Union[str, None] = Field(
        description="An optional comment associated with the alert's dismissal.",
        max_length=280,
        default=...,
    )
    fixed_at: Union[datetime, None] = Field(
        description="The time that the alert was no longer detected and was considered fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=...,
    )
    repository: SimpleRepository = Field(
        title="Simple Repository", description="Simple Repository", default=...
    )


class DependabotAlertWithRepositoryPropDependency(GitHubRestModel):
    """DependabotAlertWithRepositoryPropDependency

    Details for the vulnerable dependency.
    """

    package: Union[Unset, DependabotAlertPackage] = Field(
        description="Details for the vulnerable package.", default=UNSET
    )
    manifest_path: Union[Unset, str] = Field(
        description="The full path to the dependency manifest file, relative to the root of the repository.",
        default=UNSET,
    )
    scope: Union[Unset, Union[None, Literal["development", "runtime"]]] = Field(
        description="The execution scope of the vulnerable dependency.", default=UNSET
    )


class OrganizationDependabotSecret(GitHubRestModel):
    """Dependabot Secret for an Organization

    Secrets for GitHub Dependabot for an organization.
    """

    name: str = Field(description="The name of the secret.", default=...)
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)
    visibility: Literal["all", "private", "selected"] = Field(
        description="Visibility of a secret", default=...
    )
    selected_repositories_url: Union[Unset, str] = Field(default=UNSET)


class DependabotPublicKey(GitHubRestModel):
    """DependabotPublicKey

    The public key used for setting Dependabot Secrets.
    """

    key_id: str = Field(description="The identifier for the key.", default=...)
    key: str = Field(description="The Base64 encoded public key.", default=...)


class OrganizationInvitation(GitHubRestModel):
    """Organization Invitation

    Organization Invitation
    """

    id: int = Field(default=...)
    login: Union[str, None] = Field(default=...)
    email: Union[str, None] = Field(default=...)
    role: str = Field(default=...)
    created_at: str = Field(default=...)
    failed_at: Union[Unset, Union[str, None]] = Field(default=UNSET)
    failed_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    inviter: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    team_count: int = Field(default=...)
    node_id: str = Field(default=...)
    invitation_teams_url: str = Field(default=...)


class OrganizationFineGrainedPermission(GitHubRestModel):
    """Organization Fine-Grained Permission

    Fine-grained permissions available for the organization
    """

    name: str = Field(default=...)
    description: str = Field(default=...)


class OrgHook(GitHubRestModel):
    """Org Hook

    Org Hook
    """

    id: int = Field(default=...)
    url: str = Field(default=...)
    ping_url: str = Field(default=...)
    deliveries_url: Union[Unset, str] = Field(default=UNSET)
    name: str = Field(default=...)
    events: List[str] = Field(default=...)
    active: bool = Field(default=...)
    config: OrgHookPropConfig = Field(default=...)
    updated_at: datetime = Field(default=...)
    created_at: datetime = Field(default=...)
    type: str = Field(default=...)


class OrgHookPropConfig(GitHubRestModel):
    """OrgHookPropConfig"""

    url: Union[Unset, str] = Field(default=UNSET)
    insecure_ssl: Union[Unset, str] = Field(default=UNSET)
    content_type: Union[Unset, str] = Field(default=UNSET)
    secret: Union[Unset, str] = Field(default=UNSET)


class InteractionLimitResponse(GitHubRestModel):
    """Interaction Limits

    Interaction limit settings.
    """

    limit: Literal["existing_users", "contributors_only", "collaborators_only"] = Field(
        description="The type of GitHub user that can comment, open issues, or create pull requests while the interaction limit is in effect.",
        default=...,
    )
    origin: str = Field(default=...)
    expires_at: datetime = Field(default=...)


class InteractionLimit(GitHubRestModel):
    """Interaction Restrictions

    Limit interactions to a specific type of user for a specified duration
    """

    limit: Literal["existing_users", "contributors_only", "collaborators_only"] = Field(
        description="The type of GitHub user that can comment, open issues, or create pull requests while the interaction limit is in effect.",
        default=...,
    )
    expiry: Union[
        Unset, Literal["one_day", "three_days", "one_week", "one_month", "six_months"]
    ] = Field(
        description="The duration of the interaction restriction. Default: `one_day`.",
        default=UNSET,
    )


class TeamSimple(GitHubRestModel):
    """Team Simple

    Groups of organization members that gives permissions on specified repositories.
    """

    id: int = Field(description="Unique identifier of the team", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the team", default=...)
    members_url: str = Field(default=...)
    name: str = Field(description="Name of the team", default=...)
    description: Union[str, None] = Field(
        description="Description of the team", default=...
    )
    permission: str = Field(
        description="Permission that the team will have for its repositories",
        default=...,
    )
    privacy: Union[Unset, str] = Field(
        description="The level of privacy this team should have", default=UNSET
    )
    html_url: str = Field(default=...)
    repositories_url: str = Field(default=...)
    slug: str = Field(default=...)
    ldap_dn: Union[Unset, str] = Field(
        description="Distinguished Name (DN) that team maps to within LDAP environment",
        default=UNSET,
    )


class Team(GitHubRestModel):
    """Team

    Groups of organization members that gives permissions on specified repositories.
    """

    id: int = Field(default=...)
    node_id: str = Field(default=...)
    name: str = Field(default=...)
    slug: str = Field(default=...)
    description: Union[str, None] = Field(default=...)
    privacy: Union[Unset, str] = Field(default=UNSET)
    permission: str = Field(default=...)
    permissions: Union[Unset, TeamPropPermissions] = Field(default=UNSET)
    url: str = Field(default=...)
    html_url: str = Field(default=...)
    members_url: str = Field(default=...)
    repositories_url: str = Field(default=...)
    parent: Union[None, TeamSimple] = Field(
        title="Team Simple",
        description="Groups of organization members that gives permissions on specified repositories.",
        default=...,
    )


class TeamPropPermissions(GitHubRestModel):
    """TeamPropPermissions"""

    pull: bool = Field(default=...)
    triage: bool = Field(default=...)
    push: bool = Field(default=...)
    maintain: bool = Field(default=...)
    admin: bool = Field(default=...)


class OrgMembership(GitHubRestModel):
    """Org Membership

    Org Membership
    """

    url: str = Field(default=...)
    state: Literal["active", "pending"] = Field(
        description="The state of the member in the organization. The `pending` state indicates the user has not yet accepted an invitation.",
        default=...,
    )
    role: Literal["admin", "member", "billing_manager"] = Field(
        description="The user's membership type in the organization.", default=...
    )
    organization_url: str = Field(default=...)
    organization: OrganizationSimple = Field(
        title="Organization Simple", description="Organization Simple", default=...
    )
    user: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    permissions: Union[Unset, OrgMembershipPropPermissions] = Field(default=UNSET)


class OrgMembershipPropPermissions(GitHubRestModel):
    """OrgMembershipPropPermissions"""

    can_create_repository: bool = Field(default=...)


class Migration(GitHubRestModel):
    """Migration

    A migration.
    """

    id: int = Field(default=...)
    owner: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    guid: str = Field(default=...)
    state: str = Field(default=...)
    lock_repositories: bool = Field(default=...)
    exclude_metadata: bool = Field(default=...)
    exclude_git_data: bool = Field(default=...)
    exclude_attachments: bool = Field(default=...)
    exclude_releases: bool = Field(default=...)
    exclude_owner_projects: bool = Field(default=...)
    org_metadata_only: bool = Field(default=...)
    repositories: List[Repository] = Field(default=...)
    url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)
    node_id: str = Field(default=...)
    archive_url: Union[Unset, str] = Field(default=UNSET)
    exclude: Union[Unset, List[Any]] = Field(default=UNSET)


class Package(GitHubRestModel):
    """Package

    A software package
    """

    id: int = Field(description="Unique identifier of the package.", default=...)
    name: str = Field(description="The name of the package.", default=...)
    package_type: Literal[
        "npm", "maven", "rubygems", "docker", "nuget", "container"
    ] = Field(default=...)
    url: str = Field(default=...)
    html_url: str = Field(default=...)
    version_count: int = Field(
        description="The number of versions of the package.", default=...
    )
    visibility: Literal["private", "public"] = Field(default=...)
    owner: Union[Unset, Union[None, SimpleUser]] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )
    repository: Union[Unset, Union[None, MinimalRepository]] = Field(
        title="Minimal Repository", description="Minimal Repository", default=UNSET
    )
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)


class PackageVersion(GitHubRestModel):
    """Package Version

    A version of a software package
    """

    id: int = Field(
        description="Unique identifier of the package version.", default=...
    )
    name: str = Field(description="The name of the package version.", default=...)
    url: str = Field(default=...)
    package_html_url: str = Field(default=...)
    html_url: Union[Unset, str] = Field(default=UNSET)
    license_: Union[Unset, str] = Field(default=UNSET, alias="license")
    description: Union[Unset, str] = Field(default=UNSET)
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)
    deleted_at: Union[Unset, datetime] = Field(default=UNSET)
    metadata: Union[Unset, PackageVersionPropMetadata] = Field(
        title="Package Version Metadata", default=UNSET
    )


class PackageVersionPropMetadata(GitHubRestModel):
    """Package Version Metadata"""

    package_type: Literal[
        "npm", "maven", "rubygems", "docker", "nuget", "container"
    ] = Field(default=...)
    container: Union[Unset, PackageVersionPropMetadataPropContainer] = Field(
        title="Container Metadata", default=UNSET
    )
    docker: Union[Unset, PackageVersionPropMetadataPropDocker] = Field(
        title="Docker Metadata", default=UNSET
    )


class PackageVersionPropMetadataPropContainer(GitHubRestModel):
    """Container Metadata"""

    tags: List[str] = Field(default=...)


class PackageVersionPropMetadataPropDocker(GitHubRestModel):
    """Docker Metadata"""

    tag: Union[Unset, List[str]] = Field(default=UNSET)


class Project(GitHubRestModel):
    """Project

    Projects are a way to organize columns and cards of work.
    """

    owner_url: str = Field(default=...)
    url: str = Field(default=...)
    html_url: str = Field(default=...)
    columns_url: str = Field(default=...)
    id: int = Field(default=...)
    node_id: str = Field(default=...)
    name: str = Field(description="Name of the project", default=...)
    body: Union[str, None] = Field(description="Body of the project", default=...)
    number: int = Field(default=...)
    state: str = Field(
        description="State of the project; either 'open' or 'closed'", default=...
    )
    creator: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)
    organization_permission: Union[
        Unset, Literal["read", "write", "admin", "none"]
    ] = Field(
        description="The baseline permission that all organization members have on this project. Only present if owner is an organization.",
        default=UNSET,
    )
    private: Union[Unset, bool] = Field(
        description="Whether or not this project can be seen by everyone. Only present if owner is an organization.",
        default=UNSET,
    )


class ActionsBillingUsage(GitHubRestModel):
    """ActionsBillingUsage"""

    total_minutes_used: int = Field(
        description="The sum of the free and paid GitHub Actions minutes used.",
        default=...,
    )
    total_paid_minutes_used: int = Field(
        description="The total paid GitHub Actions minutes used.", default=...
    )
    included_minutes: int = Field(
        description="The amount of free GitHub Actions minutes available.", default=...
    )
    minutes_used_breakdown: ActionsBillingUsagePropMinutesUsedBreakdown = Field(
        default=...
    )


class ActionsBillingUsagePropMinutesUsedBreakdown(GitHubRestModel):
    """ActionsBillingUsagePropMinutesUsedBreakdown"""

    ubuntu: Union[Unset, int] = Field(
        description="Total minutes used on Ubuntu runner machines.",
        default=UNSET,
        alias="UBUNTU",
    )
    macos: Union[Unset, int] = Field(
        description="Total minutes used on macOS runner machines.",
        default=UNSET,
        alias="MACOS",
    )
    windows: Union[Unset, int] = Field(
        description="Total minutes used on Windows runner machines.",
        default=UNSET,
        alias="WINDOWS",
    )
    ubuntu_4_core: Union[Unset, int] = Field(
        description="Total minutes used on Ubuntu 4 core runner machines.",
        default=UNSET,
    )
    ubuntu_8_core: Union[Unset, int] = Field(
        description="Total minutes used on Ubuntu 8 core runner machines.",
        default=UNSET,
    )
    ubuntu_16_core: Union[Unset, int] = Field(
        description="Total minutes used on Ubuntu 16 core runner machines.",
        default=UNSET,
    )
    ubuntu_32_core: Union[Unset, int] = Field(
        description="Total minutes used on Ubuntu 32 core runner machines.",
        default=UNSET,
    )
    ubuntu_64_core: Union[Unset, int] = Field(
        description="Total minutes used on Ubuntu 64 core runner machines.",
        default=UNSET,
    )
    windows_4_core: Union[Unset, int] = Field(
        description="Total minutes used on Windows 4 core runner machines.",
        default=UNSET,
    )
    windows_8_core: Union[Unset, int] = Field(
        description="Total minutes used on Windows 8 core runner machines.",
        default=UNSET,
    )
    windows_16_core: Union[Unset, int] = Field(
        description="Total minutes used on Windows 16 core runner machines.",
        default=UNSET,
    )
    windows_32_core: Union[Unset, int] = Field(
        description="Total minutes used on Windows 32 core runner machines.",
        default=UNSET,
    )
    windows_64_core: Union[Unset, int] = Field(
        description="Total minutes used on Windows 64 core runner machines.",
        default=UNSET,
    )
    total: Union[Unset, int] = Field(
        description="Total minutes used on all runner machines.", default=UNSET
    )


class PackagesBillingUsage(GitHubRestModel):
    """PackagesBillingUsage"""

    total_gigabytes_bandwidth_used: int = Field(
        description="Sum of the free and paid storage space (GB) for GitHuub Packages.",
        default=...,
    )
    total_paid_gigabytes_bandwidth_used: int = Field(
        description="Total paid storage space (GB) for GitHuub Packages.", default=...
    )
    included_gigabytes_bandwidth: int = Field(
        description="Free storage space (GB) for GitHub Packages.", default=...
    )


class CombinedBillingUsage(GitHubRestModel):
    """CombinedBillingUsage"""

    days_left_in_billing_cycle: int = Field(
        description="Numbers of days left in billing cycle.", default=...
    )
    estimated_paid_storage_for_month: int = Field(
        description="Estimated storage space (GB) used in billing cycle.", default=...
    )
    estimated_storage_for_month: int = Field(
        description="Estimated sum of free and paid storage space (GB) used in billing cycle.",
        default=...,
    )


class TeamOrganization(GitHubRestModel):
    """Team Organization

    Team Organization
    """

    login: str = Field(default=...)
    id: int = Field(default=...)
    node_id: str = Field(default=...)
    url: str = Field(default=...)
    repos_url: str = Field(default=...)
    events_url: str = Field(default=...)
    hooks_url: str = Field(default=...)
    issues_url: str = Field(default=...)
    members_url: str = Field(default=...)
    public_members_url: str = Field(default=...)
    avatar_url: str = Field(default=...)
    description: Union[str, None] = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    company: Union[Unset, str] = Field(default=UNSET)
    blog: Union[Unset, str] = Field(default=UNSET)
    location: Union[Unset, str] = Field(default=UNSET)
    email: Union[Unset, str] = Field(default=UNSET)
    twitter_username: Union[Unset, Union[str, None]] = Field(default=UNSET)
    is_verified: Union[Unset, bool] = Field(default=UNSET)
    has_organization_projects: bool = Field(default=...)
    has_repository_projects: bool = Field(default=...)
    public_repos: int = Field(default=...)
    public_gists: int = Field(default=...)
    followers: int = Field(default=...)
    following: int = Field(default=...)
    html_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    type: str = Field(default=...)
    total_private_repos: Union[Unset, int] = Field(default=UNSET)
    owned_private_repos: Union[Unset, int] = Field(default=UNSET)
    private_gists: Union[Unset, Union[int, None]] = Field(default=UNSET)
    disk_usage: Union[Unset, Union[int, None]] = Field(default=UNSET)
    collaborators: Union[Unset, Union[int, None]] = Field(default=UNSET)
    billing_email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    plan: Union[Unset, TeamOrganizationPropPlan] = Field(default=UNSET)
    default_repository_permission: Union[Unset, Union[str, None]] = Field(default=UNSET)
    members_can_create_repositories: Union[Unset, Union[bool, None]] = Field(
        default=UNSET
    )
    two_factor_requirement_enabled: Union[Unset, Union[bool, None]] = Field(
        default=UNSET
    )
    members_allowed_repository_creation_type: Union[Unset, str] = Field(default=UNSET)
    members_can_create_public_repositories: Union[Unset, bool] = Field(default=UNSET)
    members_can_create_private_repositories: Union[Unset, bool] = Field(default=UNSET)
    members_can_create_internal_repositories: Union[Unset, bool] = Field(default=UNSET)
    members_can_create_pages: Union[Unset, bool] = Field(default=UNSET)
    members_can_create_public_pages: Union[Unset, bool] = Field(default=UNSET)
    members_can_create_private_pages: Union[Unset, bool] = Field(default=UNSET)
    members_can_fork_private_repositories: Union[Unset, Union[bool, None]] = Field(
        default=UNSET
    )
    web_commit_signoff_required: Union[Unset, bool] = Field(default=UNSET)
    updated_at: datetime = Field(default=...)


class TeamOrganizationPropPlan(GitHubRestModel):
    """TeamOrganizationPropPlan"""

    name: str = Field(default=...)
    space: int = Field(default=...)
    private_repos: int = Field(default=...)
    filled_seats: Union[Unset, int] = Field(default=UNSET)
    seats: Union[Unset, int] = Field(default=UNSET)


class TeamFull(GitHubRestModel):
    """Full Team

    Groups of organization members that gives permissions on specified repositories.
    """

    id: int = Field(description="Unique identifier of the team", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the team", default=...)
    html_url: str = Field(default=...)
    name: str = Field(description="Name of the team", default=...)
    slug: str = Field(default=...)
    description: Union[str, None] = Field(default=...)
    privacy: Union[Unset, Literal["closed", "secret"]] = Field(
        description="The level of privacy this team should have", default=UNSET
    )
    permission: str = Field(
        description="Permission that the team will have for its repositories",
        default=...,
    )
    members_url: str = Field(default=...)
    repositories_url: str = Field(default=...)
    parent: Union[Unset, Union[None, TeamSimple]] = Field(
        title="Team Simple",
        description="Groups of organization members that gives permissions on specified repositories.",
        default=UNSET,
    )
    members_count: int = Field(default=...)
    repos_count: int = Field(default=...)
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)
    organization: TeamOrganization = Field(
        title="Team Organization", description="Team Organization", default=...
    )
    ldap_dn: Union[Unset, str] = Field(
        description="Distinguished Name (DN) that team maps to within LDAP environment",
        default=UNSET,
    )


class TeamDiscussion(GitHubRestModel):
    """Team Discussion

    A team discussion is a persistent record of a free-form conversation within a
    team.
    """

    author: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    body: str = Field(description="The main text of the discussion.", default=...)
    body_html: str = Field(default=...)
    body_version: str = Field(
        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.",
        default=...,
    )
    comments_count: int = Field(default=...)
    comments_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    last_edited_at: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(
        description="The unique sequence number of a team discussion.", default=...
    )
    pinned: bool = Field(
        description="Whether or not this discussion should be pinned for easy retrieval.",
        default=...,
    )
    private: bool = Field(
        description="Whether or not this discussion should be restricted to team members and organization administrators.",
        default=...,
    )
    team_url: str = Field(default=...)
    title: str = Field(description="The title of the discussion.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)
    reactions: Union[Unset, ReactionRollup] = Field(
        title="Reaction Rollup", default=UNSET
    )


class TeamDiscussionComment(GitHubRestModel):
    """Team Discussion Comment

    A reply to a discussion within a team.
    """

    author: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    body: str = Field(description="The main text of the comment.", default=...)
    body_html: str = Field(default=...)
    body_version: str = Field(
        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.",
        default=...,
    )
    created_at: datetime = Field(default=...)
    last_edited_at: Union[datetime, None] = Field(default=...)
    discussion_url: str = Field(default=...)
    html_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(
        description="The unique sequence number of a team discussion comment.",
        default=...,
    )
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)
    reactions: Union[Unset, ReactionRollup] = Field(
        title="Reaction Rollup", default=UNSET
    )


class Reaction(GitHubRestModel):
    """Reaction

    Reactions to conversations provide a way to help people express their feelings
    more simply and effectively.
    """

    id: int = Field(default=...)
    node_id: str = Field(default=...)
    user: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    content: Literal[
        "+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"
    ] = Field(description="The reaction to use", default=...)
    created_at: datetime = Field(default=...)


class TeamMembership(GitHubRestModel):
    """Team Membership

    Team Membership
    """

    url: str = Field(default=...)
    role: Literal["member", "maintainer"] = Field(
        description="The role of the user in the team.", default="member"
    )
    state: Literal["active", "pending"] = Field(
        description="The state of the user's membership in the team.", default=...
    )


class TeamProject(GitHubRestModel):
    """Team Project

    A team's access to a project.
    """

    owner_url: str = Field(default=...)
    url: str = Field(default=...)
    html_url: str = Field(default=...)
    columns_url: str = Field(default=...)
    id: int = Field(default=...)
    node_id: str = Field(default=...)
    name: str = Field(default=...)
    body: Union[str, None] = Field(default=...)
    number: int = Field(default=...)
    state: str = Field(default=...)
    creator: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    created_at: str = Field(default=...)
    updated_at: str = Field(default=...)
    organization_permission: Union[Unset, str] = Field(
        description="The organization permission for this project. Only present when owner is an organization.",
        default=UNSET,
    )
    private: Union[Unset, bool] = Field(
        description="Whether the project is private or not. Only present when owner is an organization.",
        default=UNSET,
    )
    permissions: TeamProjectPropPermissions = Field(default=...)


class TeamProjectPropPermissions(GitHubRestModel):
    """TeamProjectPropPermissions"""

    read: bool = Field(default=...)
    write: bool = Field(default=...)
    admin: bool = Field(default=...)


class TeamRepository(GitHubRestModel):
    """Team Repository

    A team's access to a repository.
    """

    id: int = Field(description="Unique identifier of the repository", default=...)
    node_id: str = Field(default=...)
    name: str = Field(description="The name of the repository.", default=...)
    full_name: str = Field(default=...)
    license_: Union[None, LicenseSimple] = Field(
        title="License Simple",
        description="License Simple",
        default=...,
        alias="license",
    )
    forks: int = Field(default=...)
    permissions: Union[Unset, TeamRepositoryPropPermissions] = Field(default=UNSET)
    role_name: Union[Unset, str] = Field(default=UNSET)
    owner: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    private: bool = Field(
        description="Whether the repository is private or public.", default=False
    )
    html_url: str = Field(default=...)
    description: Union[str, None] = Field(default=...)
    fork: bool = Field(default=...)
    url: str = Field(default=...)
    archive_url: str = Field(default=...)
    assignees_url: str = Field(default=...)
    blobs_url: str = Field(default=...)
    branches_url: str = Field(default=...)
    collaborators_url: str = Field(default=...)
    comments_url: str = Field(default=...)
    commits_url: str = Field(default=...)
    compare_url: str = Field(default=...)
    contents_url: str = Field(default=...)
    contributors_url: str = Field(default=...)
    deployments_url: str = Field(default=...)
    downloads_url: str = Field(default=...)
    events_url: str = Field(default=...)
    forks_url: str = Field(default=...)
    git_commits_url: str = Field(default=...)
    git_refs_url: str = Field(default=...)
    git_tags_url: str = Field(default=...)
    git_url: str = Field(default=...)
    issue_comment_url: str = Field(default=...)
    issue_events_url: str = Field(default=...)
    issues_url: str = Field(default=...)
    keys_url: str = Field(default=...)
    labels_url: str = Field(default=...)
    languages_url: str = Field(default=...)
    merges_url: str = Field(default=...)
    milestones_url: str = Field(default=...)
    notifications_url: str = Field(default=...)
    pulls_url: str = Field(default=...)
    releases_url: str = Field(default=...)
    ssh_url: str = Field(default=...)
    stargazers_url: str = Field(default=...)
    statuses_url: str = Field(default=...)
    subscribers_url: str = Field(default=...)
    subscription_url: str = Field(default=...)
    tags_url: str = Field(default=...)
    teams_url: str = Field(default=...)
    trees_url: str = Field(default=...)
    clone_url: str = Field(default=...)
    mirror_url: Union[str, None] = Field(default=...)
    hooks_url: str = Field(default=...)
    svn_url: str = Field(default=...)
    homepage: Union[str, None] = Field(default=...)
    language: Union[str, None] = Field(default=...)
    forks_count: int = Field(default=...)
    stargazers_count: int = Field(default=...)
    watchers_count: int = Field(default=...)
    size: int = Field(default=...)
    default_branch: str = Field(
        description="The default branch of the repository.", default=...
    )
    open_issues_count: int = Field(default=...)
    is_template: Union[Unset, bool] = Field(
        description="Whether this repository acts as a template that can be used to generate new repositories.",
        default=False,
    )
    topics: Union[Unset, List[str]] = Field(default=UNSET)
    has_issues: bool = Field(description="Whether issues are enabled.", default=True)
    has_projects: bool = Field(
        description="Whether projects are enabled.", default=True
    )
    has_wiki: bool = Field(description="Whether the wiki is enabled.", default=True)
    has_pages: bool = Field(default=...)
    has_downloads: bool = Field(
        description="Whether downloads are enabled.", default=True
    )
    archived: bool = Field(
        description="Whether the repository is archived.", default=False
    )
    disabled: bool = Field(
        description="Returns whether or not this repository disabled.", default=...
    )
    visibility: Union[Unset, str] = Field(
        description="The repository visibility: public, private, or internal.",
        default="public",
    )
    pushed_at: Union[datetime, None] = Field(default=...)
    created_at: Union[datetime, None] = Field(default=...)
    updated_at: Union[datetime, None] = Field(default=...)
    allow_rebase_merge: Union[Unset, bool] = Field(
        description="Whether to allow rebase merges for pull requests.", default=True
    )
    template_repository: Union[Unset, Union[None, Repository]] = Field(
        title="Repository", description="A git repository", default=UNSET
    )
    temp_clone_token: Union[Unset, str] = Field(default=UNSET)
    allow_squash_merge: Union[Unset, bool] = Field(
        description="Whether to allow squash merges for pull requests.", default=True
    )
    allow_auto_merge: Union[Unset, bool] = Field(
        description="Whether to allow Auto-merge to be used on pull requests.",
        default=False,
    )
    delete_branch_on_merge: Union[Unset, bool] = Field(
        description="Whether to delete head branches when pull requests are merged",
        default=False,
    )
    allow_merge_commit: Union[Unset, bool] = Field(
        description="Whether to allow merge commits for pull requests.", default=True
    )
    allow_forking: Union[Unset, bool] = Field(
        description="Whether to allow forking this repo", default=False
    )
    web_commit_signoff_required: Union[Unset, bool] = Field(
        description="Whether to require contributors to sign off on web-based commits",
        default=False,
    )
    subscribers_count: Union[Unset, int] = Field(default=UNSET)
    network_count: Union[Unset, int] = Field(default=UNSET)
    open_issues: int = Field(default=...)
    watchers: int = Field(default=...)
    master_branch: Union[Unset, str] = Field(default=UNSET)


class TeamRepositoryPropPermissions(GitHubRestModel):
    """TeamRepositoryPropPermissions"""

    admin: bool = Field(default=...)
    pull: bool = Field(default=...)
    triage: Union[Unset, bool] = Field(default=UNSET)
    push: bool = Field(default=...)
    maintain: Union[Unset, bool] = Field(default=UNSET)


class ProjectCard(GitHubRestModel):
    """Project Card

    Project cards represent a scope of work.
    """

    url: str = Field(default=...)
    id: int = Field(description="The project card's ID", default=...)
    node_id: str = Field(default=...)
    note: Union[str, None] = Field(default=...)
    creator: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)
    archived: Union[Unset, bool] = Field(
        description="Whether or not the card is archived", default=UNSET
    )
    column_name: Union[Unset, str] = Field(default=UNSET)
    project_id: Union[Unset, str] = Field(default=UNSET)
    column_url: str = Field(default=...)
    content_url: Union[Unset, str] = Field(default=UNSET)
    project_url: str = Field(default=...)


class ProjectColumn(GitHubRestModel):
    """Project Column

    Project columns contain cards of work.
    """

    url: str = Field(default=...)
    project_url: str = Field(default=...)
    cards_url: str = Field(default=...)
    id: int = Field(
        description="The unique identifier of the project column", default=...
    )
    node_id: str = Field(default=...)
    name: str = Field(description="Name of the project column", default=...)
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)


class ProjectCollaboratorPermission(GitHubRestModel):
    """Project Collaborator Permission

    Project Collaborator Permission
    """

    permission: str = Field(default=...)
    user: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )


class RateLimit(GitHubRestModel):
    """Rate Limit"""

    limit: int = Field(default=...)
    remaining: int = Field(default=...)
    reset: int = Field(default=...)
    used: int = Field(default=...)


class RateLimitOverview(GitHubRestModel):
    """Rate Limit Overview

    Rate Limit Overview
    """

    resources: RateLimitOverviewPropResources = Field(default=...)
    rate: RateLimit = Field(title="Rate Limit", default=...)


class RateLimitOverviewPropResources(GitHubRestModel):
    """RateLimitOverviewPropResources"""

    core: RateLimit = Field(title="Rate Limit", default=...)
    graphql: Union[Unset, RateLimit] = Field(title="Rate Limit", default=UNSET)
    search: RateLimit = Field(title="Rate Limit", default=...)
    source_import: Union[Unset, RateLimit] = Field(title="Rate Limit", default=UNSET)
    integration_manifest: Union[Unset, RateLimit] = Field(
        title="Rate Limit", default=UNSET
    )
    code_scanning_upload: Union[Unset, RateLimit] = Field(
        title="Rate Limit", default=UNSET
    )
    actions_runner_registration: Union[Unset, RateLimit] = Field(
        title="Rate Limit", default=UNSET
    )
    scim: Union[Unset, RateLimit] = Field(title="Rate Limit", default=UNSET)
    dependency_snapshots: Union[Unset, RateLimit] = Field(
        title="Rate Limit", default=UNSET
    )


class CodeOfConductSimple(GitHubRestModel):
    """Code Of Conduct Simple

    Code of Conduct Simple
    """

    url: str = Field(default=...)
    key: str = Field(default=...)
    name: str = Field(default=...)
    html_url: Union[str, None] = Field(default=...)


class SecurityAndAnalysisPropAdvancedSecurity(GitHubRestModel):
    """SecurityAndAnalysisPropAdvancedSecurity"""

    status: Union[Unset, Literal["enabled", "disabled"]] = Field(default=UNSET)


class SecurityAndAnalysisPropSecretScanning(GitHubRestModel):
    """SecurityAndAnalysisPropSecretScanning"""

    status: Union[Unset, Literal["enabled", "disabled"]] = Field(default=UNSET)


class SecurityAndAnalysisPropSecretScanningPushProtection(GitHubRestModel):
    """SecurityAndAnalysisPropSecretScanningPushProtection"""

    status: Union[Unset, Literal["enabled", "disabled"]] = Field(default=UNSET)


class SecurityAndAnalysis(GitHubRestModel):
    """SecurityAndAnalysis"""

    advanced_security: Union[Unset, SecurityAndAnalysisPropAdvancedSecurity] = Field(
        default=UNSET
    )
    secret_scanning: Union[Unset, SecurityAndAnalysisPropSecretScanning] = Field(
        default=UNSET
    )
    secret_scanning_push_protection: Union[
        Unset, SecurityAndAnalysisPropSecretScanningPushProtection
    ] = Field(default=UNSET)


class FullRepository(GitHubRestModel):
    """Full Repository

    Full Repository
    """

    id: int = Field(default=...)
    node_id: str = Field(default=...)
    name: str = Field(default=...)
    full_name: str = Field(default=...)
    owner: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    private: bool = Field(default=...)
    html_url: str = Field(default=...)
    description: Union[str, None] = Field(default=...)
    fork: bool = Field(default=...)
    url: str = Field(default=...)
    archive_url: str = Field(default=...)
    assignees_url: str = Field(default=...)
    blobs_url: str = Field(default=...)
    branches_url: str = Field(default=...)
    collaborators_url: str = Field(default=...)
    comments_url: str = Field(default=...)
    commits_url: str = Field(default=...)
    compare_url: str = Field(default=...)
    contents_url: str = Field(default=...)
    contributors_url: str = Field(default=...)
    deployments_url: str = Field(default=...)
    downloads_url: str = Field(default=...)
    events_url: str = Field(default=...)
    forks_url: str = Field(default=...)
    git_commits_url: str = Field(default=...)
    git_refs_url: str = Field(default=...)
    git_tags_url: str = Field(default=...)
    git_url: str = Field(default=...)
    issue_comment_url: str = Field(default=...)
    issue_events_url: str = Field(default=...)
    issues_url: str = Field(default=...)
    keys_url: str = Field(default=...)
    labels_url: str = Field(default=...)
    languages_url: str = Field(default=...)
    merges_url: str = Field(default=...)
    milestones_url: str = Field(default=...)
    notifications_url: str = Field(default=...)
    pulls_url: str = Field(default=...)
    releases_url: str = Field(default=...)
    ssh_url: str = Field(default=...)
    stargazers_url: str = Field(default=...)
    statuses_url: str = Field(default=...)
    subscribers_url: str = Field(default=...)
    subscription_url: str = Field(default=...)
    tags_url: str = Field(default=...)
    teams_url: str = Field(default=...)
    trees_url: str = Field(default=...)
    clone_url: str = Field(default=...)
    mirror_url: Union[str, None] = Field(default=...)
    hooks_url: str = Field(default=...)
    svn_url: str = Field(default=...)
    homepage: Union[str, None] = Field(default=...)
    language: Union[str, None] = Field(default=...)
    forks_count: int = Field(default=...)
    stargazers_count: int = Field(default=...)
    watchers_count: int = Field(default=...)
    size: int = Field(
        description="The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0.",
        default=...,
    )
    default_branch: str = Field(default=...)
    open_issues_count: int = Field(default=...)
    is_template: Union[Unset, bool] = Field(default=UNSET)
    topics: Union[Unset, List[str]] = Field(default=UNSET)
    has_issues: bool = Field(default=...)
    has_projects: bool = Field(default=...)
    has_wiki: bool = Field(default=...)
    has_pages: bool = Field(default=...)
    has_downloads: bool = Field(default=...)
    archived: bool = Field(default=...)
    disabled: bool = Field(
        description="Returns whether or not this repository disabled.", default=...
    )
    visibility: Union[Unset, str] = Field(
        description="The repository visibility: public, private, or internal.",
        default=UNSET,
    )
    pushed_at: datetime = Field(default=...)
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)
    permissions: Union[Unset, FullRepositoryPropPermissions] = Field(default=UNSET)
    allow_rebase_merge: Union[Unset, bool] = Field(default=UNSET)
    template_repository: Union[Unset, Union[None, Repository]] = Field(
        title="Repository", description="A git repository", default=UNSET
    )
    temp_clone_token: Union[Unset, Union[str, None]] = Field(default=UNSET)
    allow_squash_merge: Union[Unset, bool] = Field(default=UNSET)
    allow_auto_merge: Union[Unset, bool] = Field(default=UNSET)
    delete_branch_on_merge: Union[Unset, bool] = Field(default=UNSET)
    allow_merge_commit: Union[Unset, bool] = Field(default=UNSET)
    allow_update_branch: Union[Unset, bool] = Field(default=UNSET)
    use_squash_pr_title_as_default: Union[Unset, bool] = Field(default=UNSET)
    squash_merge_commit_title: Union[
        Unset, Literal["PR_TITLE", "COMMIT_OR_PR_TITLE"]
    ] = Field(
        description="The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `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).",
        default=UNSET,
    )
    squash_merge_commit_message: Union[
        Unset, Literal["PR_BODY", "COMMIT_MESSAGES", "BLANK"]
    ] = Field(
        description="The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message.",
        default=UNSET,
    )
    merge_commit_title: Union[Unset, Literal["PR_TITLE", "MERGE_MESSAGE"]] = Field(
        description="The default value for a merge commit title.\n\n  - `PR_TITLE` - default to the pull request's title.\n  - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name).",
        default=UNSET,
    )
    merge_commit_message: Union[Unset, Literal["PR_BODY", "PR_TITLE", "BLANK"]] = Field(
        description="The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message.",
        default=UNSET,
    )
    allow_forking: Union[Unset, bool] = Field(default=UNSET)
    web_commit_signoff_required: Union[Unset, bool] = Field(default=UNSET)
    subscribers_count: int = Field(default=...)
    network_count: int = Field(default=...)
    license_: Union[None, LicenseSimple] = Field(
        title="License Simple",
        description="License Simple",
        default=...,
        alias="license",
    )
    organization: Union[Unset, Union[None, SimpleUser]] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )
    parent: Union[Unset, Repository] = Field(
        title="Repository", description="A git repository", default=UNSET
    )
    source: Union[Unset, Repository] = Field(
        title="Repository", description="A git repository", default=UNSET
    )
    forks: int = Field(default=...)
    master_branch: Union[Unset, str] = Field(default=UNSET)
    open_issues: int = Field(default=...)
    watchers: int = Field(default=...)
    anonymous_access_enabled: Union[Unset, bool] = Field(
        description="Whether anonymous git access is allowed.", default=True
    )
    code_of_conduct: Union[Unset, CodeOfConductSimple] = Field(
        title="Code Of Conduct Simple",
        description="Code of Conduct Simple",
        default=UNSET,
    )
    security_and_analysis: Union[Unset, Union[SecurityAndAnalysis, None]] = Field(
        default=UNSET
    )


class FullRepositoryPropPermissions(GitHubRestModel):
    """FullRepositoryPropPermissions"""

    admin: bool = Field(default=...)
    maintain: Union[Unset, bool] = Field(default=UNSET)
    push: bool = Field(default=...)
    triage: Union[Unset, bool] = Field(default=UNSET)
    pull: bool = Field(default=...)


class Artifact(GitHubRestModel):
    """Artifact

    An artifact
    """

    id: int = Field(default=...)
    node_id: str = Field(default=...)
    name: str = Field(description="The name of the artifact.", default=...)
    size_in_bytes: int = Field(
        description="The size in bytes of the artifact.", default=...
    )
    url: str = Field(default=...)
    archive_download_url: str = Field(default=...)
    expired: bool = Field(
        description="Whether or not the artifact has expired.", default=...
    )
    created_at: Union[datetime, None] = Field(default=...)
    expires_at: Union[datetime, None] = Field(default=...)
    updated_at: Union[datetime, None] = Field(default=...)
    workflow_run: Union[Unset, Union[ArtifactPropWorkflowRun, None]] = Field(
        default=UNSET
    )


class ArtifactPropWorkflowRun(GitHubRestModel):
    """ArtifactPropWorkflowRun"""

    id: Union[Unset, int] = Field(default=UNSET)
    repository_id: Union[Unset, int] = Field(default=UNSET)
    head_repository_id: Union[Unset, int] = Field(default=UNSET)
    head_branch: Union[Unset, str] = Field(default=UNSET)
    head_sha: Union[Unset, str] = Field(default=UNSET)


class ActionsCacheList(GitHubRestModel):
    """Repository actions caches

    Repository actions caches
    """

    total_count: int = Field(description="Total number of caches", default=...)
    actions_caches: List[ActionsCacheListPropActionsCachesItems] = Field(
        description="Array of caches", default=...
    )


class ActionsCacheListPropActionsCachesItems(GitHubRestModel):
    """ActionsCacheListPropActionsCachesItems"""

    id: Union[Unset, int] = Field(default=UNSET)
    ref: Union[Unset, str] = Field(default=UNSET)
    key: Union[Unset, str] = Field(default=UNSET)
    version: Union[Unset, str] = Field(default=UNSET)
    last_accessed_at: Union[Unset, datetime] = Field(default=UNSET)
    created_at: Union[Unset, datetime] = Field(default=UNSET)
    size_in_bytes: Union[Unset, int] = Field(default=UNSET)


class Job(GitHubRestModel):
    """Job

    Information of a job execution in a workflow run
    """

    id: int = Field(description="The id of the job.", default=...)
    run_id: int = Field(
        description="The id of the associated workflow run.", default=...
    )
    run_url: str = Field(default=...)
    run_attempt: Union[Unset, int] = Field(
        description="Attempt number of the associated workflow run, 1 for first attempt and higher if the workflow was re-run.",
        default=UNSET,
    )
    node_id: str = Field(default=...)
    head_sha: str = Field(
        description="The SHA of the commit that is being run.", default=...
    )
    url: str = Field(default=...)
    html_url: Union[str, None] = Field(default=...)
    status: Literal["queued", "in_progress", "completed"] = Field(
        description="The phase of the lifecycle that the job is currently in.",
        default=...,
    )
    conclusion: Union[
        None,
        Literal[
            "success",
            "failure",
            "neutral",
            "cancelled",
            "skipped",
            "timed_out",
            "action_required",
        ],
    ] = Field(description="The outcome of the job.", default=...)
    started_at: datetime = Field(
        description="The time that the job started, in ISO 8601 format.", default=...
    )
    completed_at: Union[datetime, None] = Field(
        description="The time that the job finished, in ISO 8601 format.", default=...
    )
    name: str = Field(description="The name of the job.", default=...)
    steps: Union[Unset, List[JobPropStepsItems]] = Field(
        description="Steps in this job.", default=UNSET
    )
    check_run_url: str = Field(default=...)
    labels: List[str] = Field(
        description='Labels for the workflow job. Specified by the "runs_on" attribute in the action\'s workflow file.',
        default=...,
    )
    runner_id: Union[int, None] = Field(
        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.)",
        default=...,
    )
    runner_name: Union[str, None] = Field(
        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.)",
        default=...,
    )
    runner_group_id: Union[int, None] = Field(
        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.)",
        default=...,
    )
    runner_group_name: Union[str, None] = Field(
        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.)",
        default=...,
    )


class JobPropStepsItems(GitHubRestModel):
    """JobPropStepsItems"""

    status: Literal["queued", "in_progress", "completed"] = Field(
        description="The phase of the lifecycle that the job is currently in.",
        default=...,
    )
    conclusion: Union[str, None] = Field(
        description="The outcome of the job.", default=...
    )
    name: str = Field(description="The name of the job.", default=...)
    number: int = Field(default=...)
    started_at: Union[Unset, Union[datetime, None]] = Field(
        description="The time that the step started, in ISO 8601 format.", default=UNSET
    )
    completed_at: Union[Unset, Union[datetime, None]] = Field(
        description="The time that the job finished, in ISO 8601 format.", default=UNSET
    )


class ActionsRepositoryPermissions(GitHubRestModel):
    """ActionsRepositoryPermissions"""

    enabled: bool = Field(
        description="Whether GitHub Actions is enabled on the repository.", default=...
    )
    allowed_actions: Union[Unset, Literal["all", "local_only", "selected"]] = Field(
        description="The permissions policy that controls the actions and reusable workflows that are allowed to run.",
        default=UNSET,
    )
    selected_actions_url: Union[Unset, str] = Field(
        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`.",
        default=UNSET,
    )


class ActionsWorkflowAccessToRepository(GitHubRestModel):
    """ActionsWorkflowAccessToRepository"""

    access_level: Literal["none", "organization", "enterprise"] = Field(
        description="Defines the level of access that workflows outside of the repository have to actions and reusable workflows within the\nrepository. `none` means access is only possible from workflows in this repository.",
        default=...,
    )


class ReferencedWorkflow(GitHubRestModel):
    """Referenced workflow

    A workflow referenced/reused by the initial caller workflow
    """

    path: str = Field(default=...)
    sha: str = Field(default=...)
    ref: Union[Unset, str] = Field(default=UNSET)


class PullRequestMinimal(GitHubRestModel):
    """Pull Request Minimal"""

    id: int = Field(default=...)
    number: int = Field(default=...)
    url: str = Field(default=...)
    head: PullRequestMinimalPropHead = Field(default=...)
    base: PullRequestMinimalPropBase = Field(default=...)


class PullRequestMinimalPropHead(GitHubRestModel):
    """PullRequestMinimalPropHead"""

    ref: str = Field(default=...)
    sha: str = Field(default=...)
    repo: PullRequestMinimalPropHeadPropRepo = Field(default=...)


class PullRequestMinimalPropHeadPropRepo(GitHubRestModel):
    """PullRequestMinimalPropHeadPropRepo"""

    id: int = Field(default=...)
    url: str = Field(default=...)
    name: str = Field(default=...)


class PullRequestMinimalPropBase(GitHubRestModel):
    """PullRequestMinimalPropBase"""

    ref: str = Field(default=...)
    sha: str = Field(default=...)
    repo: PullRequestMinimalPropBasePropRepo = Field(default=...)


class PullRequestMinimalPropBasePropRepo(GitHubRestModel):
    """PullRequestMinimalPropBasePropRepo"""

    id: int = Field(default=...)
    url: str = Field(default=...)
    name: str = Field(default=...)


class SimpleCommit(GitHubRestModel):
    """Simple Commit

    Simple Commit
    """

    id: str = Field(default=...)
    tree_id: str = Field(default=...)
    message: str = Field(default=...)
    timestamp: datetime = Field(default=...)
    author: Union[SimpleCommitPropAuthor, None] = Field(default=...)
    committer: Union[SimpleCommitPropCommitter, None] = Field(default=...)


class SimpleCommitPropAuthor(GitHubRestModel):
    """SimpleCommitPropAuthor"""

    name: str = Field(default=...)
    email: str = Field(default=...)


class SimpleCommitPropCommitter(GitHubRestModel):
    """SimpleCommitPropCommitter"""

    name: str = Field(default=...)
    email: str = Field(default=...)


class WorkflowRun(GitHubRestModel):
    """Workflow Run

    An invocation of a workflow
    """

    id: int = Field(description="The ID of the workflow run.", default=...)
    name: Union[Unset, Union[str, None]] = Field(
        description="The name of the workflow run.", default=UNSET
    )
    node_id: str = Field(default=...)
    check_suite_id: Union[Unset, int] = Field(
        description="The ID of the associated check suite.", default=UNSET
    )
    check_suite_node_id: Union[Unset, str] = Field(
        description="The node ID of the associated check suite.", default=UNSET
    )
    head_branch: Union[str, None] = Field(default=...)
    head_sha: str = Field(
        description="The SHA of the head commit that points to the version of the workflow being run.",
        default=...,
    )
    path: str = Field(description="The full path of the workflow", default=...)
    run_number: int = Field(
        description="The auto incrementing run number for the workflow run.",
        default=...,
    )
    run_attempt: Union[Unset, int] = Field(
        description="Attempt number of the run, 1 for first attempt and higher if the workflow was re-run.",
        default=UNSET,
    )
    referenced_workflows: Union[Unset, Union[List[ReferencedWorkflow], None]] = Field(
        default=UNSET
    )
    event: str = Field(default=...)
    status: Union[str, None] = Field(default=...)
    conclusion: Union[str, None] = Field(default=...)
    workflow_id: int = Field(description="The ID of the parent workflow.", default=...)
    url: str = Field(description="The URL to the workflow run.", default=...)
    html_url: str = Field(default=...)
    pull_requests: Union[List[PullRequestMinimal], None] = Field(default=...)
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)
    actor: Union[Unset, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )
    triggering_actor: Union[Unset, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )
    run_started_at: Union[Unset, datetime] = Field(
        description="The start time of the latest run. Resets on re-run.", default=UNSET
    )
    jobs_url: str = Field(
        description="The URL to the jobs for the workflow run.", default=...
    )
    logs_url: str = Field(
        description="The URL to download the logs for the workflow run.", default=...
    )
    check_suite_url: str = Field(
        description="The URL to the associated check suite.", default=...
    )
    artifacts_url: str = Field(
        description="The URL to the artifacts for the workflow run.", default=...
    )
    cancel_url: str = Field(
        description="The URL to cancel the workflow run.", default=...
    )
    rerun_url: str = Field(
        description="The URL to rerun the workflow run.", default=...
    )
    previous_attempt_url: Union[Unset, Union[str, None]] = Field(
        description="The URL to the previous attempted run of this workflow, if one exists.",
        default=UNSET,
    )
    workflow_url: str = Field(description="The URL to the workflow.", default=...)
    head_commit: Union[None, SimpleCommit] = Field(
        title="Simple Commit", description="Simple Commit", default=...
    )
    repository: MinimalRepository = Field(
        title="Minimal Repository", description="Minimal Repository", default=...
    )
    head_repository: MinimalRepository = Field(
        title="Minimal Repository", description="Minimal Repository", default=...
    )
    head_repository_id: Union[Unset, int] = Field(default=UNSET)
    display_title: str = Field(
        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.",
        default=...,
    )


class EnvironmentApprovals(GitHubRestModel):
    """Environment Approval

    An entry in the reviews log for environment deployments
    """

    environments: List[EnvironmentApprovalsPropEnvironmentsItems] = Field(
        description="The list of environments that were approved or rejected",
        default=...,
    )
    state: Literal["approved", "rejected"] = Field(
        description="Whether deployment to the environment(s) was approved or rejected",
        default=...,
    )
    user: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    comment: str = Field(
        description="The comment submitted with the deployment review", default=...
    )


class EnvironmentApprovalsPropEnvironmentsItems(GitHubRestModel):
    """EnvironmentApprovalsPropEnvironmentsItems"""

    id: Union[Unset, int] = Field(
        description="The id of the environment.", default=UNSET
    )
    node_id: Union[Unset, str] = Field(default=UNSET)
    name: Union[Unset, str] = Field(
        description="The name of the environment.", default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    created_at: Union[Unset, datetime] = Field(
        description="The time that the environment was created, in ISO 8601 format.",
        default=UNSET,
    )
    updated_at: Union[Unset, datetime] = Field(
        description="The time that the environment was last updated, in ISO 8601 format.",
        default=UNSET,
    )


class PendingDeployment(GitHubRestModel):
    """Pending Deployment

    Details of a deployment that is waiting for protection rules to pass
    """

    environment: PendingDeploymentPropEnvironment = Field(default=...)
    wait_timer: int = Field(
        description="The set duration of the wait timer", default=...
    )
    wait_timer_started_at: Union[datetime, None] = Field(
        description="The time that the wait timer began.", default=...
    )
    current_user_can_approve: bool = Field(
        description="Whether the currently authenticated user can approve the deployment",
        default=...,
    )
    reviewers: List[PendingDeploymentPropReviewersItems] = Field(
        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.",
        default=...,
    )


class PendingDeploymentPropEnvironment(GitHubRestModel):
    """PendingDeploymentPropEnvironment"""

    id: Union[Unset, int] = Field(
        description="The id of the environment.", default=UNSET
    )
    node_id: Union[Unset, str] = Field(default=UNSET)
    name: Union[Unset, str] = Field(
        description="The name of the environment.", default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)


class PendingDeploymentPropReviewersItems(GitHubRestModel):
    """PendingDeploymentPropReviewersItems"""

    type: Union[Unset, Literal["User", "Team"]] = Field(
        description="The type of reviewer.", default=UNSET
    )
    reviewer: Union[Unset, Union[SimpleUser, Team]] = Field(
        title="Team",
        description="Groups of organization members that gives permissions on specified repositories.",
        default=UNSET,
    )


class Deployment(GitHubRestModel):
    """Deployment

    A request for a specific ref(branch,sha,tag) to be deployed
    """

    url: str = Field(default=...)
    id: int = Field(description="Unique identifier of the deployment", default=...)
    node_id: str = Field(default=...)
    sha: str = Field(default=...)
    ref: str = Field(
        description="The ref to deploy. This can be a branch, tag, or sha.", default=...
    )
    task: str = Field(description="Parameter to specify a task to execute", default=...)
    payload: Union[DeploymentPropPayloadOneof0, str] = Field(default=...)
    original_environment: Union[Unset, str] = Field(default=UNSET)
    environment: str = Field(
        description="Name for the target deployment environment.", default=...
    )
    description: Union[str, None] = Field(default=...)
    creator: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)
    statuses_url: str = Field(default=...)
    repository_url: str = Field(default=...)
    transient_environment: Union[Unset, bool] = Field(
        description="Specifies if the given environment is will no longer exist at some point in the future. Default: false.",
        default=UNSET,
    )
    production_environment: Union[Unset, bool] = Field(
        description="Specifies if the given environment is one that end-users directly interact with. Default: false.",
        default=UNSET,
    )
    performed_via_github_app: Union[Unset, Union[None, Integration]] = Field(
        title="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.",
        default=UNSET,
    )


class DeploymentPropPayloadOneof0(GitHubRestModel, extra=Extra.allow):
    """DeploymentPropPayloadOneof0"""


class WorkflowRunUsage(GitHubRestModel):
    """Workflow Run Usage

    Workflow Run Usage
    """

    billable: WorkflowRunUsagePropBillable = Field(default=...)
    run_duration_ms: Union[Unset, int] = Field(default=UNSET)


class WorkflowRunUsagePropBillable(GitHubRestModel):
    """WorkflowRunUsagePropBillable"""

    ubuntu: Union[Unset, WorkflowRunUsagePropBillablePropUbuntu] = Field(
        default=UNSET, alias="UBUNTU"
    )
    macos: Union[Unset, WorkflowRunUsagePropBillablePropMacos] = Field(
        default=UNSET, alias="MACOS"
    )
    windows: Union[Unset, WorkflowRunUsagePropBillablePropWindows] = Field(
        default=UNSET, alias="WINDOWS"
    )


class WorkflowRunUsagePropBillablePropUbuntu(GitHubRestModel):
    """WorkflowRunUsagePropBillablePropUbuntu"""

    total_ms: int = Field(default=...)
    jobs: int = Field(default=...)
    job_runs: Union[
        Unset, List[WorkflowRunUsagePropBillablePropUbuntuPropJobRunsItems]
    ] = Field(default=UNSET)


class WorkflowRunUsagePropBillablePropUbuntuPropJobRunsItems(GitHubRestModel):
    """WorkflowRunUsagePropBillablePropUbuntuPropJobRunsItems"""

    job_id: int = Field(default=...)
    duration_ms: int = Field(default=...)


class WorkflowRunUsagePropBillablePropMacos(GitHubRestModel):
    """WorkflowRunUsagePropBillablePropMacos"""

    total_ms: int = Field(default=...)
    jobs: int = Field(default=...)
    job_runs: Union[
        Unset, List[WorkflowRunUsagePropBillablePropMacosPropJobRunsItems]
    ] = Field(default=UNSET)


class WorkflowRunUsagePropBillablePropMacosPropJobRunsItems(GitHubRestModel):
    """WorkflowRunUsagePropBillablePropMacosPropJobRunsItems"""

    job_id: int = Field(default=...)
    duration_ms: int = Field(default=...)


class WorkflowRunUsagePropBillablePropWindows(GitHubRestModel):
    """WorkflowRunUsagePropBillablePropWindows"""

    total_ms: int = Field(default=...)
    jobs: int = Field(default=...)
    job_runs: Union[
        Unset, List[WorkflowRunUsagePropBillablePropWindowsPropJobRunsItems]
    ] = Field(default=UNSET)


class WorkflowRunUsagePropBillablePropWindowsPropJobRunsItems(GitHubRestModel):
    """WorkflowRunUsagePropBillablePropWindowsPropJobRunsItems"""

    job_id: int = Field(default=...)
    duration_ms: int = Field(default=...)


class ActionsSecret(GitHubRestModel):
    """Actions Secret

    Set secrets for GitHub Actions.
    """

    name: str = Field(description="The name of the secret.", default=...)
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)


class Workflow(GitHubRestModel):
    """Workflow

    A GitHub Actions workflow
    """

    id: int = Field(default=...)
    node_id: str = Field(default=...)
    name: str = Field(default=...)
    path: str = Field(default=...)
    state: Literal[
        "active", "deleted", "disabled_fork", "disabled_inactivity", "disabled_manually"
    ] = Field(default=...)
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)
    html_url: str = Field(default=...)
    badge_url: str = Field(default=...)
    deleted_at: Union[Unset, datetime] = Field(default=UNSET)


class WorkflowUsage(GitHubRestModel):
    """Workflow Usage

    Workflow Usage
    """

    billable: WorkflowUsagePropBillable = Field(default=...)


class WorkflowUsagePropBillable(GitHubRestModel):
    """WorkflowUsagePropBillable"""

    ubuntu: Union[Unset, WorkflowUsagePropBillablePropUbuntu] = Field(
        default=UNSET, alias="UBUNTU"
    )
    macos: Union[Unset, WorkflowUsagePropBillablePropMacos] = Field(
        default=UNSET, alias="MACOS"
    )
    windows: Union[Unset, WorkflowUsagePropBillablePropWindows] = Field(
        default=UNSET, alias="WINDOWS"
    )


class WorkflowUsagePropBillablePropUbuntu(GitHubRestModel):
    """WorkflowUsagePropBillablePropUbuntu"""

    total_ms: Union[Unset, int] = Field(default=UNSET)


class WorkflowUsagePropBillablePropMacos(GitHubRestModel):
    """WorkflowUsagePropBillablePropMacos"""

    total_ms: Union[Unset, int] = Field(default=UNSET)


class WorkflowUsagePropBillablePropWindows(GitHubRestModel):
    """WorkflowUsagePropBillablePropWindows"""

    total_ms: Union[Unset, int] = Field(default=UNSET)


class Autolink(GitHubRestModel):
    """Autolink reference

    An autolink reference.
    """

    id: int = Field(default=...)
    key_prefix: str = Field(
        description="The prefix of a key that is linkified.", default=...
    )
    url_template: str = Field(
        description="A template for the target URL that is generated if a key was found.",
        default=...,
    )
    is_alphanumeric: bool = Field(
        description="Whether this autolink reference matches alphanumeric characters. If false, this autolink reference only matches numeric characters.",
        default=...,
    )


class ProtectedBranchRequiredStatusCheck(GitHubRestModel):
    """Protected Branch Required Status Check

    Protected Branch Required Status Check
    """

    url: Union[Unset, str] = Field(default=UNSET)
    enforcement_level: Union[Unset, str] = Field(default=UNSET)
    contexts: List[str] = Field(default=...)
    checks: List[ProtectedBranchRequiredStatusCheckPropChecksItems] = Field(default=...)
    contexts_url: Union[Unset, str] = Field(default=UNSET)
    strict: Union[Unset, bool] = Field(default=UNSET)


class ProtectedBranchRequiredStatusCheckPropChecksItems(GitHubRestModel):
    """ProtectedBranchRequiredStatusCheckPropChecksItems"""

    context: str = Field(default=...)
    app_id: Union[int, None] = Field(default=...)


class ProtectedBranchAdminEnforced(GitHubRestModel):
    """Protected Branch Admin Enforced

    Protected Branch Admin Enforced
    """

    url: str = Field(default=...)
    enabled: bool = Field(default=...)


class ProtectedBranchPullRequestReview(GitHubRestModel):
    """Protected Branch Pull Request Review

    Protected Branch Pull Request Review
    """

    url: Union[Unset, str] = Field(default=UNSET)
    dismissal_restrictions: Union[
        Unset, ProtectedBranchPullRequestReviewPropDismissalRestrictions
    ] = Field(default=UNSET)
    bypass_pull_request_allowances: Union[
        Unset, ProtectedBranchPullRequestReviewPropBypassPullRequestAllowances
    ] = Field(
        description="Allow specific users, teams, or apps to bypass pull request requirements.",
        default=UNSET,
    )
    dismiss_stale_reviews: bool = Field(default=...)
    require_code_owner_reviews: bool = Field(default=...)
    required_approving_review_count: Union[Unset, int] = Field(le=6.0, default=UNSET)


class ProtectedBranchPullRequestReviewPropDismissalRestrictions(GitHubRestModel):
    """ProtectedBranchPullRequestReviewPropDismissalRestrictions"""

    users: Union[Unset, List[SimpleUser]] = Field(
        description="The list of users with review dismissal access.", default=UNSET
    )
    teams: Union[Unset, List[Team]] = Field(
        description="The list of teams with review dismissal access.", default=UNSET
    )
    apps: Union[Unset, List[Integration]] = Field(
        description="The list of apps with review dismissal access.", default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)
    users_url: Union[Unset, str] = Field(default=UNSET)
    teams_url: Union[Unset, str] = Field(default=UNSET)


class ProtectedBranchPullRequestReviewPropBypassPullRequestAllowances(GitHubRestModel):
    """ProtectedBranchPullRequestReviewPropBypassPullRequestAllowances

    Allow specific users, teams, or apps to bypass pull request requirements.
    """

    users: Union[Unset, List[SimpleUser]] = Field(
        description="The list of users allowed to bypass pull request requirements.",
        default=UNSET,
    )
    teams: Union[Unset, List[Team]] = Field(
        description="The list of teams allowed to bypass pull request requirements.",
        default=UNSET,
    )
    apps: Union[Unset, List[Integration]] = Field(
        description="The list of apps allowed to bypass pull request requirements.",
        default=UNSET,
    )


class BranchRestrictionPolicy(GitHubRestModel):
    """Branch Restriction Policy

    Branch Restriction Policy
    """

    url: str = Field(default=...)
    users_url: str = Field(default=...)
    teams_url: str = Field(default=...)
    apps_url: str = Field(default=...)
    users: List[BranchRestrictionPolicyPropUsersItems] = Field(default=...)
    teams: List[BranchRestrictionPolicyPropTeamsItems] = Field(default=...)
    apps: List[BranchRestrictionPolicyPropAppsItems] = Field(default=...)


class BranchRestrictionPolicyPropUsersItems(GitHubRestModel):
    """BranchRestrictionPolicyPropUsersItems"""

    login: Union[Unset, str] = Field(default=UNSET)
    id: Union[Unset, int] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    avatar_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)


class BranchRestrictionPolicyPropTeamsItems(GitHubRestModel):
    """BranchRestrictionPolicyPropTeamsItems"""

    id: Union[Unset, int] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    name: Union[Unset, str] = Field(default=UNSET)
    slug: Union[Unset, str] = Field(default=UNSET)
    description: Union[Unset, Union[str, None]] = Field(default=UNSET)
    privacy: Union[Unset, str] = Field(default=UNSET)
    permission: Union[Unset, str] = Field(default=UNSET)
    members_url: Union[Unset, str] = Field(default=UNSET)
    repositories_url: Union[Unset, str] = Field(default=UNSET)
    parent: Union[Unset, Union[str, None]] = Field(default=UNSET)


class BranchRestrictionPolicyPropAppsItems(GitHubRestModel):
    """BranchRestrictionPolicyPropAppsItems"""

    id: Union[Unset, int] = Field(default=UNSET)
    slug: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    owner: Union[Unset, BranchRestrictionPolicyPropAppsItemsPropOwner] = Field(
        default=UNSET
    )
    name: Union[Unset, str] = Field(default=UNSET)
    description: Union[Unset, str] = Field(default=UNSET)
    external_url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    created_at: Union[Unset, str] = Field(default=UNSET)
    updated_at: Union[Unset, str] = Field(default=UNSET)
    permissions: Union[
        Unset, BranchRestrictionPolicyPropAppsItemsPropPermissions
    ] = Field(default=UNSET)
    events: Union[Unset, List[str]] = Field(default=UNSET)


class BranchRestrictionPolicyPropAppsItemsPropOwner(GitHubRestModel):
    """BranchRestrictionPolicyPropAppsItemsPropOwner"""

    login: Union[Unset, str] = Field(default=UNSET)
    id: Union[Unset, int] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    hooks_url: Union[Unset, str] = Field(default=UNSET)
    issues_url: Union[Unset, str] = Field(default=UNSET)
    members_url: Union[Unset, str] = Field(default=UNSET)
    public_members_url: Union[Unset, str] = Field(default=UNSET)
    avatar_url: Union[Unset, str] = Field(default=UNSET)
    description: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)


class BranchRestrictionPolicyPropAppsItemsPropPermissions(GitHubRestModel):
    """BranchRestrictionPolicyPropAppsItemsPropPermissions"""

    metadata: Union[Unset, str] = Field(default=UNSET)
    contents: Union[Unset, str] = Field(default=UNSET)
    issues: Union[Unset, str] = Field(default=UNSET)
    single_file: Union[Unset, str] = Field(default=UNSET)


class BranchProtection(GitHubRestModel):
    """Branch Protection

    Branch Protection
    """

    url: Union[Unset, str] = Field(default=UNSET)
    enabled: Union[Unset, bool] = Field(default=UNSET)
    required_status_checks: Union[Unset, ProtectedBranchRequiredStatusCheck] = Field(
        title="Protected Branch Required Status Check",
        description="Protected Branch Required Status Check",
        default=UNSET,
    )
    enforce_admins: Union[Unset, ProtectedBranchAdminEnforced] = Field(
        title="Protected Branch Admin Enforced",
        description="Protected Branch Admin Enforced",
        default=UNSET,
    )
    required_pull_request_reviews: Union[
        Unset, ProtectedBranchPullRequestReview
    ] = Field(
        title="Protected Branch Pull Request Review",
        description="Protected Branch Pull Request Review",
        default=UNSET,
    )
    restrictions: Union[Unset, BranchRestrictionPolicy] = Field(
        title="Branch Restriction Policy",
        description="Branch Restriction Policy",
        default=UNSET,
    )
    required_linear_history: Union[
        Unset, BranchProtectionPropRequiredLinearHistory
    ] = Field(default=UNSET)
    allow_force_pushes: Union[Unset, BranchProtectionPropAllowForcePushes] = Field(
        default=UNSET
    )
    allow_deletions: Union[Unset, BranchProtectionPropAllowDeletions] = Field(
        default=UNSET
    )
    block_creations: Union[Unset, BranchProtectionPropBlockCreations] = Field(
        default=UNSET
    )
    required_conversation_resolution: Union[
        Unset, BranchProtectionPropRequiredConversationResolution
    ] = Field(default=UNSET)
    name: Union[Unset, str] = Field(default=UNSET)
    protection_url: Union[Unset, str] = Field(default=UNSET)
    required_signatures: Union[Unset, BranchProtectionPropRequiredSignatures] = Field(
        default=UNSET
    )


class BranchProtectionPropRequiredLinearHistory(GitHubRestModel):
    """BranchProtectionPropRequiredLinearHistory"""

    enabled: Union[Unset, bool] = Field(default=UNSET)


class BranchProtectionPropAllowForcePushes(GitHubRestModel):
    """BranchProtectionPropAllowForcePushes"""

    enabled: Union[Unset, bool] = Field(default=UNSET)


class BranchProtectionPropAllowDeletions(GitHubRestModel):
    """BranchProtectionPropAllowDeletions"""

    enabled: Union[Unset, bool] = Field(default=UNSET)


class BranchProtectionPropBlockCreations(GitHubRestModel):
    """BranchProtectionPropBlockCreations"""

    enabled: Union[Unset, bool] = Field(default=UNSET)


class BranchProtectionPropRequiredConversationResolution(GitHubRestModel):
    """BranchProtectionPropRequiredConversationResolution"""

    enabled: Union[Unset, bool] = Field(default=UNSET)


class BranchProtectionPropRequiredSignatures(GitHubRestModel):
    """BranchProtectionPropRequiredSignatures"""

    url: str = Field(default=...)
    enabled: bool = Field(default=...)


class ShortBranch(GitHubRestModel):
    """Short Branch

    Short Branch
    """

    name: str = Field(default=...)
    commit: ShortBranchPropCommit = Field(default=...)
    protected: bool = Field(default=...)
    protection: Union[Unset, BranchProtection] = Field(
        title="Branch Protection", description="Branch Protection", default=UNSET
    )
    protection_url: Union[Unset, str] = Field(default=UNSET)


class ShortBranchPropCommit(GitHubRestModel):
    """ShortBranchPropCommit"""

    sha: str = Field(default=...)
    url: str = Field(default=...)


class GitUser(GitHubRestModel):
    """Git User

    Metaproperties for Git author/committer information.
    """

    name: Union[Unset, str] = Field(default=UNSET)
    email: Union[Unset, str] = Field(default=UNSET)
    date: Union[Unset, str] = Field(default=UNSET)


class Verification(GitHubRestModel):
    """Verification"""

    verified: bool = Field(default=...)
    reason: str = Field(default=...)
    payload: Union[str, None] = Field(default=...)
    signature: Union[str, None] = Field(default=...)


class DiffEntry(GitHubRestModel):
    """Diff Entry

    Diff Entry
    """

    sha: str = Field(default=...)
    filename: str = Field(default=...)
    status: Literal[
        "added", "removed", "modified", "renamed", "copied", "changed", "unchanged"
    ] = Field(default=...)
    additions: int = Field(default=...)
    deletions: int = Field(default=...)
    changes: int = Field(default=...)
    blob_url: str = Field(default=...)
    raw_url: str = Field(default=...)
    contents_url: str = Field(default=...)
    patch: Union[Unset, str] = Field(default=UNSET)
    previous_filename: Union[Unset, str] = Field(default=UNSET)


class Commit(GitHubRestModel):
    """Commit

    Commit
    """

    url: str = Field(default=...)
    sha: str = Field(default=...)
    node_id: str = Field(default=...)
    html_url: str = Field(default=...)
    comments_url: str = Field(default=...)
    commit: CommitPropCommit = Field(default=...)
    author: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    committer: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    parents: List[CommitPropParentsItems] = Field(default=...)
    stats: Union[Unset, CommitPropStats] = Field(default=UNSET)
    files: Union[Unset, List[DiffEntry]] = Field(default=UNSET)


class CommitPropCommit(GitHubRestModel):
    """CommitPropCommit"""

    url: str = Field(default=...)
    author: Union[None, GitUser] = Field(
        title="Git User",
        description="Metaproperties for Git author/committer information.",
        default=...,
    )
    committer: Union[None, GitUser] = Field(
        title="Git User",
        description="Metaproperties for Git author/committer information.",
        default=...,
    )
    message: str = Field(default=...)
    comment_count: int = Field(default=...)
    tree: CommitPropCommitPropTree = Field(default=...)
    verification: Union[Unset, Verification] = Field(
        title="Verification", default=UNSET
    )


class CommitPropCommitPropTree(GitHubRestModel):
    """CommitPropCommitPropTree"""

    sha: str = Field(default=...)
    url: str = Field(default=...)


class CommitPropParentsItems(GitHubRestModel):
    """CommitPropParentsItems"""

    sha: str = Field(default=...)
    url: str = Field(default=...)
    html_url: Union[Unset, str] = Field(default=UNSET)


class CommitPropStats(GitHubRestModel):
    """CommitPropStats"""

    additions: Union[Unset, int] = Field(default=UNSET)
    deletions: Union[Unset, int] = Field(default=UNSET)
    total: Union[Unset, int] = Field(default=UNSET)


class BranchWithProtection(GitHubRestModel):
    """Branch With Protection

    Branch With Protection
    """

    name: str = Field(default=...)
    commit: Commit = Field(title="Commit", description="Commit", default=...)
    links: BranchWithProtectionPropLinks = Field(default=..., alias="_links")
    protected: bool = Field(default=...)
    protection: BranchProtection = Field(
        title="Branch Protection", description="Branch Protection", default=...
    )
    protection_url: str = Field(default=...)
    pattern: Union[Unset, str] = Field(default=UNSET)
    required_approving_review_count: Union[Unset, int] = Field(default=UNSET)


class BranchWithProtectionPropLinks(GitHubRestModel):
    """BranchWithProtectionPropLinks"""

    html: str = Field(default=...)
    self_: str = Field(default=..., alias="self")


class StatusCheckPolicy(GitHubRestModel):
    """Status Check Policy

    Status Check Policy
    """

    url: str = Field(default=...)
    strict: bool = Field(default=...)
    contexts: List[str] = Field(default=...)
    checks: List[StatusCheckPolicyPropChecksItems] = Field(default=...)
    contexts_url: str = Field(default=...)


class StatusCheckPolicyPropChecksItems(GitHubRestModel):
    """StatusCheckPolicyPropChecksItems"""

    context: str = Field(default=...)
    app_id: Union[int, None] = Field(default=...)


class ProtectedBranch(GitHubRestModel):
    """Protected Branch

    Branch protections protect branches
    """

    url: str = Field(default=...)
    required_status_checks: Union[Unset, StatusCheckPolicy] = Field(
        title="Status Check Policy", description="Status Check Policy", default=UNSET
    )
    required_pull_request_reviews: Union[
        Unset, ProtectedBranchPropRequiredPullRequestReviews
    ] = Field(default=UNSET)
    required_signatures: Union[Unset, ProtectedBranchPropRequiredSignatures] = Field(
        default=UNSET
    )
    enforce_admins: Union[Unset, ProtectedBranchPropEnforceAdmins] = Field(
        default=UNSET
    )
    required_linear_history: Union[
        Unset, ProtectedBranchPropRequiredLinearHistory
    ] = Field(default=UNSET)
    allow_force_pushes: Union[Unset, ProtectedBranchPropAllowForcePushes] = Field(
        default=UNSET
    )
    allow_deletions: Union[Unset, ProtectedBranchPropAllowDeletions] = Field(
        default=UNSET
    )
    restrictions: Union[Unset, BranchRestrictionPolicy] = Field(
        title="Branch Restriction Policy",
        description="Branch Restriction Policy",
        default=UNSET,
    )
    required_conversation_resolution: Union[
        Unset, ProtectedBranchPropRequiredConversationResolution
    ] = Field(default=UNSET)
    block_creations: Union[Unset, ProtectedBranchPropBlockCreations] = Field(
        default=UNSET
    )


class ProtectedBranchPropRequiredPullRequestReviews(GitHubRestModel):
    """ProtectedBranchPropRequiredPullRequestReviews"""

    url: str = Field(default=...)
    dismiss_stale_reviews: Union[Unset, bool] = Field(default=UNSET)
    require_code_owner_reviews: Union[Unset, bool] = Field(default=UNSET)
    required_approving_review_count: Union[Unset, int] = Field(default=UNSET)
    dismissal_restrictions: Union[
        Unset, ProtectedBranchPropRequiredPullRequestReviewsPropDismissalRestrictions
    ] = Field(default=UNSET)
    bypass_pull_request_allowances: Union[
        Unset,
        ProtectedBranchPropRequiredPullRequestReviewsPropBypassPullRequestAllowances,
    ] = Field(default=UNSET)


class ProtectedBranchPropRequiredPullRequestReviewsPropDismissalRestrictions(
    GitHubRestModel
):
    """ProtectedBranchPropRequiredPullRequestReviewsPropDismissalRestrictions"""

    url: str = Field(default=...)
    users_url: str = Field(default=...)
    teams_url: str = Field(default=...)
    users: List[SimpleUser] = Field(default=...)
    teams: List[Team] = Field(default=...)
    apps: Union[Unset, List[Integration]] = Field(default=UNSET)


class ProtectedBranchPropRequiredPullRequestReviewsPropBypassPullRequestAllowances(
    GitHubRestModel
):
    """ProtectedBranchPropRequiredPullRequestReviewsPropBypassPullRequestAllowances"""

    users: List[SimpleUser] = Field(default=...)
    teams: List[Team] = Field(default=...)
    apps: Union[Unset, List[Integration]] = Field(default=UNSET)


class ProtectedBranchPropRequiredSignatures(GitHubRestModel):
    """ProtectedBranchPropRequiredSignatures"""

    url: str = Field(default=...)
    enabled: bool = Field(default=...)


class ProtectedBranchPropEnforceAdmins(GitHubRestModel):
    """ProtectedBranchPropEnforceAdmins"""

    url: str = Field(default=...)
    enabled: bool = Field(default=...)


class ProtectedBranchPropRequiredLinearHistory(GitHubRestModel):
    """ProtectedBranchPropRequiredLinearHistory"""

    enabled: bool = Field(default=...)


class ProtectedBranchPropAllowForcePushes(GitHubRestModel):
    """ProtectedBranchPropAllowForcePushes"""

    enabled: bool = Field(default=...)


class ProtectedBranchPropAllowDeletions(GitHubRestModel):
    """ProtectedBranchPropAllowDeletions"""

    enabled: bool = Field(default=...)


class ProtectedBranchPropRequiredConversationResolution(GitHubRestModel):
    """ProtectedBranchPropRequiredConversationResolution"""

    enabled: Union[Unset, bool] = Field(default=UNSET)


class ProtectedBranchPropBlockCreations(GitHubRestModel):
    """ProtectedBranchPropBlockCreations"""

    enabled: bool = Field(default=...)


class DeploymentSimple(GitHubRestModel):
    """Deployment

    A deployment created as the result of an Actions check run from a workflow that
    references an environment
    """

    url: str = Field(default=...)
    id: int = Field(description="Unique identifier of the deployment", default=...)
    node_id: str = Field(default=...)
    task: str = Field(description="Parameter to specify a task to execute", default=...)
    original_environment: Union[Unset, str] = Field(default=UNSET)
    environment: str = Field(
        description="Name for the target deployment environment.", default=...
    )
    description: Union[str, None] = Field(default=...)
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)
    statuses_url: str = Field(default=...)
    repository_url: str = Field(default=...)
    transient_environment: Union[Unset, bool] = Field(
        description="Specifies if the given environment is will no longer exist at some point in the future. Default: false.",
        default=UNSET,
    )
    production_environment: Union[Unset, bool] = Field(
        description="Specifies if the given environment is one that end-users directly interact with. Default: false.",
        default=UNSET,
    )
    performed_via_github_app: Union[Unset, Union[None, Integration]] = Field(
        title="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.",
        default=UNSET,
    )


class CheckRun(GitHubRestModel):
    """CheckRun

    A check performed on the code of a given code change
    """

    id: int = Field(description="The id of the check.", default=...)
    head_sha: str = Field(
        description="The SHA of the commit that is being checked.", default=...
    )
    node_id: str = Field(default=...)
    external_id: Union[str, None] = Field(default=...)
    url: str = Field(default=...)
    html_url: Union[str, None] = Field(default=...)
    details_url: Union[str, None] = Field(default=...)
    status: Literal["queued", "in_progress", "completed"] = Field(
        description="The phase of the lifecycle that the check is currently in.",
        default=...,
    )
    conclusion: Union[
        None,
        Literal[
            "success",
            "failure",
            "neutral",
            "cancelled",
            "skipped",
            "timed_out",
            "action_required",
        ],
    ] = Field(default=...)
    started_at: Union[datetime, None] = Field(default=...)
    completed_at: Union[datetime, None] = Field(default=...)
    output: CheckRunPropOutput = Field(default=...)
    name: str = Field(description="The name of the check.", default=...)
    check_suite: Union[CheckRunPropCheckSuite, None] = Field(default=...)
    app: Union[None, Integration] = Field(
        title="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.",
        default=...,
    )
    pull_requests: List[PullRequestMinimal] = Field(default=...)
    deployment: Union[Unset, DeploymentSimple] = Field(
        title="Deployment",
        description="A deployment created as the result of an Actions check run from a workflow that references an environment",
        default=UNSET,
    )


class CheckRunPropOutput(GitHubRestModel):
    """CheckRunPropOutput"""

    title: Union[str, None] = Field(default=...)
    summary: Union[str, None] = Field(default=...)
    text: Union[str, None] = Field(default=...)
    annotations_count: int = Field(default=...)
    annotations_url: str = Field(default=...)


class CheckRunPropCheckSuite(GitHubRestModel):
    """CheckRunPropCheckSuite"""

    id: int = Field(default=...)


class CheckAnnotation(GitHubRestModel):
    """Check Annotation

    Check Annotation
    """

    path: str = Field(default=...)
    start_line: int = Field(default=...)
    end_line: int = Field(default=...)
    start_column: Union[int, None] = Field(default=...)
    end_column: Union[int, None] = Field(default=...)
    annotation_level: Union[str, None] = Field(default=...)
    title: Union[str, None] = Field(default=...)
    message: Union[str, None] = Field(default=...)
    raw_details: Union[str, None] = Field(default=...)
    blob_href: str = Field(default=...)


class CheckSuite(GitHubRestModel):
    """CheckSuite

    A suite of checks performed on the code of a given code change
    """

    id: int = Field(default=...)
    node_id: str = Field(default=...)
    head_branch: Union[str, None] = Field(default=...)
    head_sha: str = Field(
        description="The SHA of the head commit that is being checked.", default=...
    )
    status: Union[None, Literal["queued", "in_progress", "completed"]] = Field(
        default=...
    )
    conclusion: Union[
        None,
        Literal[
            "success",
            "failure",
            "neutral",
            "cancelled",
            "skipped",
            "timed_out",
            "action_required",
        ],
    ] = Field(default=...)
    url: Union[str, None] = Field(default=...)
    before: Union[str, None] = Field(default=...)
    after: Union[str, None] = Field(default=...)
    pull_requests: Union[List[PullRequestMinimal], None] = Field(default=...)
    app: Union[None, Integration] = Field(
        title="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.",
        default=...,
    )
    repository: MinimalRepository = Field(
        title="Minimal Repository", description="Minimal Repository", default=...
    )
    created_at: Union[datetime, None] = Field(default=...)
    updated_at: Union[datetime, None] = Field(default=...)
    head_commit: SimpleCommit = Field(
        title="Simple Commit", description="Simple Commit", default=...
    )
    latest_check_runs_count: int = Field(default=...)
    check_runs_url: str = Field(default=...)
    rerequestable: Union[Unset, bool] = Field(default=UNSET)
    runs_rerequestable: Union[Unset, bool] = Field(default=UNSET)


class CheckSuitePreference(GitHubRestModel):
    """Check Suite Preference

    Check suite configuration preferences for a repository.
    """

    preferences: CheckSuitePreferencePropPreferences = Field(default=...)
    repository: MinimalRepository = Field(
        title="Minimal Repository", description="Minimal Repository", default=...
    )


class CheckSuitePreferencePropPreferences(GitHubRestModel):
    """CheckSuitePreferencePropPreferences"""

    auto_trigger_checks: Union[
        Unset, List[CheckSuitePreferencePropPreferencesPropAutoTriggerChecksItems]
    ] = Field(default=UNSET)


class CheckSuitePreferencePropPreferencesPropAutoTriggerChecksItems(GitHubRestModel):
    """CheckSuitePreferencePropPreferencesPropAutoTriggerChecksItems"""

    app_id: int = Field(default=...)
    setting: bool = Field(default=...)


class CodeScanningAlertRuleSummary(GitHubRestModel):
    """CodeScanningAlertRuleSummary"""

    id: Union[Unset, Union[str, None]] = Field(
        description="A unique identifier for the rule used to detect the alert.",
        default=UNSET,
    )
    name: Union[Unset, str] = Field(
        description="The name of the rule used to detect the alert.", default=UNSET
    )
    tags: Union[Unset, Union[List[str], None]] = Field(
        description="A set of tags applicable for the rule.", default=UNSET
    )
    severity: Union[
        Unset, Union[None, Literal["none", "note", "warning", "error"]]
    ] = Field(description="The severity of the alert.", default=UNSET)
    description: Union[Unset, str] = Field(
        description="A short description of the rule used to detect the alert.",
        default=UNSET,
    )


class CodeScanningAlertItems(GitHubRestModel):
    """CodeScanningAlertItems"""

    number: int = Field(description="The security alert number.", default=...)
    created_at: datetime = Field(
        description="The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=...,
    )
    updated_at: Union[Unset, datetime] = Field(
        description="The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=UNSET,
    )
    url: str = Field(description="The REST API URL of the alert resource.", default=...)
    html_url: str = Field(
        description="The GitHub URL of the alert resource.", default=...
    )
    instances_url: str = Field(
        description="The REST API URL for fetching the list of instances for an alert.",
        default=...,
    )
    state: Literal["open", "closed", "dismissed", "fixed"] = Field(
        description="State of a code scanning alert.", default=...
    )
    fixed_at: Union[Unset, Union[datetime, None]] = Field(
        description="The time that the alert was no longer detected and was considered fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=UNSET,
    )
    dismissed_by: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    dismissed_at: Union[datetime, None] = Field(
        description="The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=...,
    )
    dismissed_reason: Union[
        None, Literal["false positive", "won't fix", "used in tests"]
    ] = Field(
        description="**Required when the state is dismissed.** The reason for dismissing or closing the alert.",
        default=...,
    )
    dismissed_comment: Union[Unset, Union[str, None]] = Field(
        description="The dismissal comment associated with the dismissal of the alert.",
        max_length=280,
        default=UNSET,
    )
    rule: CodeScanningAlertRuleSummary = Field(default=...)
    tool: CodeScanningAnalysisTool = Field(default=...)
    most_recent_instance: CodeScanningAlertInstance = Field(default=...)


class CodeScanningAlert(GitHubRestModel):
    """CodeScanningAlert"""

    number: int = Field(description="The security alert number.", default=...)
    created_at: datetime = Field(
        description="The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=...,
    )
    updated_at: Union[Unset, datetime] = Field(
        description="The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=UNSET,
    )
    url: str = Field(description="The REST API URL of the alert resource.", default=...)
    html_url: str = Field(
        description="The GitHub URL of the alert resource.", default=...
    )
    instances_url: str = Field(
        description="The REST API URL for fetching the list of instances for an alert.",
        default=...,
    )
    state: Literal["open", "closed", "dismissed", "fixed"] = Field(
        description="State of a code scanning alert.", default=...
    )
    fixed_at: Union[Unset, Union[datetime, None]] = Field(
        description="The time that the alert was no longer detected and was considered fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=UNSET,
    )
    dismissed_by: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    dismissed_at: Union[datetime, None] = Field(
        description="The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=...,
    )
    dismissed_reason: Union[
        None, Literal["false positive", "won't fix", "used in tests"]
    ] = Field(
        description="**Required when the state is dismissed.** The reason for dismissing or closing the alert.",
        default=...,
    )
    dismissed_comment: Union[Unset, Union[str, None]] = Field(
        description="The dismissal comment associated with the dismissal of the alert.",
        max_length=280,
        default=UNSET,
    )
    rule: CodeScanningAlertRule = Field(default=...)
    tool: CodeScanningAnalysisTool = Field(default=...)
    most_recent_instance: CodeScanningAlertInstance = Field(default=...)


class CodeScanningAnalysis(GitHubRestModel):
    """CodeScanningAnalysis"""

    ref: str = Field(
        description="The full Git reference, formatted as `refs/heads/<branch name>`,\n`refs/pull/<number>/merge`, or `refs/pull/<number>/head`.",
        default=...,
    )
    commit_sha: str = Field(
        description="The SHA of the commit to which the analysis you are uploading relates.",
        min_length=40,
        max_length=40,
        regex="^[0-9a-fA-F]+$",
        default=...,
    )
    analysis_key: str = Field(
        description="Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name.",
        default=...,
    )
    environment: str = Field(
        description="Identifies the variable values associated with the environment in which this analysis was performed.",
        default=...,
    )
    category: Union[Unset, str] = Field(
        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.",
        default=UNSET,
    )
    error: str = Field(default=...)
    created_at: datetime = Field(
        description="The time that the analysis was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=...,
    )
    results_count: int = Field(
        description="The total number of results in the analysis.", default=...
    )
    rules_count: int = Field(
        description="The total number of rules used in the analysis.", default=...
    )
    id: int = Field(description="Unique identifier for this analysis.", default=...)
    url: str = Field(
        description="The REST API URL of the analysis resource.", default=...
    )
    sarif_id: str = Field(description="An identifier for the upload.", default=...)
    tool: CodeScanningAnalysisTool = Field(default=...)
    deletable: bool = Field(default=...)
    warning: str = Field(
        description="Warning generated when processing the analysis", default=...
    )


class CodeScanningAnalysisDeletion(GitHubRestModel):
    """Analysis deletion

    Successful deletion of a code scanning analysis
    """

    next_analysis_url: Union[str, None] = Field(
        description="Next deletable analysis in chain, without last analysis deletion confirmation",
        default=...,
    )
    confirm_delete_url: Union[str, None] = Field(
        description="Next deletable analysis in chain, with last analysis deletion confirmation",
        default=...,
    )


class CodeScanningCodeqlDatabase(GitHubRestModel):
    """CodeQL Database

    A CodeQL database.
    """

    id: int = Field(description="The ID of the CodeQL database.", default=...)
    name: str = Field(description="The name of the CodeQL database.", default=...)
    language: str = Field(
        description="The language of the CodeQL database.", default=...
    )
    uploader: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    content_type: str = Field(
        description="The MIME type of the CodeQL database file.", default=...
    )
    size: int = Field(
        description="The size of the CodeQL database file in bytes.", default=...
    )
    created_at: datetime = Field(
        description="The date and time at which the CodeQL database was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ.",
        default=...,
    )
    updated_at: datetime = Field(
        description="The date and time at which the CodeQL database was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ.",
        default=...,
    )
    url: str = Field(
        description="The URL at which to download the CodeQL database. The `Accept` header must be set to the value of the `content_type` property.",
        default=...,
    )


class CodeScanningSarifsReceipt(GitHubRestModel):
    """CodeScanningSarifsReceipt"""

    id: Union[Unset, str] = Field(
        description="An identifier for the upload.", default=UNSET
    )
    url: Union[Unset, str] = Field(
        description="The REST API URL for checking the status of the upload.",
        default=UNSET,
    )


class CodeScanningSarifsStatus(GitHubRestModel):
    """CodeScanningSarifsStatus"""

    processing_status: Union[Unset, Literal["pending", "complete", "failed"]] = Field(
        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.",
        default=UNSET,
    )
    analyses_url: Union[Unset, Union[str, None]] = Field(
        description="The REST API URL for getting the analyses associated with the upload.",
        default=UNSET,
    )
    errors: Union[Unset, Union[List[str], None]] = Field(
        description="Any errors that ocurred during processing of the delivery.",
        default=UNSET,
    )


class CodeownersErrors(GitHubRestModel):
    """CODEOWNERS errors

    A list of errors found in a repo's CODEOWNERS file
    """

    errors: List[CodeownersErrorsPropErrorsItems] = Field(default=...)


class CodeownersErrorsPropErrorsItems(GitHubRestModel):
    """CodeownersErrorsPropErrorsItems"""

    line: int = Field(
        description="The line number where this errors occurs.", default=...
    )
    column: int = Field(
        description="The column number where this errors occurs.", default=...
    )
    source: Union[Unset, str] = Field(
        description="The contents of the line where the error occurs.", default=UNSET
    )
    kind: str = Field(description="The type of error.", default=...)
    suggestion: Union[Unset, Union[str, None]] = Field(
        description="Suggested action to fix the error. This will usually be `null`, but is provided for some common errors.",
        default=UNSET,
    )
    message: str = Field(
        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).",
        default=...,
    )
    path: str = Field(
        description="The path of the file where the error occured.", default=...
    )


class RepoCodespacesSecret(GitHubRestModel):
    """Codespaces Secret

    Set repository secrets for GitHub Codespaces.
    """

    name: str = Field(description="The name of the secret.", default=...)
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)


class Collaborator(GitHubRestModel):
    """Collaborator

    Collaborator
    """

    login: str = Field(default=...)
    id: int = Field(default=...)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    name: Union[Unset, Union[str, None]] = Field(default=UNSET)
    node_id: str = Field(default=...)
    avatar_url: str = Field(default=...)
    gravatar_id: Union[str, None] = Field(default=...)
    url: str = Field(default=...)
    html_url: str = Field(default=...)
    followers_url: str = Field(default=...)
    following_url: str = Field(default=...)
    gists_url: str = Field(default=...)
    starred_url: str = Field(default=...)
    subscriptions_url: str = Field(default=...)
    organizations_url: str = Field(default=...)
    repos_url: str = Field(default=...)
    events_url: str = Field(default=...)
    received_events_url: str = Field(default=...)
    type: str = Field(default=...)
    site_admin: bool = Field(default=...)
    permissions: Union[Unset, CollaboratorPropPermissions] = Field(default=UNSET)
    role_name: str = Field(default=...)


class CollaboratorPropPermissions(GitHubRestModel):
    """CollaboratorPropPermissions"""

    pull: bool = Field(default=...)
    triage: Union[Unset, bool] = Field(default=UNSET)
    push: bool = Field(default=...)
    maintain: Union[Unset, bool] = Field(default=UNSET)
    admin: bool = Field(default=...)


class RepositoryInvitation(GitHubRestModel):
    """Repository Invitation

    Repository invitations let you manage who you collaborate with.
    """

    id: int = Field(
        description="Unique identifier of the repository invitation.", default=...
    )
    repository: MinimalRepository = Field(
        title="Minimal Repository", description="Minimal Repository", default=...
    )
    invitee: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    inviter: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    permissions: Literal["read", "write", "admin", "triage", "maintain"] = Field(
        description="The permission associated with the invitation.", default=...
    )
    created_at: datetime = Field(default=...)
    expired: Union[Unset, bool] = Field(
        description="Whether or not the invitation has expired", default=UNSET
    )
    url: str = Field(description="URL for the repository invitation", default=...)
    html_url: str = Field(default=...)
    node_id: str = Field(default=...)


class RepositoryCollaboratorPermission(GitHubRestModel):
    """Repository Collaborator Permission

    Repository Collaborator Permission
    """

    permission: str = Field(default=...)
    role_name: str = Field(default=...)
    user: Union[None, Collaborator] = Field(
        title="Collaborator", description="Collaborator", default=...
    )


class CommitComment(GitHubRestModel):
    """Commit Comment

    Commit Comment
    """

    html_url: str = Field(default=...)
    url: str = Field(default=...)
    id: int = Field(default=...)
    node_id: str = Field(default=...)
    body: str = Field(default=...)
    path: Union[str, None] = Field(default=...)
    position: Union[int, None] = Field(default=...)
    line: Union[int, None] = Field(default=...)
    commit_id: str = Field(default=...)
    user: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="author_association",
        description="How the author is associated with the repository.",
        default=...,
    )
    reactions: Union[Unset, ReactionRollup] = Field(
        title="Reaction Rollup", default=UNSET
    )


class BranchShort(GitHubRestModel):
    """Branch Short

    Branch Short
    """

    name: str = Field(default=...)
    commit: BranchShortPropCommit = Field(default=...)
    protected: bool = Field(default=...)


class BranchShortPropCommit(GitHubRestModel):
    """BranchShortPropCommit"""

    sha: str = Field(default=...)
    url: str = Field(default=...)


class Link(GitHubRestModel):
    """Link

    Hypermedia Link
    """

    href: str = Field(default=...)


class AutoMerge(GitHubRestModel):
    """Auto merge

    The status of auto merging a pull request.
    """

    enabled_by: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    merge_method: Literal["merge", "squash", "rebase"] = Field(
        description="The merge method to use.", default=...
    )
    commit_title: str = Field(
        description="Title for the merge commit message.", default=...
    )
    commit_message: str = Field(
        description="Commit message for the merge commit.", default=...
    )


class PullRequestSimple(GitHubRestModel):
    """Pull Request Simple

    Pull Request Simple
    """

    url: str = Field(default=...)
    id: int = Field(default=...)
    node_id: str = Field(default=...)
    html_url: str = Field(default=...)
    diff_url: str = Field(default=...)
    patch_url: str = Field(default=...)
    issue_url: str = Field(default=...)
    commits_url: str = Field(default=...)
    review_comments_url: str = Field(default=...)
    review_comment_url: str = Field(default=...)
    comments_url: str = Field(default=...)
    statuses_url: str = Field(default=...)
    number: int = Field(default=...)
    state: str = Field(default=...)
    locked: bool = Field(default=...)
    title: str = Field(default=...)
    user: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    body: Union[str, None] = Field(default=...)
    labels: List[PullRequestSimplePropLabelsItems] = Field(default=...)
    milestone: Union[None, Milestone] = Field(
        title="Milestone",
        description="A collection of related issues and pull requests.",
        default=...,
    )
    active_lock_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)
    closed_at: Union[datetime, None] = Field(default=...)
    merged_at: Union[datetime, None] = Field(default=...)
    merge_commit_sha: Union[str, None] = Field(default=...)
    assignee: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    assignees: Union[Unset, Union[List[SimpleUser], None]] = Field(default=UNSET)
    requested_reviewers: Union[Unset, Union[List[SimpleUser], None]] = Field(
        default=UNSET
    )
    requested_teams: Union[Unset, Union[List[Team], None]] = Field(default=UNSET)
    head: PullRequestSimplePropHead = Field(default=...)
    base: PullRequestSimplePropBase = Field(default=...)
    links: PullRequestSimplePropLinks = Field(default=..., alias="_links")
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="author_association",
        description="How the author is associated with the repository.",
        default=...,
    )
    auto_merge: Union[AutoMerge, None] = Field(
        title="Auto merge",
        description="The status of auto merging a pull request.",
        default=...,
    )
    draft: Union[Unset, bool] = Field(
        description="Indicates whether or not the pull request is a draft.",
        default=UNSET,
    )


class PullRequestSimplePropLabelsItems(GitHubRestModel):
    """PullRequestSimplePropLabelsItems"""

    id: int = Field(default=...)
    node_id: str = Field(default=...)
    url: str = Field(default=...)
    name: str = Field(default=...)
    description: str = Field(default=...)
    color: str = Field(default=...)
    default: bool = Field(default=...)


class PullRequestSimplePropHead(GitHubRestModel):
    """PullRequestSimplePropHead"""

    label: str = Field(default=...)
    ref: str = Field(default=...)
    repo: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sha: str = Field(default=...)
    user: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )


class PullRequestSimplePropBase(GitHubRestModel):
    """PullRequestSimplePropBase"""

    label: str = Field(default=...)
    ref: str = Field(default=...)
    repo: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sha: str = Field(default=...)
    user: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )


class PullRequestSimplePropLinks(GitHubRestModel):
    """PullRequestSimplePropLinks"""

    comments: Link = Field(title="Link", description="Hypermedia Link", default=...)
    commits: Link = Field(title="Link", description="Hypermedia Link", default=...)
    statuses: Link = Field(title="Link", description="Hypermedia Link", default=...)
    html: Link = Field(title="Link", description="Hypermedia Link", default=...)
    issue: Link = Field(title="Link", description="Hypermedia Link", default=...)
    review_comments: Link = Field(
        title="Link", description="Hypermedia Link", default=...
    )
    review_comment: Link = Field(
        title="Link", description="Hypermedia Link", default=...
    )
    self_: Link = Field(
        title="Link", description="Hypermedia Link", default=..., alias="self"
    )


class SimpleCommitStatus(GitHubRestModel):
    """Simple Commit Status"""

    description: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    node_id: str = Field(default=...)
    state: str = Field(default=...)
    context: str = Field(default=...)
    target_url: Union[str, None] = Field(default=...)
    required: Union[Unset, Union[bool, None]] = Field(default=UNSET)
    avatar_url: Union[str, None] = Field(default=...)
    url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)


class CombinedCommitStatus(GitHubRestModel):
    """Combined Commit Status

    Combined Commit Status
    """

    state: str = Field(default=...)
    statuses: List[SimpleCommitStatus] = Field(default=...)
    sha: str = Field(default=...)
    total_count: int = Field(default=...)
    repository: MinimalRepository = Field(
        title="Minimal Repository", description="Minimal Repository", default=...
    )
    commit_url: str = Field(default=...)
    url: str = Field(default=...)


class Status(GitHubRestModel):
    """Status

    The status of a commit.
    """

    url: str = Field(default=...)
    avatar_url: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    node_id: str = Field(default=...)
    state: str = Field(default=...)
    description: Union[str, None] = Field(default=...)
    target_url: Union[str, None] = Field(default=...)
    context: str = Field(default=...)
    created_at: str = Field(default=...)
    updated_at: str = Field(default=...)
    creator: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )


class CommunityHealthFile(GitHubRestModel):
    """Community Health File"""

    url: str = Field(default=...)
    html_url: str = Field(default=...)


class CommunityProfile(GitHubRestModel):
    """Community Profile

    Community Profile
    """

    health_percentage: int = Field(default=...)
    description: Union[str, None] = Field(default=...)
    documentation: Union[str, None] = Field(default=...)
    files: CommunityProfilePropFiles = Field(default=...)
    updated_at: Union[datetime, None] = Field(default=...)
    content_reports_enabled: Union[Unset, bool] = Field(default=UNSET)


class CommunityProfilePropFiles(GitHubRestModel):
    """CommunityProfilePropFiles"""

    code_of_conduct: Union[None, CodeOfConductSimple] = Field(
        title="Code Of Conduct Simple",
        description="Code of Conduct Simple",
        default=...,
    )
    code_of_conduct_file: Union[None, CommunityHealthFile] = Field(
        title="Community Health File", default=...
    )
    license_: Union[None, LicenseSimple] = Field(
        title="License Simple",
        description="License Simple",
        default=...,
        alias="license",
    )
    contributing: Union[None, CommunityHealthFile] = Field(
        title="Community Health File", default=...
    )
    readme: Union[None, CommunityHealthFile] = Field(
        title="Community Health File", default=...
    )
    issue_template: Union[None, CommunityHealthFile] = Field(
        title="Community Health File", default=...
    )
    pull_request_template: Union[None, CommunityHealthFile] = Field(
        title="Community Health File", default=...
    )


class CommitComparison(GitHubRestModel):
    """Commit Comparison

    Commit Comparison
    """

    url: str = Field(default=...)
    html_url: str = Field(default=...)
    permalink_url: str = Field(default=...)
    diff_url: str = Field(default=...)
    patch_url: str = Field(default=...)
    base_commit: Commit = Field(title="Commit", description="Commit", default=...)
    merge_base_commit: Commit = Field(title="Commit", description="Commit", default=...)
    status: Literal["diverged", "ahead", "behind", "identical"] = Field(default=...)
    ahead_by: int = Field(default=...)
    behind_by: int = Field(default=...)
    total_commits: int = Field(default=...)
    commits: List[Commit] = Field(default=...)
    files: Union[Unset, List[DiffEntry]] = Field(default=UNSET)


class ContentTree(GitHubRestModel):
    """Content Tree

    Content Tree
    """

    type: str = Field(default=...)
    size: int = Field(default=...)
    name: str = Field(default=...)
    path: str = Field(default=...)
    sha: str = Field(default=...)
    url: str = Field(default=...)
    git_url: Union[str, None] = Field(default=...)
    html_url: Union[str, None] = Field(default=...)
    download_url: Union[str, None] = Field(default=...)
    entries: Union[Unset, List[ContentTreePropEntriesItems]] = Field(default=UNSET)
    links: ContentTreePropLinks = Field(default=..., alias="_links")


class ContentTreePropEntriesItems(GitHubRestModel):
    """ContentTreePropEntriesItems"""

    type: str = Field(default=...)
    size: int = Field(default=...)
    name: str = Field(default=...)
    path: str = Field(default=...)
    content: Union[Unset, str] = Field(default=UNSET)
    sha: str = Field(default=...)
    url: str = Field(default=...)
    git_url: Union[str, None] = Field(default=...)
    html_url: Union[str, None] = Field(default=...)
    download_url: Union[str, None] = Field(default=...)
    links: ContentTreePropEntriesItemsPropLinks = Field(default=..., alias="_links")


class ContentTreePropEntriesItemsPropLinks(GitHubRestModel):
    """ContentTreePropEntriesItemsPropLinks"""

    git: Union[str, None] = Field(default=...)
    html: Union[str, None] = Field(default=...)
    self_: str = Field(default=..., alias="self")


class ContentTreePropLinks(GitHubRestModel):
    """ContentTreePropLinks"""

    git: Union[str, None] = Field(default=...)
    html: Union[str, None] = Field(default=...)
    self_: str = Field(default=..., alias="self")


class ContentDirectoryItems(GitHubRestModel):
    """ContentDirectoryItems"""

    type: Literal["dir", "file", "submodule", "symlink"] = Field(default=...)
    size: int = Field(default=...)
    name: str = Field(default=...)
    path: str = Field(default=...)
    content: Union[Unset, str] = Field(default=UNSET)
    sha: str = Field(default=...)
    url: str = Field(default=...)
    git_url: Union[str, None] = Field(default=...)
    html_url: Union[str, None] = Field(default=...)
    download_url: Union[str, None] = Field(default=...)
    links: ContentDirectoryItemsPropLinks = Field(default=..., alias="_links")


class ContentDirectoryItemsPropLinks(GitHubRestModel):
    """ContentDirectoryItemsPropLinks"""

    git: Union[str, None] = Field(default=...)
    html: Union[str, None] = Field(default=...)
    self_: str = Field(default=..., alias="self")


class ContentFile(GitHubRestModel):
    """Content File

    Content File
    """

    type: Literal["file"] = Field(default=...)
    encoding: str = Field(default=...)
    size: int = Field(default=...)
    name: str = Field(default=...)
    path: str = Field(default=...)
    content: str = Field(default=...)
    sha: str = Field(default=...)
    url: str = Field(default=...)
    git_url: Union[str, None] = Field(default=...)
    html_url: Union[str, None] = Field(default=...)
    download_url: Union[str, None] = Field(default=...)
    links: ContentFilePropLinks = Field(default=..., alias="_links")
    target: Union[Unset, str] = Field(default=UNSET)
    submodule_git_url: Union[Unset, str] = Field(default=UNSET)


class ContentFilePropLinks(GitHubRestModel):
    """ContentFilePropLinks"""

    git: Union[str, None] = Field(default=...)
    html: Union[str, None] = Field(default=...)
    self_: str = Field(default=..., alias="self")


class ContentSymlink(GitHubRestModel):
    """Symlink Content

    An object describing a symlink
    """

    type: Literal["symlink"] = Field(default=...)
    target: str = Field(default=...)
    size: int = Field(default=...)
    name: str = Field(default=...)
    path: str = Field(default=...)
    sha: str = Field(default=...)
    url: str = Field(default=...)
    git_url: Union[str, None] = Field(default=...)
    html_url: Union[str, None] = Field(default=...)
    download_url: Union[str, None] = Field(default=...)
    links: ContentSymlinkPropLinks = Field(default=..., alias="_links")


class ContentSymlinkPropLinks(GitHubRestModel):
    """ContentSymlinkPropLinks"""

    git: Union[str, None] = Field(default=...)
    html: Union[str, None] = Field(default=...)
    self_: str = Field(default=..., alias="self")


class ContentSubmodule(GitHubRestModel):
    """Submodule Content

    An object describing a submodule
    """

    type: Literal["submodule"] = Field(default=...)
    submodule_git_url: str = Field(default=...)
    size: int = Field(default=...)
    name: str = Field(default=...)
    path: str = Field(default=...)
    sha: str = Field(default=...)
    url: str = Field(default=...)
    git_url: Union[str, None] = Field(default=...)
    html_url: Union[str, None] = Field(default=...)
    download_url: Union[str, None] = Field(default=...)
    links: ContentSubmodulePropLinks = Field(default=..., alias="_links")


class ContentSubmodulePropLinks(GitHubRestModel):
    """ContentSubmodulePropLinks"""

    git: Union[str, None] = Field(default=...)
    html: Union[str, None] = Field(default=...)
    self_: str = Field(default=..., alias="self")


class FileCommit(GitHubRestModel):
    """File Commit

    File Commit
    """

    content: Union[FileCommitPropContent, None] = Field(default=...)
    commit: FileCommitPropCommit = Field(default=...)


class FileCommitPropContentPropLinks(GitHubRestModel):
    """FileCommitPropContentPropLinks"""

    self_: Union[Unset, str] = Field(default=UNSET, alias="self")
    git: Union[Unset, str] = Field(default=UNSET)
    html: Union[Unset, str] = Field(default=UNSET)


class FileCommitPropContent(GitHubRestModel):
    """FileCommitPropContent"""

    name: Union[Unset, str] = Field(default=UNSET)
    path: Union[Unset, str] = Field(default=UNSET)
    sha: Union[Unset, str] = Field(default=UNSET)
    size: Union[Unset, int] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    git_url: Union[Unset, str] = Field(default=UNSET)
    download_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, str] = Field(default=UNSET)
    links: Union[Unset, FileCommitPropContentPropLinks] = Field(
        default=UNSET, alias="_links"
    )


class FileCommitPropCommit(GitHubRestModel):
    """FileCommitPropCommit"""

    sha: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    author: Union[Unset, FileCommitPropCommitPropAuthor] = Field(default=UNSET)
    committer: Union[Unset, FileCommitPropCommitPropCommitter] = Field(default=UNSET)
    message: Union[Unset, str] = Field(default=UNSET)
    tree: Union[Unset, FileCommitPropCommitPropTree] = Field(default=UNSET)
    parents: Union[Unset, List[FileCommitPropCommitPropParentsItems]] = Field(
        default=UNSET
    )
    verification: Union[Unset, FileCommitPropCommitPropVerification] = Field(
        default=UNSET
    )


class FileCommitPropCommitPropAuthor(GitHubRestModel):
    """FileCommitPropCommitPropAuthor"""

    date: Union[Unset, str] = Field(default=UNSET)
    name: Union[Unset, str] = Field(default=UNSET)
    email: Union[Unset, str] = Field(default=UNSET)


class FileCommitPropCommitPropCommitter(GitHubRestModel):
    """FileCommitPropCommitPropCommitter"""

    date: Union[Unset, str] = Field(default=UNSET)
    name: Union[Unset, str] = Field(default=UNSET)
    email: Union[Unset, str] = Field(default=UNSET)


class FileCommitPropCommitPropTree(GitHubRestModel):
    """FileCommitPropCommitPropTree"""

    url: Union[Unset, str] = Field(default=UNSET)
    sha: Union[Unset, str] = Field(default=UNSET)


class FileCommitPropCommitPropParentsItems(GitHubRestModel):
    """FileCommitPropCommitPropParentsItems"""

    url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    sha: Union[Unset, str] = Field(default=UNSET)


class FileCommitPropCommitPropVerification(GitHubRestModel):
    """FileCommitPropCommitPropVerification"""

    verified: Union[Unset, bool] = Field(default=UNSET)
    reason: Union[Unset, str] = Field(default=UNSET)
    signature: Union[Unset, Union[str, None]] = Field(default=UNSET)
    payload: Union[Unset, Union[str, None]] = Field(default=UNSET)


class Contributor(GitHubRestModel):
    """Contributor

    Contributor
    """

    login: Union[Unset, str] = Field(default=UNSET)
    id: Union[Unset, int] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    avatar_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, Union[str, None]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    type: str = Field(default=...)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    contributions: int = Field(default=...)
    email: Union[Unset, str] = Field(default=UNSET)
    name: Union[Unset, str] = Field(default=UNSET)


class DependabotAlert(GitHubRestModel):
    """DependabotAlert

    A Dependabot alert.
    """

    number: int = Field(description="The security alert number.", default=...)
    state: Literal["dismissed", "fixed", "open"] = Field(
        description="The state of the Dependabot alert.", default=...
    )
    dependency: DependabotAlertPropDependency = Field(
        description="Details for the vulnerable dependency.", default=...
    )
    security_advisory: DependabotAlertSecurityAdvisory = Field(
        description="Details for the GitHub Security Advisory.", default=...
    )
    security_vulnerability: DependabotAlertSecurityVulnerability = Field(
        description="Details pertaining to one vulnerable version range for the advisory.",
        default=...,
    )
    url: str = Field(description="The REST API URL of the alert resource.", default=...)
    html_url: str = Field(
        description="The GitHub URL of the alert resource.", default=...
    )
    created_at: datetime = Field(
        description="The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=...,
    )
    updated_at: datetime = Field(
        description="The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=...,
    )
    dismissed_at: Union[datetime, None] = Field(
        description="The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=...,
    )
    dismissed_by: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    dismissed_reason: Union[
        None,
        Literal[
            "fix_started", "inaccurate", "no_bandwidth", "not_used", "tolerable_risk"
        ],
    ] = Field(description="The reason that the alert was dismissed.", default=...)
    dismissed_comment: Union[str, None] = Field(
        description="An optional comment associated with the alert's dismissal.",
        max_length=280,
        default=...,
    )
    fixed_at: Union[datetime, None] = Field(
        description="The time that the alert was no longer detected and was considered fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=...,
    )


class DependabotAlertPropDependency(GitHubRestModel):
    """DependabotAlertPropDependency

    Details for the vulnerable dependency.
    """

    package: Union[Unset, DependabotAlertPackage] = Field(
        description="Details for the vulnerable package.", default=UNSET
    )
    manifest_path: Union[Unset, str] = Field(
        description="The full path to the dependency manifest file, relative to the root of the repository.",
        default=UNSET,
    )
    scope: Union[Unset, Union[None, Literal["development", "runtime"]]] = Field(
        description="The execution scope of the vulnerable dependency.", default=UNSET
    )


class DependabotSecret(GitHubRestModel):
    """Dependabot Secret

    Set secrets for Dependabot.
    """

    name: str = Field(description="The name of the secret.", default=...)
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)


class DependencyGraphDiffItems(GitHubRestModel):
    """DependencyGraphDiffItems"""

    change_type: Literal["added", "removed"] = Field(default=...)
    manifest: str = Field(default=...)
    ecosystem: str = Field(default=...)
    name: str = Field(default=...)
    version: str = Field(default=...)
    package_url: Union[str, None] = Field(default=...)
    license_: Union[str, None] = Field(default=..., alias="license")
    source_repository_url: Union[str, None] = Field(default=...)
    vulnerabilities: List[DependencyGraphDiffItemsPropVulnerabilitiesItems] = Field(
        default=...
    )
    scope: Literal["unknown", "runtime", "development"] = Field(
        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.",
        default=...,
    )


class DependencyGraphDiffItemsPropVulnerabilitiesItems(GitHubRestModel):
    """DependencyGraphDiffItemsPropVulnerabilitiesItems"""

    severity: str = Field(default=...)
    advisory_ghsa_id: str = Field(default=...)
    advisory_summary: str = Field(default=...)
    advisory_url: str = Field(default=...)


class Metadata(GitHubRestModel, extra=Extra.allow):
    """metadata

    User-defined metadata to store domain-specific information limited to 8 keys
    with scalar values.
    """


class Dependency(GitHubRestModel):
    """Dependency"""

    package_url: Union[Unset, str] = Field(
        description="Package-url (PURL) of dependency. See https://github.com/package-url/purl-spec for more details.",
        regex="^pkg",
        default=UNSET,
    )
    metadata: Union[Unset, Metadata] = Field(
        title="metadata",
        description="User-defined metadata to store domain-specific information limited to 8 keys with scalar values.",
        default=UNSET,
    )
    relationship: Union[Unset, Literal["direct", "indirect"]] = Field(
        description="A notation of whether a dependency is requested directly by this manifest or is a dependency of another dependency.",
        default=UNSET,
    )
    scope: Union[Unset, Literal["runtime", "development"]] = Field(
        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.",
        default=UNSET,
    )
    dependencies: Union[Unset, List[str]] = Field(
        description="Array of package-url (PURLs) of direct child dependencies.",
        default=UNSET,
    )


class Manifest(GitHubRestModel):
    """Manifest"""

    name: str = Field(description="The name of the manifest.", default=...)
    file: Union[Unset, ManifestPropFile] = Field(default=UNSET)
    metadata: Union[Unset, Metadata] = Field(
        title="metadata",
        description="User-defined metadata to store domain-specific information limited to 8 keys with scalar values.",
        default=UNSET,
    )
    resolved: Union[Unset, ManifestPropResolved] = Field(
        description="A collection of resolved package dependencies.", default=UNSET
    )


class ManifestPropFile(GitHubRestModel):
    """ManifestPropFile"""

    source_location: Union[Unset, str] = Field(
        description="The path of the manifest file relative to the root of the Git repository.",
        default=UNSET,
    )


class ManifestPropResolved(GitHubRestModel, extra=Extra.allow):
    """ManifestPropResolved

    A collection of resolved package dependencies.
    """


class Snapshot(GitHubRestModel):
    """snapshot

    Create a new snapshot of a repository's dependencies.
    """

    version: int = Field(
        description="The version of the repository snapshot submission.", default=...
    )
    job: SnapshotPropJob = Field(default=...)
    sha: str = Field(
        description="The commit SHA associated with this dependency snapshot.",
        min_length=40,
        default=...,
    )
    ref: str = Field(
        description="The repository branch that triggered this snapshot.",
        regex="^refs/",
        default=...,
    )
    detector: SnapshotPropDetector = Field(
        description="A description of the detector used.", default=...
    )
    metadata: Union[Unset, Metadata] = Field(
        title="metadata",
        description="User-defined metadata to store domain-specific information limited to 8 keys with scalar values.",
        default=UNSET,
    )
    manifests: Union[Unset, SnapshotPropManifests] = Field(
        description="A collection of package manifests, which are a collection of related dependencies declared in a file or representing a logical group of dependencies.",
        default=UNSET,
    )
    scanned: datetime = Field(
        description="The time at which the snapshot was scanned.", default=...
    )


class SnapshotPropJob(GitHubRestModel):
    """SnapshotPropJob"""

    id: str = Field(description="The external ID of the job.", default=...)
    correlator: str = Field(
        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.",
        default=...,
    )
    html_url: Union[Unset, str] = Field(
        description="The url for the job.", default=UNSET
    )


class SnapshotPropDetector(GitHubRestModel):
    """SnapshotPropDetector

    A description of the detector used.
    """

    name: str = Field(description="The name of the detector used.", default=...)
    version: str = Field(description="The version of the detector used.", default=...)
    url: str = Field(description="The url of the detector used.", default=...)


class SnapshotPropManifests(GitHubRestModel, extra=Extra.allow):
    """SnapshotPropManifests

    A collection of package manifests, which are a collection of related
    dependencies declared in a file or representing a logical group of dependencies.
    """


class DeploymentStatus(GitHubRestModel):
    """Deployment Status

    The status of a deployment.
    """

    url: str = Field(default=...)
    id: int = Field(default=...)
    node_id: str = Field(default=...)
    state: Literal[
        "error", "failure", "inactive", "pending", "success", "queued", "in_progress"
    ] = Field(description="The state of the status.", default=...)
    creator: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    description: str = Field(
        description="A short description of the status.", default="", max_length=140
    )
    environment: Union[Unset, str] = Field(
        description="The environment of the deployment that the status is for.",
        default="",
    )
    target_url: str = Field(
        description="Deprecated: the URL to associate with this status.", default=""
    )
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)
    deployment_url: str = Field(default=...)
    repository_url: str = Field(default=...)
    environment_url: Union[Unset, str] = Field(
        description="The URL for accessing your environment.", default=""
    )
    log_url: Union[Unset, str] = Field(
        description="The URL to associate with this status.", default=""
    )
    performed_via_github_app: Union[Unset, Union[None, Integration]] = Field(
        title="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.",
        default=UNSET,
    )


class DeploymentBranchPolicySettings(GitHubRestModel):
    """DeploymentBranchPolicySettings

    The type of deployment branch policy for this environment. To allow all branches
    to deploy, set to `null`.
    """

    protected_branches: bool = Field(
        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`.",
        default=...,
    )
    custom_branch_policies: bool = Field(
        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`.",
        default=...,
    )


class Environment(GitHubRestModel):
    """Environment

    Details of a deployment environment
    """

    id: int = Field(description="The id of the environment.", default=...)
    node_id: str = Field(default=...)
    name: str = Field(description="The name of the environment.", default=...)
    url: str = Field(default=...)
    html_url: str = Field(default=...)
    created_at: datetime = Field(
        description="The time that the environment was created, in ISO 8601 format.",
        default=...,
    )
    updated_at: datetime = Field(
        description="The time that the environment was last updated, in ISO 8601 format.",
        default=...,
    )
    protection_rules: Union[
        Unset,
        List[
            Union[
                EnvironmentPropProtectionRulesItemsAnyof0,
                EnvironmentPropProtectionRulesItemsAnyof1,
                EnvironmentPropProtectionRulesItemsAnyof2,
            ]
        ],
    ] = Field(default=UNSET)
    deployment_branch_policy: Union[
        Unset, Union[DeploymentBranchPolicySettings, None]
    ] = Field(
        description="The type of deployment branch policy for this environment. To allow all branches to deploy, set to `null`.",
        default=UNSET,
    )


class EnvironmentPropProtectionRulesItemsAnyof0(GitHubRestModel):
    """EnvironmentPropProtectionRulesItemsAnyof0"""

    id: int = Field(default=...)
    node_id: str = Field(default=...)
    type: str = Field(default=...)
    wait_timer: Union[Unset, int] = Field(
        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).",
        default=UNSET,
    )


class EnvironmentPropProtectionRulesItemsAnyof1(GitHubRestModel):
    """EnvironmentPropProtectionRulesItemsAnyof1"""

    id: int = Field(default=...)
    node_id: str = Field(default=...)
    type: str = Field(default=...)
    reviewers: Union[
        Unset, List[EnvironmentPropProtectionRulesItemsAnyof1PropReviewersItems]
    ] = Field(
        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.",
        default=UNSET,
    )


class EnvironmentPropProtectionRulesItemsAnyof1PropReviewersItems(GitHubRestModel):
    """EnvironmentPropProtectionRulesItemsAnyof1PropReviewersItems"""

    type: Union[Unset, Literal["User", "Team"]] = Field(
        description="The type of reviewer.", default=UNSET
    )
    reviewer: Union[Unset, Union[SimpleUser, Team]] = Field(
        title="Team",
        description="Groups of organization members that gives permissions on specified repositories.",
        default=UNSET,
    )


class EnvironmentPropProtectionRulesItemsAnyof2(GitHubRestModel):
    """EnvironmentPropProtectionRulesItemsAnyof2"""

    id: int = Field(default=...)
    node_id: str = Field(default=...)
    type: str = Field(default=...)


class DeploymentBranchPolicy(GitHubRestModel):
    """Deployment branch policy

    Details of a deployment branch policy.
    """

    id: Union[Unset, int] = Field(
        description="The unique identifier of the branch policy.", default=UNSET
    )
    node_id: Union[Unset, str] = Field(default=UNSET)
    name: Union[Unset, str] = Field(
        description="The name pattern that branches must match in order to deploy to the environment.",
        default=UNSET,
    )


class DeploymentBranchPolicyNamePattern(GitHubRestModel):
    """Deployment branch policy name pattern"""

    name: str = Field(
        description="The name pattern that branches must match in order to deploy to the environment.\n\nWildcard characters will not match `/`. For example, to match branches that begin with `release/` and contain an additional single slash, use `release/*/*`.\nFor 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).",
        default=...,
    )


class ShortBlob(GitHubRestModel):
    """Short Blob

    Short Blob
    """

    url: str = Field(default=...)
    sha: str = Field(default=...)


class Blob(GitHubRestModel):
    """Blob

    Blob
    """

    content: str = Field(default=...)
    encoding: str = Field(default=...)
    url: str = Field(default=...)
    sha: str = Field(default=...)
    size: Union[int, None] = Field(default=...)
    node_id: str = Field(default=...)
    highlighted_content: Union[Unset, str] = Field(default=UNSET)


class GitCommit(GitHubRestModel):
    """Git Commit

    Low-level Git commit operations within a repository
    """

    sha: str = Field(description="SHA for the commit", default=...)
    node_id: str = Field(default=...)
    url: str = Field(default=...)
    author: GitCommitPropAuthor = Field(
        description="Identifying information for the git-user", default=...
    )
    committer: GitCommitPropCommitter = Field(
        description="Identifying information for the git-user", default=...
    )
    message: str = Field(
        description="Message describing the purpose of the commit", default=...
    )
    tree: GitCommitPropTree = Field(default=...)
    parents: List[GitCommitPropParentsItems] = Field(default=...)
    verification: GitCommitPropVerification = Field(default=...)
    html_url: str = Field(default=...)


class GitCommitPropAuthor(GitHubRestModel):
    """GitCommitPropAuthor

    Identifying information for the git-user
    """

    date: datetime = Field(description="Timestamp of the commit", default=...)
    email: str = Field(description="Git email address of the user", default=...)
    name: str = Field(description="Name of the git user", default=...)


class GitCommitPropCommitter(GitHubRestModel):
    """GitCommitPropCommitter

    Identifying information for the git-user
    """

    date: datetime = Field(description="Timestamp of the commit", default=...)
    email: str = Field(description="Git email address of the user", default=...)
    name: str = Field(description="Name of the git user", default=...)


class GitCommitPropTree(GitHubRestModel):
    """GitCommitPropTree"""

    sha: str = Field(description="SHA for the commit", default=...)
    url: str = Field(default=...)


class GitCommitPropParentsItems(GitHubRestModel):
    """GitCommitPropParentsItems"""

    sha: str = Field(description="SHA for the commit", default=...)
    url: str = Field(default=...)
    html_url: str = Field(default=...)


class GitCommitPropVerification(GitHubRestModel):
    """GitCommitPropVerification"""

    verified: bool = Field(default=...)
    reason: str = Field(default=...)
    signature: Union[str, None] = Field(default=...)
    payload: Union[str, None] = Field(default=...)


class GitRef(GitHubRestModel):
    """Git Reference

    Git references within a repository
    """

    ref: str = Field(default=...)
    node_id: str = Field(default=...)
    url: str = Field(default=...)
    object_: GitRefPropObject = Field(default=..., alias="object")


class GitRefPropObject(GitHubRestModel):
    """GitRefPropObject"""

    type: str = Field(default=...)
    sha: str = Field(
        description="SHA for the reference", min_length=40, max_length=40, default=...
    )
    url: str = Field(default=...)


class GitTag(GitHubRestModel):
    """Git Tag

    Metadata for a Git tag
    """

    node_id: str = Field(default=...)
    tag: str = Field(description="Name of the tag", default=...)
    sha: str = Field(default=...)
    url: str = Field(description="URL for the tag", default=...)
    message: str = Field(
        description="Message describing the purpose of the tag", default=...
    )
    tagger: GitTagPropTagger = Field(default=...)
    object_: GitTagPropObject = Field(default=..., alias="object")
    verification: Union[Unset, Verification] = Field(
        title="Verification", default=UNSET
    )


class GitTagPropTagger(GitHubRestModel):
    """GitTagPropTagger"""

    date: str = Field(default=...)
    email: str = Field(default=...)
    name: str = Field(default=...)


class GitTagPropObject(GitHubRestModel):
    """GitTagPropObject"""

    sha: str = Field(default=...)
    type: str = Field(default=...)
    url: str = Field(default=...)


class GitTree(GitHubRestModel):
    """Git Tree

    The hierarchy between files in a Git repository.
    """

    sha: str = Field(default=...)
    url: str = Field(default=...)
    truncated: bool = Field(default=...)
    tree: List[GitTreePropTreeItems] = Field(
        description="Objects specifying a tree structure", default=...
    )


class GitTreePropTreeItems(GitHubRestModel):
    """GitTreePropTreeItems"""

    path: Union[Unset, str] = Field(default=UNSET)
    mode: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, str] = Field(default=UNSET)
    sha: Union[Unset, str] = Field(default=UNSET)
    size: Union[Unset, int] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class HookResponse(GitHubRestModel):
    """Hook Response"""

    code: Union[int, None] = Field(default=...)
    status: Union[str, None] = Field(default=...)
    message: Union[str, None] = Field(default=...)


class Hook(GitHubRestModel):
    """Webhook

    Webhooks for repositories.
    """

    type: str = Field(default=...)
    id: int = Field(description="Unique identifier of the webhook.", default=...)
    name: str = Field(
        description="The name of a valid service, use 'web' for a webhook.", default=...
    )
    active: bool = Field(
        description="Determines whether the hook is actually triggered on pushes.",
        default=...,
    )
    events: List[str] = Field(
        description="Determines what events the hook is triggered for. Default: ['push'].",
        default=...,
    )
    config: HookPropConfig = Field(default=...)
    updated_at: datetime = Field(default=...)
    created_at: datetime = Field(default=...)
    url: str = Field(default=...)
    test_url: str = Field(default=...)
    ping_url: str = Field(default=...)
    deliveries_url: Union[Unset, str] = Field(default=UNSET)
    last_response: HookResponse = Field(title="Hook Response", default=...)


class HookPropConfig(GitHubRestModel):
    """HookPropConfig"""

    email: Union[Unset, str] = Field(default=UNSET)
    password: Union[Unset, str] = Field(default=UNSET)
    room: Union[Unset, str] = Field(default=UNSET)
    subdomain: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(
        description="The URL to which the payloads will be delivered.", default=UNSET
    )
    insecure_ssl: Union[Unset, Union[str, float]] = Field(
        description="Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**",
        default=UNSET,
    )
    content_type: Union[Unset, str] = Field(
        description="The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`.",
        default=UNSET,
    )
    digest: Union[Unset, str] = Field(default=UNSET)
    secret: Union[Unset, str] = Field(
        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).",
        default=UNSET,
    )
    token: Union[Unset, str] = Field(default=UNSET)


class Import(GitHubRestModel):
    """Import

    A repository import from an external source.
    """

    vcs: Union[str, None] = Field(default=...)
    use_lfs: Union[Unset, bool] = Field(default=UNSET)
    vcs_url: str = Field(
        description="The URL of the originating repository.", default=...
    )
    svc_root: Union[Unset, str] = Field(default=UNSET)
    tfvc_project: Union[Unset, str] = Field(default=UNSET)
    status: Literal[
        "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",
    ] = Field(default=...)
    status_text: Union[Unset, Union[str, None]] = Field(default=UNSET)
    failed_step: Union[Unset, Union[str, None]] = Field(default=UNSET)
    error_message: Union[Unset, Union[str, None]] = Field(default=UNSET)
    import_percent: Union[Unset, Union[int, None]] = Field(default=UNSET)
    commit_count: Union[Unset, Union[int, None]] = Field(default=UNSET)
    push_percent: Union[Unset, Union[int, None]] = Field(default=UNSET)
    has_large_files: Union[Unset, bool] = Field(default=UNSET)
    large_files_size: Union[Unset, int] = Field(default=UNSET)
    large_files_count: Union[Unset, int] = Field(default=UNSET)
    project_choices: Union[Unset, List[ImportPropProjectChoicesItems]] = Field(
        default=UNSET
    )
    message: Union[Unset, str] = Field(default=UNSET)
    authors_count: Union[Unset, Union[int, None]] = Field(default=UNSET)
    url: str = Field(default=...)
    html_url: str = Field(default=...)
    authors_url: str = Field(default=...)
    repository_url: str = Field(default=...)
    svn_root: Union[Unset, str] = Field(default=UNSET)


class ImportPropProjectChoicesItems(GitHubRestModel):
    """ImportPropProjectChoicesItems"""

    vcs: Union[Unset, str] = Field(default=UNSET)
    tfvc_project: Union[Unset, str] = Field(default=UNSET)
    human_name: Union[Unset, str] = Field(default=UNSET)


class PorterAuthor(GitHubRestModel):
    """Porter Author

    Porter Author
    """

    id: int = Field(default=...)
    remote_id: str = Field(default=...)
    remote_name: str = Field(default=...)
    email: str = Field(default=...)
    name: str = Field(default=...)
    url: str = Field(default=...)
    import_url: str = Field(default=...)


class PorterLargeFile(GitHubRestModel):
    """Porter Large File

    Porter Large File
    """

    ref_name: str = Field(default=...)
    path: str = Field(default=...)
    oid: str = Field(default=...)
    size: int = Field(default=...)


class IssueEventLabel(GitHubRestModel):
    """Issue Event Label

    Issue Event Label
    """

    name: Union[str, None] = Field(default=...)
    color: Union[str, None] = Field(default=...)


class IssueEventDismissedReview(GitHubRestModel):
    """Issue Event Dismissed Review"""

    state: str = Field(default=...)
    review_id: int = Field(default=...)
    dismissal_message: Union[str, None] = Field(default=...)
    dismissal_commit_id: Union[Unset, Union[str, None]] = Field(default=UNSET)


class IssueEventMilestone(GitHubRestModel):
    """Issue Event Milestone

    Issue Event Milestone
    """

    title: str = Field(default=...)


class IssueEventProjectCard(GitHubRestModel):
    """Issue Event Project Card

    Issue Event Project Card
    """

    url: str = Field(default=...)
    id: int = Field(default=...)
    project_url: str = Field(default=...)
    project_id: int = Field(default=...)
    column_name: str = Field(default=...)
    previous_column_name: Union[Unset, str] = Field(default=UNSET)


class IssueEventRename(GitHubRestModel):
    """Issue Event Rename

    Issue Event Rename
    """

    from_: str = Field(default=..., alias="from")
    to: str = Field(default=...)


class IssueEvent(GitHubRestModel):
    """Issue Event

    Issue Event
    """

    id: int = Field(default=...)
    node_id: str = Field(default=...)
    url: str = Field(default=...)
    actor: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    event: str = Field(default=...)
    commit_id: Union[str, None] = Field(default=...)
    commit_url: Union[str, None] = Field(default=...)
    created_at: datetime = Field(default=...)
    issue: Union[Unset, Union[None, Issue]] = Field(
        title="Issue",
        description="Issues are a great way to keep track of tasks, enhancements, and bugs for your projects.",
        default=UNSET,
    )
    label: Union[Unset, IssueEventLabel] = Field(
        title="Issue Event Label", description="Issue Event Label", default=UNSET
    )
    assignee: Union[Unset, Union[None, SimpleUser]] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )
    assigner: Union[Unset, Union[None, SimpleUser]] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )
    review_requester: Union[Unset, Union[None, SimpleUser]] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )
    requested_reviewer: Union[Unset, Union[None, SimpleUser]] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )
    requested_team: Union[Unset, Team] = Field(
        title="Team",
        description="Groups of organization members that gives permissions on specified repositories.",
        default=UNSET,
    )
    dismissed_review: Union[Unset, IssueEventDismissedReview] = Field(
        title="Issue Event Dismissed Review", default=UNSET
    )
    milestone: Union[Unset, IssueEventMilestone] = Field(
        title="Issue Event Milestone",
        description="Issue Event Milestone",
        default=UNSET,
    )
    project_card: Union[Unset, IssueEventProjectCard] = Field(
        title="Issue Event Project Card",
        description="Issue Event Project Card",
        default=UNSET,
    )
    rename: Union[Unset, IssueEventRename] = Field(
        title="Issue Event Rename", description="Issue Event Rename", default=UNSET
    )
    author_association: Union[
        Unset,
        Literal[
            "COLLABORATOR",
            "CONTRIBUTOR",
            "FIRST_TIMER",
            "FIRST_TIME_CONTRIBUTOR",
            "MANNEQUIN",
            "MEMBER",
            "NONE",
            "OWNER",
        ],
    ] = Field(
        title="author_association",
        description="How the author is associated with the repository.",
        default=UNSET,
    )
    lock_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    performed_via_github_app: Union[Unset, Union[None, Integration]] = Field(
        title="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.",
        default=UNSET,
    )


class LabeledIssueEvent(GitHubRestModel):
    """Labeled Issue Event

    Labeled Issue Event
    """

    id: int = Field(default=...)
    node_id: str = Field(default=...)
    url: str = Field(default=...)
    actor: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    event: Literal["labeled"] = Field(default=...)
    commit_id: Union[str, None] = Field(default=...)
    commit_url: Union[str, None] = Field(default=...)
    created_at: str = Field(default=...)
    performed_via_github_app: Union[None, Integration] = Field(
        title="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.",
        default=...,
    )
    label: LabeledIssueEventPropLabel = Field(default=...)


class LabeledIssueEventPropLabel(GitHubRestModel):
    """LabeledIssueEventPropLabel"""

    name: str = Field(default=...)
    color: str = Field(default=...)


class UnlabeledIssueEvent(GitHubRestModel):
    """Unlabeled Issue Event

    Unlabeled Issue Event
    """

    id: int = Field(default=...)
    node_id: str = Field(default=...)
    url: str = Field(default=...)
    actor: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    event: Literal["unlabeled"] = Field(default=...)
    commit_id: Union[str, None] = Field(default=...)
    commit_url: Union[str, None] = Field(default=...)
    created_at: str = Field(default=...)
    performed_via_github_app: Union[None, Integration] = Field(
        title="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.",
        default=...,
    )
    label: UnlabeledIssueEventPropLabel = Field(default=...)


class UnlabeledIssueEventPropLabel(GitHubRestModel):
    """UnlabeledIssueEventPropLabel"""

    name: str = Field(default=...)
    color: str = Field(default=...)


class AssignedIssueEvent(GitHubRestModel):
    """Assigned Issue Event

    Assigned Issue Event
    """

    id: int = Field(default=...)
    node_id: str = Field(default=...)
    url: str = Field(default=...)
    actor: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    event: str = Field(default=...)
    commit_id: Union[str, None] = Field(default=...)
    commit_url: Union[str, None] = Field(default=...)
    created_at: str = Field(default=...)
    performed_via_github_app: Integration = Field(
        title="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.",
        default=...,
    )
    assignee: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    assigner: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class UnassignedIssueEvent(GitHubRestModel):
    """Unassigned Issue Event

    Unassigned Issue Event
    """

    id: int = Field(default=...)
    node_id: str = Field(default=...)
    url: str = Field(default=...)
    actor: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    event: str = Field(default=...)
    commit_id: Union[str, None] = Field(default=...)
    commit_url: Union[str, None] = Field(default=...)
    created_at: str = Field(default=...)
    performed_via_github_app: Union[None, Integration] = Field(
        title="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.",
        default=...,
    )
    assignee: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    assigner: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class MilestonedIssueEvent(GitHubRestModel):
    """Milestoned Issue Event

    Milestoned Issue Event
    """

    id: int = Field(default=...)
    node_id: str = Field(default=...)
    url: str = Field(default=...)
    actor: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    event: Literal["milestoned"] = Field(default=...)
    commit_id: Union[str, None] = Field(default=...)
    commit_url: Union[str, None] = Field(default=...)
    created_at: str = Field(default=...)
    performed_via_github_app: Union[None, Integration] = Field(
        title="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.",
        default=...,
    )
    milestone: MilestonedIssueEventPropMilestone = Field(default=...)


class MilestonedIssueEventPropMilestone(GitHubRestModel):
    """MilestonedIssueEventPropMilestone"""

    title: str = Field(default=...)


class DemilestonedIssueEvent(GitHubRestModel):
    """Demilestoned Issue Event

    Demilestoned Issue Event
    """

    id: int = Field(default=...)
    node_id: str = Field(default=...)
    url: str = Field(default=...)
    actor: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    event: Literal["demilestoned"] = Field(default=...)
    commit_id: Union[str, None] = Field(default=...)
    commit_url: Union[str, None] = Field(default=...)
    created_at: str = Field(default=...)
    performed_via_github_app: Union[None, Integration] = Field(
        title="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.",
        default=...,
    )
    milestone: DemilestonedIssueEventPropMilestone = Field(default=...)


class DemilestonedIssueEventPropMilestone(GitHubRestModel):
    """DemilestonedIssueEventPropMilestone"""

    title: str = Field(default=...)


class RenamedIssueEvent(GitHubRestModel):
    """Renamed Issue Event

    Renamed Issue Event
    """

    id: int = Field(default=...)
    node_id: str = Field(default=...)
    url: str = Field(default=...)
    actor: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    event: Literal["renamed"] = Field(default=...)
    commit_id: Union[str, None] = Field(default=...)
    commit_url: Union[str, None] = Field(default=...)
    created_at: str = Field(default=...)
    performed_via_github_app: Union[None, Integration] = Field(
        title="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.",
        default=...,
    )
    rename: RenamedIssueEventPropRename = Field(default=...)


class RenamedIssueEventPropRename(GitHubRestModel):
    """RenamedIssueEventPropRename"""

    from_: str = Field(default=..., alias="from")
    to: str = Field(default=...)


class ReviewRequestedIssueEvent(GitHubRestModel):
    """Review Requested Issue Event

    Review Requested Issue Event
    """

    id: int = Field(default=...)
    node_id: str = Field(default=...)
    url: str = Field(default=...)
    actor: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    event: Literal["review_requested"] = Field(default=...)
    commit_id: Union[str, None] = Field(default=...)
    commit_url: Union[str, None] = Field(default=...)
    created_at: str = Field(default=...)
    performed_via_github_app: Union[None, Integration] = Field(
        title="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.",
        default=...,
    )
    review_requester: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    requested_team: Union[Unset, Team] = Field(
        title="Team",
        description="Groups of organization members that gives permissions on specified repositories.",
        default=UNSET,
    )
    requested_reviewer: Union[Unset, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )


class ReviewRequestRemovedIssueEvent(GitHubRestModel):
    """Review Request Removed Issue Event

    Review Request Removed Issue Event
    """

    id: int = Field(default=...)
    node_id: str = Field(default=...)
    url: str = Field(default=...)
    actor: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    event: Literal["review_request_removed"] = Field(default=...)
    commit_id: Union[str, None] = Field(default=...)
    commit_url: Union[str, None] = Field(default=...)
    created_at: str = Field(default=...)
    performed_via_github_app: Union[None, Integration] = Field(
        title="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.",
        default=...,
    )
    review_requester: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    requested_team: Union[Unset, Team] = Field(
        title="Team",
        description="Groups of organization members that gives permissions on specified repositories.",
        default=UNSET,
    )
    requested_reviewer: Union[Unset, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )


class ReviewDismissedIssueEvent(GitHubRestModel):
    """Review Dismissed Issue Event

    Review Dismissed Issue Event
    """

    id: int = Field(default=...)
    node_id: str = Field(default=...)
    url: str = Field(default=...)
    actor: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    event: Literal["review_dismissed"] = Field(default=...)
    commit_id: Union[str, None] = Field(default=...)
    commit_url: Union[str, None] = Field(default=...)
    created_at: str = Field(default=...)
    performed_via_github_app: Union[None, Integration] = Field(
        title="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.",
        default=...,
    )
    dismissed_review: ReviewDismissedIssueEventPropDismissedReview = Field(default=...)


class ReviewDismissedIssueEventPropDismissedReview(GitHubRestModel):
    """ReviewDismissedIssueEventPropDismissedReview"""

    state: str = Field(default=...)
    review_id: int = Field(default=...)
    dismissal_message: Union[str, None] = Field(default=...)
    dismissal_commit_id: Union[Unset, str] = Field(default=UNSET)


class LockedIssueEvent(GitHubRestModel):
    """Locked Issue Event

    Locked Issue Event
    """

    id: int = Field(default=...)
    node_id: str = Field(default=...)
    url: str = Field(default=...)
    actor: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    event: Literal["locked"] = Field(default=...)
    commit_id: Union[str, None] = Field(default=...)
    commit_url: Union[str, None] = Field(default=...)
    created_at: str = Field(default=...)
    performed_via_github_app: Union[None, Integration] = Field(
        title="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.",
        default=...,
    )
    lock_reason: Union[str, None] = Field(default=...)


class AddedToProjectIssueEvent(GitHubRestModel):
    """Added to Project Issue Event

    Added to Project Issue Event
    """

    id: int = Field(default=...)
    node_id: str = Field(default=...)
    url: str = Field(default=...)
    actor: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    event: Literal["added_to_project"] = Field(default=...)
    commit_id: Union[str, None] = Field(default=...)
    commit_url: Union[str, None] = Field(default=...)
    created_at: str = Field(default=...)
    performed_via_github_app: Union[None, Integration] = Field(
        title="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.",
        default=...,
    )
    project_card: Union[Unset, AddedToProjectIssueEventPropProjectCard] = Field(
        default=UNSET
    )


class AddedToProjectIssueEventPropProjectCard(GitHubRestModel):
    """AddedToProjectIssueEventPropProjectCard"""

    id: int = Field(default=...)
    url: str = Field(default=...)
    project_id: int = Field(default=...)
    project_url: str = Field(default=...)
    column_name: str = Field(default=...)
    previous_column_name: Union[Unset, str] = Field(default=UNSET)


class MovedColumnInProjectIssueEvent(GitHubRestModel):
    """Moved Column in Project Issue Event

    Moved Column in Project Issue Event
    """

    id: int = Field(default=...)
    node_id: str = Field(default=...)
    url: str = Field(default=...)
    actor: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    event: Literal["moved_columns_in_project"] = Field(default=...)
    commit_id: Union[str, None] = Field(default=...)
    commit_url: Union[str, None] = Field(default=...)
    created_at: str = Field(default=...)
    performed_via_github_app: Union[None, Integration] = Field(
        title="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.",
        default=...,
    )
    project_card: Union[Unset, MovedColumnInProjectIssueEventPropProjectCard] = Field(
        default=UNSET
    )


class MovedColumnInProjectIssueEventPropProjectCard(GitHubRestModel):
    """MovedColumnInProjectIssueEventPropProjectCard"""

    id: int = Field(default=...)
    url: str = Field(default=...)
    project_id: int = Field(default=...)
    project_url: str = Field(default=...)
    column_name: str = Field(default=...)
    previous_column_name: Union[Unset, str] = Field(default=UNSET)


class RemovedFromProjectIssueEvent(GitHubRestModel):
    """Removed from Project Issue Event

    Removed from Project Issue Event
    """

    id: int = Field(default=...)
    node_id: str = Field(default=...)
    url: str = Field(default=...)
    actor: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    event: Literal["removed_from_project"] = Field(default=...)
    commit_id: Union[str, None] = Field(default=...)
    commit_url: Union[str, None] = Field(default=...)
    created_at: str = Field(default=...)
    performed_via_github_app: Union[None, Integration] = Field(
        title="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.",
        default=...,
    )
    project_card: Union[Unset, RemovedFromProjectIssueEventPropProjectCard] = Field(
        default=UNSET
    )


class RemovedFromProjectIssueEventPropProjectCard(GitHubRestModel):
    """RemovedFromProjectIssueEventPropProjectCard"""

    id: int = Field(default=...)
    url: str = Field(default=...)
    project_id: int = Field(default=...)
    project_url: str = Field(default=...)
    column_name: str = Field(default=...)
    previous_column_name: Union[Unset, str] = Field(default=UNSET)


class ConvertedNoteToIssueIssueEvent(GitHubRestModel):
    """Converted Note to Issue Issue Event

    Converted Note to Issue Issue Event
    """

    id: int = Field(default=...)
    node_id: str = Field(default=...)
    url: str = Field(default=...)
    actor: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    event: Literal["converted_note_to_issue"] = Field(default=...)
    commit_id: Union[str, None] = Field(default=...)
    commit_url: Union[str, None] = Field(default=...)
    created_at: str = Field(default=...)
    performed_via_github_app: Integration = Field(
        title="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.",
        default=...,
    )
    project_card: Union[Unset, ConvertedNoteToIssueIssueEventPropProjectCard] = Field(
        default=UNSET
    )


class ConvertedNoteToIssueIssueEventPropProjectCard(GitHubRestModel):
    """ConvertedNoteToIssueIssueEventPropProjectCard"""

    id: int = Field(default=...)
    url: str = Field(default=...)
    project_id: int = Field(default=...)
    project_url: str = Field(default=...)
    column_name: str = Field(default=...)
    previous_column_name: Union[Unset, str] = Field(default=UNSET)


class Label(GitHubRestModel):
    """Label

    Color-coded labels help you categorize and filter your issues (just like labels
    in Gmail).
    """

    id: int = Field(default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the label", default=...)
    name: str = Field(description="The name of the label.", default=...)
    description: Union[str, None] = Field(default=...)
    color: str = Field(
        description="6-character hex code, without the leading #, identifying the color",
        default=...,
    )
    default: bool = Field(default=...)


class TimelineCommentEvent(GitHubRestModel):
    """Timeline Comment Event

    Timeline Comment Event
    """

    event: Literal["commented"] = Field(default=...)
    actor: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    id: int = Field(description="Unique identifier of the issue comment", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the issue comment", default=...)
    body: Union[Unset, str] = Field(
        description="Contents of the issue comment", default=UNSET
    )
    body_text: Union[Unset, str] = Field(default=UNSET)
    body_html: Union[Unset, str] = Field(default=UNSET)
    html_url: str = Field(default=...)
    user: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)
    issue_url: str = Field(default=...)
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="author_association",
        description="How the author is associated with the repository.",
        default=...,
    )
    performed_via_github_app: Union[Unset, Union[None, Integration]] = Field(
        title="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.",
        default=UNSET,
    )
    reactions: Union[Unset, ReactionRollup] = Field(
        title="Reaction Rollup", default=UNSET
    )


class TimelineCrossReferencedEvent(GitHubRestModel):
    """Timeline Cross Referenced Event

    Timeline Cross Referenced Event
    """

    event: Literal["cross-referenced"] = Field(default=...)
    actor: Union[Unset, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)
    source: TimelineCrossReferencedEventPropSource = Field(default=...)


class TimelineCrossReferencedEventPropSource(GitHubRestModel):
    """TimelineCrossReferencedEventPropSource"""

    type: Union[Unset, str] = Field(default=UNSET)
    issue: Union[Unset, Issue] = Field(
        title="Issue",
        description="Issues are a great way to keep track of tasks, enhancements, and bugs for your projects.",
        default=UNSET,
    )


class TimelineCommittedEvent(GitHubRestModel):
    """Timeline Committed Event

    Timeline Committed Event
    """

    event: Union[Unset, Literal["committed"]] = Field(default=UNSET)
    sha: str = Field(description="SHA for the commit", default=...)
    node_id: str = Field(default=...)
    url: str = Field(default=...)
    author: TimelineCommittedEventPropAuthor = Field(
        description="Identifying information for the git-user", default=...
    )
    committer: TimelineCommittedEventPropCommitter = Field(
        description="Identifying information for the git-user", default=...
    )
    message: str = Field(
        description="Message describing the purpose of the commit", default=...
    )
    tree: TimelineCommittedEventPropTree = Field(default=...)
    parents: List[TimelineCommittedEventPropParentsItems] = Field(default=...)
    verification: TimelineCommittedEventPropVerification = Field(default=...)
    html_url: str = Field(default=...)


class TimelineCommittedEventPropAuthor(GitHubRestModel):
    """TimelineCommittedEventPropAuthor

    Identifying information for the git-user
    """

    date: datetime = Field(description="Timestamp of the commit", default=...)
    email: str = Field(description="Git email address of the user", default=...)
    name: str = Field(description="Name of the git user", default=...)


class TimelineCommittedEventPropCommitter(GitHubRestModel):
    """TimelineCommittedEventPropCommitter

    Identifying information for the git-user
    """

    date: datetime = Field(description="Timestamp of the commit", default=...)
    email: str = Field(description="Git email address of the user", default=...)
    name: str = Field(description="Name of the git user", default=...)


class TimelineCommittedEventPropTree(GitHubRestModel):
    """TimelineCommittedEventPropTree"""

    sha: str = Field(description="SHA for the commit", default=...)
    url: str = Field(default=...)


class TimelineCommittedEventPropParentsItems(GitHubRestModel):
    """TimelineCommittedEventPropParentsItems"""

    sha: str = Field(description="SHA for the commit", default=...)
    url: str = Field(default=...)
    html_url: str = Field(default=...)


class TimelineCommittedEventPropVerification(GitHubRestModel):
    """TimelineCommittedEventPropVerification"""

    verified: bool = Field(default=...)
    reason: str = Field(default=...)
    signature: Union[str, None] = Field(default=...)
    payload: Union[str, None] = Field(default=...)


class TimelineReviewedEvent(GitHubRestModel):
    """Timeline Reviewed Event

    Timeline Reviewed Event
    """

    event: Literal["reviewed"] = Field(default=...)
    id: int = Field(description="Unique identifier of the review", default=...)
    node_id: str = Field(default=...)
    user: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    body: Union[str, None] = Field(description="The text of the review.", default=...)
    state: str = Field(default=...)
    html_url: str = Field(default=...)
    pull_request_url: str = Field(default=...)
    links: TimelineReviewedEventPropLinks = Field(default=..., alias="_links")
    submitted_at: Union[Unset, datetime] = Field(default=UNSET)
    commit_id: str = Field(description="A commit SHA for the review.", default=...)
    body_html: Union[Unset, Union[str, None]] = Field(default=UNSET)
    body_text: Union[Unset, Union[str, None]] = Field(default=UNSET)
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="author_association",
        description="How the author is associated with the repository.",
        default=...,
    )


class TimelineReviewedEventPropLinks(GitHubRestModel):
    """TimelineReviewedEventPropLinks"""

    html: TimelineReviewedEventPropLinksPropHtml = Field(default=...)
    pull_request: TimelineReviewedEventPropLinksPropPullRequest = Field(default=...)


class TimelineReviewedEventPropLinksPropHtml(GitHubRestModel):
    """TimelineReviewedEventPropLinksPropHtml"""

    href: str = Field(default=...)


class TimelineReviewedEventPropLinksPropPullRequest(GitHubRestModel):
    """TimelineReviewedEventPropLinksPropPullRequest"""

    href: str = Field(default=...)


class PullRequestReviewComment(GitHubRestModel):
    """Pull Request Review Comment

    Pull Request Review Comments are comments on a portion of the Pull Request's
    diff.
    """

    url: str = Field(description="URL for the pull request review comment", default=...)
    pull_request_review_id: Union[int, None] = Field(
        description="The ID of the pull request review to which the comment belongs.",
        default=...,
    )
    id: int = Field(
        description="The ID of the pull request review comment.", default=...
    )
    node_id: str = Field(
        description="The node ID of the pull request review comment.", default=...
    )
    diff_hunk: str = Field(
        description="The diff of the line that the comment refers to.", default=...
    )
    path: str = Field(
        description="The relative path of the file to which the comment applies.",
        default=...,
    )
    position: int = Field(
        description="The line index in the diff to which the comment applies. This field is deprecated; use `line` instead.",
        default=...,
    )
    original_position: int = Field(
        description="The index of the original line in the diff to which the comment applies. This field is deprecated; use `original_line` instead.",
        default=...,
    )
    commit_id: str = Field(
        description="The SHA of the commit to which the comment applies.", default=...
    )
    original_commit_id: str = Field(
        description="The SHA of the original commit to which the comment applies.",
        default=...,
    )
    in_reply_to_id: Union[Unset, int] = Field(
        description="The comment ID to reply to.", default=UNSET
    )
    user: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    body: str = Field(description="The text of the comment.", default=...)
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)
    html_url: str = Field(
        description="HTML URL for the pull request review comment.", default=...
    )
    pull_request_url: str = Field(
        description="URL for the pull request that the review comment belongs to.",
        default=...,
    )
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="author_association",
        description="How the author is associated with the repository.",
        default=...,
    )
    links: PullRequestReviewCommentPropLinks = Field(default=..., alias="_links")
    start_line: Union[Unset, Union[int, None]] = Field(
        description="The first line of the range for a multi-line comment.",
        default=UNSET,
    )
    original_start_line: Union[Unset, Union[int, None]] = Field(
        description="The first line of the range for a multi-line comment.",
        default=UNSET,
    )
    start_side: Union[Unset, Union[None, Literal["LEFT", "RIGHT"]]] = Field(
        description="The side of the first line of the range for a multi-line comment.",
        default="RIGHT",
    )
    line: Union[Unset, int] = Field(
        description="The line of the blob to which the comment applies. The last line of the range for a multi-line comment",
        default=UNSET,
    )
    original_line: Union[Unset, int] = Field(
        description="The line of the blob to which the comment applies. The last line of the range for a multi-line comment",
        default=UNSET,
    )
    side: Union[Unset, Literal["LEFT", "RIGHT"]] = Field(
        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",
    )
    reactions: Union[Unset, ReactionRollup] = Field(
        title="Reaction Rollup", default=UNSET
    )
    body_html: Union[Unset, str] = Field(default=UNSET)
    body_text: Union[Unset, str] = Field(default=UNSET)


class PullRequestReviewCommentPropLinks(GitHubRestModel):
    """PullRequestReviewCommentPropLinks"""

    self_: PullRequestReviewCommentPropLinksPropSelf = Field(default=..., alias="self")
    html: PullRequestReviewCommentPropLinksPropHtml = Field(default=...)
    pull_request: PullRequestReviewCommentPropLinksPropPullRequest = Field(default=...)


class PullRequestReviewCommentPropLinksPropSelf(GitHubRestModel):
    """PullRequestReviewCommentPropLinksPropSelf"""

    href: str = Field(default=...)


class PullRequestReviewCommentPropLinksPropHtml(GitHubRestModel):
    """PullRequestReviewCommentPropLinksPropHtml"""

    href: str = Field(default=...)


class PullRequestReviewCommentPropLinksPropPullRequest(GitHubRestModel):
    """PullRequestReviewCommentPropLinksPropPullRequest"""

    href: str = Field(default=...)


class TimelineLineCommentedEvent(GitHubRestModel):
    """Timeline Line Commented Event

    Timeline Line Commented Event
    """

    event: Union[Unset, Literal["line_commented"]] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    comments: Union[Unset, List[PullRequestReviewComment]] = Field(default=UNSET)


class TimelineCommitCommentedEvent(GitHubRestModel):
    """Timeline Commit Commented Event

    Timeline Commit Commented Event
    """

    event: Union[Unset, Literal["commit_commented"]] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    commit_id: Union[Unset, str] = Field(default=UNSET)
    comments: Union[Unset, List[CommitComment]] = Field(default=UNSET)


class TimelineAssignedIssueEvent(GitHubRestModel):
    """Timeline Assigned Issue Event

    Timeline Assigned Issue Event
    """

    id: int = Field(default=...)
    node_id: str = Field(default=...)
    url: str = Field(default=...)
    actor: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    event: Literal["assigned"] = Field(default=...)
    commit_id: Union[str, None] = Field(default=...)
    commit_url: Union[str, None] = Field(default=...)
    created_at: str = Field(default=...)
    performed_via_github_app: Union[None, Integration] = Field(
        title="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.",
        default=...,
    )
    assignee: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class TimelineUnassignedIssueEvent(GitHubRestModel):
    """Timeline Unassigned Issue Event

    Timeline Unassigned Issue Event
    """

    id: int = Field(default=...)
    node_id: str = Field(default=...)
    url: str = Field(default=...)
    actor: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    event: Literal["unassigned"] = Field(default=...)
    commit_id: Union[str, None] = Field(default=...)
    commit_url: Union[str, None] = Field(default=...)
    created_at: str = Field(default=...)
    performed_via_github_app: Union[None, Integration] = Field(
        title="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.",
        default=...,
    )
    assignee: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class StateChangeIssueEvent(GitHubRestModel):
    """State Change Issue Event

    State Change Issue Event
    """

    id: int = Field(default=...)
    node_id: str = Field(default=...)
    url: str = Field(default=...)
    actor: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    event: str = Field(default=...)
    commit_id: Union[str, None] = Field(default=...)
    commit_url: Union[str, None] = Field(default=...)
    created_at: str = Field(default=...)
    performed_via_github_app: Union[None, Integration] = Field(
        title="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.",
        default=...,
    )
    state_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)


class DeployKey(GitHubRestModel):
    """Deploy Key

    An SSH key granting access to a single repository.
    """

    id: int = Field(default=...)
    key: str = Field(default=...)
    url: str = Field(default=...)
    title: str = Field(default=...)
    verified: bool = Field(default=...)
    created_at: str = Field(default=...)
    read_only: bool = Field(default=...)
    added_by: Union[Unset, Union[str, None]] = Field(default=UNSET)
    last_used: Union[Unset, Union[str, None]] = Field(default=UNSET)


class Language(GitHubRestModel, extra=Extra.allow):
    """Language

    Language
    """


class LicenseContent(GitHubRestModel):
    """License Content

    License Content
    """

    name: str = Field(default=...)
    path: str = Field(default=...)
    sha: str = Field(default=...)
    size: int = Field(default=...)
    url: str = Field(default=...)
    html_url: Union[str, None] = Field(default=...)
    git_url: Union[str, None] = Field(default=...)
    download_url: Union[str, None] = Field(default=...)
    type: str = Field(default=...)
    content: str = Field(default=...)
    encoding: str = Field(default=...)
    links: LicenseContentPropLinks = Field(default=..., alias="_links")
    license_: Union[None, LicenseSimple] = Field(
        title="License Simple",
        description="License Simple",
        default=...,
        alias="license",
    )


class LicenseContentPropLinks(GitHubRestModel):
    """LicenseContentPropLinks"""

    git: Union[str, None] = Field(default=...)
    html: Union[str, None] = Field(default=...)
    self_: str = Field(default=..., alias="self")


class MergedUpstream(GitHubRestModel):
    """Merged upstream

    Results of a successful merge upstream request
    """

    message: Union[Unset, str] = Field(default=UNSET)
    merge_type: Union[Unset, Literal["merge", "fast-forward", "none"]] = Field(
        default=UNSET
    )
    base_branch: Union[Unset, str] = Field(default=UNSET)


class PagesSourceHash(GitHubRestModel):
    """Pages Source Hash"""

    branch: str = Field(default=...)
    path: str = Field(default=...)


class PagesHttpsCertificate(GitHubRestModel):
    """Pages Https Certificate"""

    state: Literal[
        "new",
        "authorization_created",
        "authorization_pending",
        "authorized",
        "authorization_revoked",
        "issued",
        "uploaded",
        "approved",
        "errored",
        "bad_authz",
        "destroy_pending",
        "dns_changed",
    ] = Field(default=...)
    description: str = Field(default=...)
    domains: List[str] = Field(
        description="Array of the domain set and its alternate name (if it is configured)",
        default=...,
    )
    expires_at: Union[Unset, date] = Field(default=UNSET)


class Page(GitHubRestModel):
    """GitHub Pages

    The configuration for GitHub Pages for a repository.
    """

    url: str = Field(
        description="The API address for accessing this Page resource.", default=...
    )
    status: Union[None, Literal["built", "building", "errored"]] = Field(
        description="The status of the most recent build of the Page.", default=...
    )
    cname: Union[str, None] = Field(
        description="The Pages site's custom domain", default=...
    )
    protected_domain_state: Union[
        Unset, Union[None, Literal["pending", "verified", "unverified"]]
    ] = Field(description="The state if the domain is verified", default=UNSET)
    pending_domain_unverified_at: Union[Unset, Union[datetime, None]] = Field(
        description="The timestamp when a pending domain becomes unverified.",
        default=UNSET,
    )
    custom_404: bool = Field(
        description="Whether the Page has a custom 404 page.", default=False
    )
    html_url: Union[Unset, str] = Field(
        description="The web address the Page can be accessed from.", default=UNSET
    )
    build_type: Union[Unset, Union[None, Literal["legacy", "workflow"]]] = Field(
        description="The process in which the Page will be built.", default=UNSET
    )
    source: Union[Unset, PagesSourceHash] = Field(
        title="Pages Source Hash", default=UNSET
    )
    public: bool = Field(
        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.",
        default=...,
    )
    https_certificate: Union[Unset, PagesHttpsCertificate] = Field(
        title="Pages Https Certificate", default=UNSET
    )
    https_enforced: Union[Unset, bool] = Field(
        description="Whether https is enabled on the domain", default=UNSET
    )


class PageBuild(GitHubRestModel):
    """Page Build

    Page Build
    """

    url: str = Field(default=...)
    status: str = Field(default=...)
    error: PageBuildPropError = Field(default=...)
    pusher: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    commit: str = Field(default=...)
    duration: int = Field(default=...)
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)


class PageBuildPropError(GitHubRestModel):
    """PageBuildPropError"""

    message: Union[str, None] = Field(default=...)


class PageBuildStatus(GitHubRestModel):
    """Page Build Status

    Page Build Status
    """

    url: str = Field(default=...)
    status: str = Field(default=...)


class PageDeployment(GitHubRestModel):
    """GitHub Pages

    The GitHub Pages deployment status.
    """

    status_url: str = Field(
        description="The URI to monitor GitHub Pages deployment status.", default=...
    )
    page_url: str = Field(
        description="The URI to the deployed GitHub Pages.", default=...
    )
    preview_url: Union[Unset, str] = Field(
        description="The URI to the deployed GitHub Pages preview.", default=UNSET
    )


class PagesHealthCheck(GitHubRestModel):
    """Pages Health Check Status

    Pages Health Check Status
    """

    domain: Union[Unset, PagesHealthCheckPropDomain] = Field(default=UNSET)
    alt_domain: Union[Unset, Union[PagesHealthCheckPropAltDomain, None]] = Field(
        default=UNSET
    )


class PagesHealthCheckPropDomain(GitHubRestModel):
    """PagesHealthCheckPropDomain"""

    host: Union[Unset, str] = Field(default=UNSET)
    uri: Union[Unset, str] = Field(default=UNSET)
    nameservers: Union[Unset, str] = Field(default=UNSET)
    dns_resolves: Union[Unset, bool] = Field(default=UNSET)
    is_proxied: Union[Unset, Union[bool, None]] = Field(default=UNSET)
    is_cloudflare_ip: Union[Unset, Union[bool, None]] = Field(default=UNSET)
    is_fastly_ip: Union[Unset, Union[bool, None]] = Field(default=UNSET)
    is_old_ip_address: Union[Unset, Union[bool, None]] = Field(default=UNSET)
    is_a_record: Union[Unset, Union[bool, None]] = Field(default=UNSET)
    has_cname_record: Union[Unset, Union[bool, None]] = Field(default=UNSET)
    has_mx_records_present: Union[Unset, Union[bool, None]] = Field(default=UNSET)
    is_valid_domain: Union[Unset, bool] = Field(default=UNSET)
    is_apex_domain: Union[Unset, bool] = Field(default=UNSET)
    should_be_a_record: Union[Unset, Union[bool, None]] = Field(default=UNSET)
    is_cname_to_github_user_domain: Union[Unset, Union[bool, None]] = Field(
        default=UNSET
    )
    is_cname_to_pages_dot_github_dot_com: Union[Unset, Union[bool, None]] = Field(
        default=UNSET
    )
    is_cname_to_fastly: Union[Unset, Union[bool, None]] = Field(default=UNSET)
    is_pointed_to_github_pages_ip: Union[Unset, Union[bool, None]] = Field(
        default=UNSET
    )
    is_non_github_pages_ip_present: Union[Unset, Union[bool, None]] = Field(
        default=UNSET
    )
    is_pages_domain: Union[Unset, bool] = Field(default=UNSET)
    is_served_by_pages: Union[Unset, Union[bool, None]] = Field(default=UNSET)
    is_valid: Union[Unset, bool] = Field(default=UNSET)
    reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    responds_to_https: Union[Unset, bool] = Field(default=UNSET)
    enforces_https: Union[Unset, bool] = Field(default=UNSET)
    https_error: Union[Unset, Union[str, None]] = Field(default=UNSET)
    is_https_eligible: Union[Unset, Union[bool, None]] = Field(default=UNSET)
    caa_error: Union[Unset, Union[str, None]] = Field(default=UNSET)


class PagesHealthCheckPropAltDomain(GitHubRestModel):
    """PagesHealthCheckPropAltDomain"""

    host: Union[Unset, str] = Field(default=UNSET)
    uri: Union[Unset, str] = Field(default=UNSET)
    nameservers: Union[Unset, str] = Field(default=UNSET)
    dns_resolves: Union[Unset, bool] = Field(default=UNSET)
    is_proxied: Union[Unset, Union[bool, None]] = Field(default=UNSET)
    is_cloudflare_ip: Union[Unset, Union[bool, None]] = Field(default=UNSET)
    is_fastly_ip: Union[Unset, Union[bool, None]] = Field(default=UNSET)
    is_old_ip_address: Union[Unset, Union[bool, None]] = Field(default=UNSET)
    is_a_record: Union[Unset, Union[bool, None]] = Field(default=UNSET)
    has_cname_record: Union[Unset, Union[bool, None]] = Field(default=UNSET)
    has_mx_records_present: Union[Unset, Union[bool, None]] = Field(default=UNSET)
    is_valid_domain: Union[Unset, bool] = Field(default=UNSET)
    is_apex_domain: Union[Unset, bool] = Field(default=UNSET)
    should_be_a_record: Union[Unset, Union[bool, None]] = Field(default=UNSET)
    is_cname_to_github_user_domain: Union[Unset, Union[bool, None]] = Field(
        default=UNSET
    )
    is_cname_to_pages_dot_github_dot_com: Union[Unset, Union[bool, None]] = Field(
        default=UNSET
    )
    is_cname_to_fastly: Union[Unset, Union[bool, None]] = Field(default=UNSET)
    is_pointed_to_github_pages_ip: Union[Unset, Union[bool, None]] = Field(
        default=UNSET
    )
    is_non_github_pages_ip_present: Union[Unset, Union[bool, None]] = Field(
        default=UNSET
    )
    is_pages_domain: Union[Unset, bool] = Field(default=UNSET)
    is_served_by_pages: Union[Unset, Union[bool, None]] = Field(default=UNSET)
    is_valid: Union[Unset, bool] = Field(default=UNSET)
    reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    responds_to_https: Union[Unset, bool] = Field(default=UNSET)
    enforces_https: Union[Unset, bool] = Field(default=UNSET)
    https_error: Union[Unset, Union[str, None]] = Field(default=UNSET)
    is_https_eligible: Union[Unset, Union[bool, None]] = Field(default=UNSET)
    caa_error: Union[Unset, Union[str, None]] = Field(default=UNSET)


class PullRequest(GitHubRestModel):
    """Pull Request

    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.
    """

    url: str = Field(default=...)
    id: int = Field(default=...)
    node_id: str = Field(default=...)
    html_url: str = Field(default=...)
    diff_url: str = Field(default=...)
    patch_url: str = Field(default=...)
    issue_url: str = Field(default=...)
    commits_url: str = Field(default=...)
    review_comments_url: str = Field(default=...)
    review_comment_url: str = Field(default=...)
    comments_url: str = Field(default=...)
    statuses_url: str = Field(default=...)
    number: int = Field(
        description="Number uniquely identifying the pull request within its repository.",
        default=...,
    )
    state: Literal["open", "closed"] = Field(
        description="State of this Pull Request. Either `open` or `closed`.",
        default=...,
    )
    locked: bool = Field(default=...)
    title: str = Field(description="The title of the pull request.", default=...)
    user: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    body: Union[str, None] = Field(default=...)
    labels: List[PullRequestPropLabelsItems] = Field(default=...)
    milestone: Union[None, Milestone] = Field(
        title="Milestone",
        description="A collection of related issues and pull requests.",
        default=...,
    )
    active_lock_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)
    closed_at: Union[datetime, None] = Field(default=...)
    merged_at: Union[datetime, None] = Field(default=...)
    merge_commit_sha: Union[str, None] = Field(default=...)
    assignee: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    assignees: Union[Unset, Union[List[SimpleUser], None]] = Field(default=UNSET)
    requested_reviewers: Union[Unset, Union[List[SimpleUser], None]] = Field(
        default=UNSET
    )
    requested_teams: Union[Unset, Union[List[TeamSimple], None]] = Field(default=UNSET)
    head: PullRequestPropHead = Field(default=...)
    base: PullRequestPropBase = Field(default=...)
    links: PullRequestPropLinks = Field(default=..., alias="_links")
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="author_association",
        description="How the author is associated with the repository.",
        default=...,
    )
    auto_merge: Union[AutoMerge, None] = Field(
        title="Auto merge",
        description="The status of auto merging a pull request.",
        default=...,
    )
    draft: Union[Unset, bool] = Field(
        description="Indicates whether or not the pull request is a draft.",
        default=UNSET,
    )
    merged: bool = Field(default=...)
    mergeable: Union[bool, None] = Field(default=...)
    rebaseable: Union[Unset, Union[bool, None]] = Field(default=UNSET)
    mergeable_state: str = Field(default=...)
    merged_by: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    comments: int = Field(default=...)
    review_comments: int = Field(default=...)
    maintainer_can_modify: bool = Field(
        description="Indicates whether maintainers can modify the pull request.",
        default=...,
    )
    commits: int = Field(default=...)
    additions: int = Field(default=...)
    deletions: int = Field(default=...)
    changed_files: int = Field(default=...)


class PullRequestPropLabelsItems(GitHubRestModel):
    """PullRequestPropLabelsItems"""

    id: int = Field(default=...)
    node_id: str = Field(default=...)
    url: str = Field(default=...)
    name: str = Field(default=...)
    description: Union[str, None] = Field(default=...)
    color: str = Field(default=...)
    default: bool = Field(default=...)


class PullRequestPropHead(GitHubRestModel):
    """PullRequestPropHead"""

    label: str = Field(default=...)
    ref: str = Field(default=...)
    repo: Union[PullRequestPropHeadPropRepo, None] = Field(default=...)
    sha: str = Field(default=...)
    user: PullRequestPropHeadPropUser = Field(default=...)


class PullRequestPropHeadPropRepoPropOwner(GitHubRestModel):
    """PullRequestPropHeadPropRepoPropOwner"""

    avatar_url: str = Field(default=...)
    events_url: str = Field(default=...)
    followers_url: str = Field(default=...)
    following_url: str = Field(default=...)
    gists_url: str = Field(default=...)
    gravatar_id: Union[str, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    node_id: str = Field(default=...)
    login: str = Field(default=...)
    organizations_url: str = Field(default=...)
    received_events_url: str = Field(default=...)
    repos_url: str = Field(default=...)
    site_admin: bool = Field(default=...)
    starred_url: str = Field(default=...)
    subscriptions_url: str = Field(default=...)
    type: str = Field(default=...)
    url: str = Field(default=...)


class PullRequestPropHeadPropRepoPropPermissions(GitHubRestModel):
    """PullRequestPropHeadPropRepoPropPermissions"""

    admin: bool = Field(default=...)
    maintain: Union[Unset, bool] = Field(default=UNSET)
    push: bool = Field(default=...)
    triage: Union[Unset, bool] = Field(default=UNSET)
    pull: bool = Field(default=...)


class PullRequestPropHeadPropRepoPropLicense(GitHubRestModel):
    """PullRequestPropHeadPropRepoPropLicense"""

    key: str = Field(default=...)
    name: str = Field(default=...)
    url: Union[str, None] = Field(default=...)
    spdx_id: Union[str, None] = Field(default=...)
    node_id: str = Field(default=...)


class PullRequestPropHeadPropRepo(GitHubRestModel):
    """PullRequestPropHeadPropRepo"""

    archive_url: str = Field(default=...)
    assignees_url: str = Field(default=...)
    blobs_url: str = Field(default=...)
    branches_url: str = Field(default=...)
    collaborators_url: str = Field(default=...)
    comments_url: str = Field(default=...)
    commits_url: str = Field(default=...)
    compare_url: str = Field(default=...)
    contents_url: str = Field(default=...)
    contributors_url: str = Field(default=...)
    deployments_url: str = Field(default=...)
    description: Union[str, None] = Field(default=...)
    downloads_url: str = Field(default=...)
    events_url: str = Field(default=...)
    fork: bool = Field(default=...)
    forks_url: str = Field(default=...)
    full_name: str = Field(default=...)
    git_commits_url: str = Field(default=...)
    git_refs_url: str = Field(default=...)
    git_tags_url: str = Field(default=...)
    hooks_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    node_id: str = Field(default=...)
    issue_comment_url: str = Field(default=...)
    issue_events_url: str = Field(default=...)
    issues_url: str = Field(default=...)
    keys_url: str = Field(default=...)
    labels_url: str = Field(default=...)
    languages_url: str = Field(default=...)
    merges_url: str = Field(default=...)
    milestones_url: str = Field(default=...)
    name: str = Field(default=...)
    notifications_url: str = Field(default=...)
    owner: PullRequestPropHeadPropRepoPropOwner = Field(default=...)
    private: bool = Field(default=...)
    pulls_url: str = Field(default=...)
    releases_url: str = Field(default=...)
    stargazers_url: str = Field(default=...)
    statuses_url: str = Field(default=...)
    subscribers_url: str = Field(default=...)
    subscription_url: str = Field(default=...)
    tags_url: str = Field(default=...)
    teams_url: str = Field(default=...)
    trees_url: str = Field(default=...)
    url: str = Field(default=...)
    clone_url: str = Field(default=...)
    default_branch: str = Field(default=...)
    forks: int = Field(default=...)
    forks_count: int = Field(default=...)
    git_url: str = Field(default=...)
    has_downloads: bool = Field(default=...)
    has_issues: bool = Field(default=...)
    has_projects: bool = Field(default=...)
    has_wiki: bool = Field(default=...)
    has_pages: bool = Field(default=...)
    homepage: Union[str, None] = Field(default=...)
    language: Union[str, None] = Field(default=...)
    master_branch: Union[Unset, str] = Field(default=UNSET)
    archived: bool = Field(default=...)
    disabled: bool = Field(default=...)
    visibility: Union[Unset, str] = Field(
        description="The repository visibility: public, private, or internal.",
        default=UNSET,
    )
    mirror_url: Union[str, None] = Field(default=...)
    open_issues: int = Field(default=...)
    open_issues_count: int = Field(default=...)
    permissions: Union[Unset, PullRequestPropHeadPropRepoPropPermissions] = Field(
        default=UNSET
    )
    temp_clone_token: Union[Unset, str] = Field(default=UNSET)
    allow_merge_commit: Union[Unset, bool] = Field(default=UNSET)
    allow_squash_merge: Union[Unset, bool] = Field(default=UNSET)
    allow_rebase_merge: Union[Unset, bool] = Field(default=UNSET)
    license_: Union[PullRequestPropHeadPropRepoPropLicense, None] = Field(
        default=..., alias="license"
    )
    pushed_at: datetime = Field(default=...)
    size: int = Field(default=...)
    ssh_url: str = Field(default=...)
    stargazers_count: int = Field(default=...)
    svn_url: str = Field(default=...)
    topics: Union[Unset, List[str]] = Field(default=UNSET)
    watchers: int = Field(default=...)
    watchers_count: int = Field(default=...)
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)
    allow_forking: Union[Unset, bool] = Field(default=UNSET)
    is_template: Union[Unset, bool] = Field(default=UNSET)
    web_commit_signoff_required: Union[Unset, bool] = Field(default=UNSET)


class PullRequestPropHeadPropUser(GitHubRestModel):
    """PullRequestPropHeadPropUser"""

    avatar_url: str = Field(default=...)
    events_url: str = Field(default=...)
    followers_url: str = Field(default=...)
    following_url: str = Field(default=...)
    gists_url: str = Field(default=...)
    gravatar_id: Union[str, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    node_id: str = Field(default=...)
    login: str = Field(default=...)
    organizations_url: str = Field(default=...)
    received_events_url: str = Field(default=...)
    repos_url: str = Field(default=...)
    site_admin: bool = Field(default=...)
    starred_url: str = Field(default=...)
    subscriptions_url: str = Field(default=...)
    type: str = Field(default=...)
    url: str = Field(default=...)


class PullRequestPropBase(GitHubRestModel):
    """PullRequestPropBase"""

    label: str = Field(default=...)
    ref: str = Field(default=...)
    repo: PullRequestPropBasePropRepo = Field(default=...)
    sha: str = Field(default=...)
    user: PullRequestPropBasePropUser = Field(default=...)


class PullRequestPropBasePropRepo(GitHubRestModel):
    """PullRequestPropBasePropRepo"""

    archive_url: str = Field(default=...)
    assignees_url: str = Field(default=...)
    blobs_url: str = Field(default=...)
    branches_url: str = Field(default=...)
    collaborators_url: str = Field(default=...)
    comments_url: str = Field(default=...)
    commits_url: str = Field(default=...)
    compare_url: str = Field(default=...)
    contents_url: str = Field(default=...)
    contributors_url: str = Field(default=...)
    deployments_url: str = Field(default=...)
    description: Union[str, None] = Field(default=...)
    downloads_url: str = Field(default=...)
    events_url: str = Field(default=...)
    fork: bool = Field(default=...)
    forks_url: str = Field(default=...)
    full_name: str = Field(default=...)
    git_commits_url: str = Field(default=...)
    git_refs_url: str = Field(default=...)
    git_tags_url: str = Field(default=...)
    hooks_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    is_template: Union[Unset, bool] = Field(default=UNSET)
    node_id: str = Field(default=...)
    issue_comment_url: str = Field(default=...)
    issue_events_url: str = Field(default=...)
    issues_url: str = Field(default=...)
    keys_url: str = Field(default=...)
    labels_url: str = Field(default=...)
    languages_url: str = Field(default=...)
    merges_url: str = Field(default=...)
    milestones_url: str = Field(default=...)
    name: str = Field(default=...)
    notifications_url: str = Field(default=...)
    owner: PullRequestPropBasePropRepoPropOwner = Field(default=...)
    private: bool = Field(default=...)
    pulls_url: str = Field(default=...)
    releases_url: str = Field(default=...)
    stargazers_url: str = Field(default=...)
    statuses_url: str = Field(default=...)
    subscribers_url: str = Field(default=...)
    subscription_url: str = Field(default=...)
    tags_url: str = Field(default=...)
    teams_url: str = Field(default=...)
    trees_url: str = Field(default=...)
    url: str = Field(default=...)
    clone_url: str = Field(default=...)
    default_branch: str = Field(default=...)
    forks: int = Field(default=...)
    forks_count: int = Field(default=...)
    git_url: str = Field(default=...)
    has_downloads: bool = Field(default=...)
    has_issues: bool = Field(default=...)
    has_projects: bool = Field(default=...)
    has_wiki: bool = Field(default=...)
    has_pages: bool = Field(default=...)
    homepage: Union[str, None] = Field(default=...)
    language: Union[str, None] = Field(default=...)
    master_branch: Union[Unset, str] = Field(default=UNSET)
    archived: bool = Field(default=...)
    disabled: bool = Field(default=...)
    visibility: Union[Unset, str] = Field(
        description="The repository visibility: public, private, or internal.",
        default=UNSET,
    )
    mirror_url: Union[str, None] = Field(default=...)
    open_issues: int = Field(default=...)
    open_issues_count: int = Field(default=...)
    permissions: Union[Unset, PullRequestPropBasePropRepoPropPermissions] = Field(
        default=UNSET
    )
    temp_clone_token: Union[Unset, str] = Field(default=UNSET)
    allow_merge_commit: Union[Unset, bool] = Field(default=UNSET)
    allow_squash_merge: Union[Unset, bool] = Field(default=UNSET)
    allow_rebase_merge: Union[Unset, bool] = Field(default=UNSET)
    license_: Union[None, LicenseSimple] = Field(
        title="License Simple",
        description="License Simple",
        default=...,
        alias="license",
    )
    pushed_at: datetime = Field(default=...)
    size: int = Field(default=...)
    ssh_url: str = Field(default=...)
    stargazers_count: int = Field(default=...)
    svn_url: str = Field(default=...)
    topics: Union[Unset, List[str]] = Field(default=UNSET)
    watchers: int = Field(default=...)
    watchers_count: int = Field(default=...)
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)
    allow_forking: Union[Unset, bool] = Field(default=UNSET)
    web_commit_signoff_required: Union[Unset, bool] = Field(default=UNSET)


class PullRequestPropBasePropRepoPropOwner(GitHubRestModel):
    """PullRequestPropBasePropRepoPropOwner"""

    avatar_url: str = Field(default=...)
    events_url: str = Field(default=...)
    followers_url: str = Field(default=...)
    following_url: str = Field(default=...)
    gists_url: str = Field(default=...)
    gravatar_id: Union[str, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    node_id: str = Field(default=...)
    login: str = Field(default=...)
    organizations_url: str = Field(default=...)
    received_events_url: str = Field(default=...)
    repos_url: str = Field(default=...)
    site_admin: bool = Field(default=...)
    starred_url: str = Field(default=...)
    subscriptions_url: str = Field(default=...)
    type: str = Field(default=...)
    url: str = Field(default=...)


class PullRequestPropBasePropRepoPropPermissions(GitHubRestModel):
    """PullRequestPropBasePropRepoPropPermissions"""

    admin: bool = Field(default=...)
    maintain: Union[Unset, bool] = Field(default=UNSET)
    push: bool = Field(default=...)
    triage: Union[Unset, bool] = Field(default=UNSET)
    pull: bool = Field(default=...)


class PullRequestPropBasePropUser(GitHubRestModel):
    """PullRequestPropBasePropUser"""

    avatar_url: str = Field(default=...)
    events_url: str = Field(default=...)
    followers_url: str = Field(default=...)
    following_url: str = Field(default=...)
    gists_url: str = Field(default=...)
    gravatar_id: Union[str, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    node_id: str = Field(default=...)
    login: str = Field(default=...)
    organizations_url: str = Field(default=...)
    received_events_url: str = Field(default=...)
    repos_url: str = Field(default=...)
    site_admin: bool = Field(default=...)
    starred_url: str = Field(default=...)
    subscriptions_url: str = Field(default=...)
    type: str = Field(default=...)
    url: str = Field(default=...)


class PullRequestPropLinks(GitHubRestModel):
    """PullRequestPropLinks"""

    comments: Link = Field(title="Link", description="Hypermedia Link", default=...)
    commits: Link = Field(title="Link", description="Hypermedia Link", default=...)
    statuses: Link = Field(title="Link", description="Hypermedia Link", default=...)
    html: Link = Field(title="Link", description="Hypermedia Link", default=...)
    issue: Link = Field(title="Link", description="Hypermedia Link", default=...)
    review_comments: Link = Field(
        title="Link", description="Hypermedia Link", default=...
    )
    review_comment: Link = Field(
        title="Link", description="Hypermedia Link", default=...
    )
    self_: Link = Field(
        title="Link", description="Hypermedia Link", default=..., alias="self"
    )


class PullRequestMergeResult(GitHubRestModel):
    """Pull Request Merge Result

    Pull Request Merge Result
    """

    sha: str = Field(default=...)
    merged: bool = Field(default=...)
    message: str = Field(default=...)


class PullRequestReviewRequest(GitHubRestModel):
    """Pull Request Review Request

    Pull Request Review Request
    """

    users: List[SimpleUser] = Field(default=...)
    teams: List[Team] = Field(default=...)


class PullRequestReview(GitHubRestModel):
    """Pull Request Review

    Pull Request Reviews are reviews on pull requests.
    """

    id: int = Field(description="Unique identifier of the review", default=...)
    node_id: str = Field(default=...)
    user: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    body: str = Field(description="The text of the review.", default=...)
    state: str = Field(default=...)
    html_url: str = Field(default=...)
    pull_request_url: str = Field(default=...)
    links: PullRequestReviewPropLinks = Field(default=..., alias="_links")
    submitted_at: Union[Unset, datetime] = Field(default=UNSET)
    commit_id: str = Field(description="A commit SHA for the review.", default=...)
    body_html: Union[Unset, str] = Field(default=UNSET)
    body_text: Union[Unset, str] = Field(default=UNSET)
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="author_association",
        description="How the author is associated with the repository.",
        default=...,
    )


class PullRequestReviewPropLinks(GitHubRestModel):
    """PullRequestReviewPropLinks"""

    html: PullRequestReviewPropLinksPropHtml = Field(default=...)
    pull_request: PullRequestReviewPropLinksPropPullRequest = Field(default=...)


class PullRequestReviewPropLinksPropHtml(GitHubRestModel):
    """PullRequestReviewPropLinksPropHtml"""

    href: str = Field(default=...)


class PullRequestReviewPropLinksPropPullRequest(GitHubRestModel):
    """PullRequestReviewPropLinksPropPullRequest"""

    href: str = Field(default=...)


class ReviewComment(GitHubRestModel):
    """Legacy Review Comment

    Legacy Review Comment
    """

    url: str = Field(default=...)
    pull_request_review_id: Union[int, None] = Field(default=...)
    id: int = Field(default=...)
    node_id: str = Field(default=...)
    diff_hunk: str = Field(default=...)
    path: str = Field(default=...)
    position: Union[int, None] = Field(default=...)
    original_position: int = Field(default=...)
    commit_id: str = Field(default=...)
    original_commit_id: str = Field(default=...)
    in_reply_to_id: Union[Unset, int] = Field(default=UNSET)
    user: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    body: str = Field(default=...)
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)
    html_url: str = Field(default=...)
    pull_request_url: str = Field(default=...)
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="author_association",
        description="How the author is associated with the repository.",
        default=...,
    )
    links: ReviewCommentPropLinks = Field(default=..., alias="_links")
    body_text: Union[Unset, str] = Field(default=UNSET)
    body_html: Union[Unset, str] = Field(default=UNSET)
    reactions: Union[Unset, ReactionRollup] = Field(
        title="Reaction Rollup", default=UNSET
    )
    side: Union[Unset, Literal["LEFT", "RIGHT"]] = Field(
        description="The side of the first line of the range for a multi-line comment.",
        default="RIGHT",
    )
    start_side: Union[Unset, Union[None, Literal["LEFT", "RIGHT"]]] = Field(
        description="The side of the first line of the range for a multi-line comment.",
        default="RIGHT",
    )
    line: Union[Unset, int] = Field(
        description="The line of the blob to which the comment applies. The last line of the range for a multi-line comment",
        default=UNSET,
    )
    original_line: Union[Unset, int] = Field(
        description="The original line of the blob to which the comment applies. The last line of the range for a multi-line comment",
        default=UNSET,
    )
    start_line: Union[Unset, Union[int, None]] = Field(
        description="The first line of the range for a multi-line comment.",
        default=UNSET,
    )
    original_start_line: Union[Unset, Union[int, None]] = Field(
        description="The original first line of the range for a multi-line comment.",
        default=UNSET,
    )


class ReviewCommentPropLinks(GitHubRestModel):
    """ReviewCommentPropLinks"""

    self_: Link = Field(
        title="Link", description="Hypermedia Link", default=..., alias="self"
    )
    html: Link = Field(title="Link", description="Hypermedia Link", default=...)
    pull_request: Link = Field(title="Link", description="Hypermedia Link", default=...)


class ReleaseAsset(GitHubRestModel):
    """Release Asset

    Data related to a release.
    """

    url: str = Field(default=...)
    browser_download_url: str = Field(default=...)
    id: int = Field(default=...)
    node_id: str = Field(default=...)
    name: str = Field(description="The file name of the asset.", default=...)
    label: Union[str, None] = Field(default=...)
    state: Literal["uploaded", "open"] = Field(
        description="State of the release asset.", default=...
    )
    content_type: str = Field(default=...)
    size: int = Field(default=...)
    download_count: int = Field(default=...)
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)
    uploader: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )


class Release(GitHubRestModel):
    """Release

    A release.
    """

    url: str = Field(default=...)
    html_url: str = Field(default=...)
    assets_url: str = Field(default=...)
    upload_url: str = Field(default=...)
    tarball_url: Union[str, None] = Field(default=...)
    zipball_url: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    node_id: str = Field(default=...)
    tag_name: str = Field(description="The name of the tag.", default=...)
    target_commitish: str = Field(
        description="Specifies the commitish value that determines where the Git tag is created from.",
        default=...,
    )
    name: Union[str, None] = Field(default=...)
    body: Union[Unset, Union[str, None]] = Field(default=UNSET)
    draft: bool = Field(
        description="true to create a draft (unpublished) release, false to create a published one.",
        default=...,
    )
    prerelease: bool = Field(
        description="Whether to identify the release as a prerelease or a full release.",
        default=...,
    )
    created_at: datetime = Field(default=...)
    published_at: Union[datetime, None] = Field(default=...)
    author: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    assets: List[ReleaseAsset] = Field(default=...)
    body_html: Union[Unset, Union[str, None]] = Field(default=UNSET)
    body_text: Union[Unset, Union[str, None]] = Field(default=UNSET)
    mentions_count: Union[Unset, int] = Field(default=UNSET)
    discussion_url: Union[Unset, str] = Field(
        description="The URL of the release discussion.", default=UNSET
    )
    reactions: Union[Unset, ReactionRollup] = Field(
        title="Reaction Rollup", default=UNSET
    )


class ReleaseNotesContent(GitHubRestModel):
    """Generated Release Notes Content

    Generated name and body describing a release
    """

    name: str = Field(description="The generated name of the release", default=...)
    body: str = Field(
        description="The generated body describing the contents of the release supporting markdown formatting",
        default=...,
    )


class SecretScanningAlert(GitHubRestModel):
    """SecretScanningAlert"""

    number: Union[Unset, int] = Field(
        description="The security alert number.", default=UNSET
    )
    created_at: Union[Unset, datetime] = Field(
        description="The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=UNSET,
    )
    updated_at: Union[Unset, datetime] = Field(
        description="The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=UNSET,
    )
    url: Union[Unset, str] = Field(
        description="The REST API URL of the alert resource.", default=UNSET
    )
    html_url: Union[Unset, str] = Field(
        description="The GitHub URL of the alert resource.", default=UNSET
    )
    locations_url: Union[Unset, str] = Field(
        description="The REST API URL of the code locations for this alert.",
        default=UNSET,
    )
    state: Union[Unset, Literal["open", "resolved"]] = Field(
        description="Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`.",
        default=UNSET,
    )
    resolution: Union[
        Unset,
        Union[None, Literal["false_positive", "wont_fix", "revoked", "used_in_tests"]],
    ] = Field(
        description="**Required when the `state` is `resolved`.** The reason for resolving the alert.",
        default=UNSET,
    )
    resolved_at: Union[Unset, Union[datetime, None]] = Field(
        description="The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=UNSET,
    )
    resolved_by: Union[Unset, Union[None, SimpleUser]] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )
    resolution_comment: Union[Unset, Union[str, None]] = Field(
        description="An optional comment to resolve an alert.", default=UNSET
    )
    secret_type: Union[Unset, str] = Field(
        description="The type of secret that secret scanning detected.", default=UNSET
    )
    secret_type_display_name: Union[Unset, str] = Field(
        description='User-friendly name for the detected secret, matching the `secret_type`.\nFor 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)."',
        default=UNSET,
    )
    secret: Union[Unset, str] = Field(
        description="The secret that was detected.", default=UNSET
    )
    push_protection_bypassed: Union[Unset, Union[bool, None]] = Field(
        description="Whether push protection was bypassed for the detected secret.",
        default=UNSET,
    )
    push_protection_bypassed_by: Union[Unset, Union[None, SimpleUser]] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )
    push_protection_bypassed_at: Union[Unset, Union[datetime, None]] = Field(
        description="The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=UNSET,
    )


class SecretScanningLocationCommit(GitHubRestModel):
    """SecretScanningLocationCommit

    Represents a 'commit' secret scanning location type. This location type shows
    that a secret was detected inside a commit to a repository.
    """

    path: str = Field(description="The file path in the repository", default=...)
    start_line: float = Field(
        description="Line number at which the secret starts in the file", default=...
    )
    end_line: float = Field(
        description="Line number at which the secret ends in the file", default=...
    )
    start_column: float = Field(
        description="The column at which the secret starts within the start line when the file is interpreted as 8BIT ASCII",
        default=...,
    )
    end_column: float = Field(
        description="The column at which the secret ends within the end line when the file is interpreted as 8BIT ASCII",
        default=...,
    )
    blob_sha: str = Field(
        description="SHA-1 hash ID of the associated blob", default=...
    )
    blob_url: str = Field(
        description="The API URL to get the associated blob resource", default=...
    )
    commit_sha: str = Field(
        description="SHA-1 hash ID of the associated commit", default=...
    )
    commit_url: str = Field(
        description="The API URL to get the associated commit resource", default=...
    )


class SecretScanningLocation(GitHubRestModel):
    """SecretScanningLocation"""

    type: Literal["commit"] = Field(
        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.",
        default=...,
    )
    details: SecretScanningLocationCommit = Field(
        description="Represents a 'commit' secret scanning location type. This location type shows that a secret was detected inside a commit to a repository.",
        default=...,
    )


class Stargazer(GitHubRestModel):
    """Stargazer

    Stargazer
    """

    starred_at: datetime = Field(default=...)
    user: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )


class CommitActivity(GitHubRestModel):
    """Commit Activity

    Commit Activity
    """

    days: List[int] = Field(default=...)
    total: int = Field(default=...)
    week: int = Field(default=...)


class ContributorActivity(GitHubRestModel):
    """Contributor Activity

    Contributor Activity
    """

    author: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    total: int = Field(default=...)
    weeks: List[ContributorActivityPropWeeksItems] = Field(default=...)


class ContributorActivityPropWeeksItems(GitHubRestModel):
    """ContributorActivityPropWeeksItems"""

    w: Union[Unset, int] = Field(default=UNSET)
    a: Union[Unset, int] = Field(default=UNSET)
    d: Union[Unset, int] = Field(default=UNSET)
    c: Union[Unset, int] = Field(default=UNSET)


class ParticipationStats(GitHubRestModel):
    """Participation Stats"""

    all_: List[int] = Field(default=..., alias="all")
    owner: List[int] = Field(default=...)


class RepositorySubscription(GitHubRestModel):
    """Repository Invitation

    Repository invitations let you manage who you collaborate with.
    """

    subscribed: bool = Field(
        description="Determines if notifications should be received from this repository.",
        default=...,
    )
    ignored: bool = Field(
        description="Determines if all notifications should be blocked from this repository.",
        default=...,
    )
    reason: Union[str, None] = Field(default=...)
    created_at: datetime = Field(default=...)
    url: str = Field(default=...)
    repository_url: str = Field(default=...)


class Tag(GitHubRestModel):
    """Tag

    Tag
    """

    name: str = Field(default=...)
    commit: TagPropCommit = Field(default=...)
    zipball_url: str = Field(default=...)
    tarball_url: str = Field(default=...)
    node_id: str = Field(default=...)


class TagPropCommit(GitHubRestModel):
    """TagPropCommit"""

    sha: str = Field(default=...)
    url: str = Field(default=...)


class TagProtection(GitHubRestModel):
    """Tag protection

    Tag protection
    """

    id: Union[Unset, int] = Field(default=UNSET)
    created_at: Union[Unset, str] = Field(default=UNSET)
    updated_at: Union[Unset, str] = Field(default=UNSET)
    enabled: Union[Unset, bool] = Field(default=UNSET)
    pattern: str = Field(default=...)


class Topic(GitHubRestModel):
    """Topic

    A topic aggregates entities that are related to a subject.
    """

    names: List[str] = Field(default=...)


class Traffic(GitHubRestModel):
    """Traffic"""

    timestamp: datetime = Field(default=...)
    uniques: int = Field(default=...)
    count: int = Field(default=...)


class CloneTraffic(GitHubRestModel):
    """Clone Traffic

    Clone Traffic
    """

    count: int = Field(default=...)
    uniques: int = Field(default=...)
    clones: List[Traffic] = Field(default=...)


class ContentTraffic(GitHubRestModel):
    """Content Traffic

    Content Traffic
    """

    path: str = Field(default=...)
    title: str = Field(default=...)
    count: int = Field(default=...)
    uniques: int = Field(default=...)


class ReferrerTraffic(GitHubRestModel):
    """Referrer Traffic

    Referrer Traffic
    """

    referrer: str = Field(default=...)
    count: int = Field(default=...)
    uniques: int = Field(default=...)


class ViewTraffic(GitHubRestModel):
    """View Traffic

    View Traffic
    """

    count: int = Field(default=...)
    uniques: int = Field(default=...)
    views: List[Traffic] = Field(default=...)


class SearchResultTextMatchesItems(GitHubRestModel):
    """SearchResultTextMatchesItems"""

    object_url: Union[Unset, str] = Field(default=UNSET)
    object_type: Union[Unset, Union[str, None]] = Field(default=UNSET)
    property_: Union[Unset, str] = Field(default=UNSET, alias="property")
    fragment: Union[Unset, str] = Field(default=UNSET)
    matches: Union[Unset, List[SearchResultTextMatchesItemsPropMatchesItems]] = Field(
        default=UNSET
    )


class SearchResultTextMatchesItemsPropMatchesItems(GitHubRestModel):
    """SearchResultTextMatchesItemsPropMatchesItems"""

    text: Union[Unset, str] = Field(default=UNSET)
    indices: Union[Unset, List[int]] = Field(default=UNSET)


class CodeSearchResultItem(GitHubRestModel):
    """Code Search Result Item

    Code Search Result Item
    """

    name: str = Field(default=...)
    path: str = Field(default=...)
    sha: str = Field(default=...)
    url: str = Field(default=...)
    git_url: str = Field(default=...)
    html_url: str = Field(default=...)
    repository: MinimalRepository = Field(
        title="Minimal Repository", description="Minimal Repository", default=...
    )
    score: float = Field(default=...)
    file_size: Union[Unset, int] = Field(default=UNSET)
    language: Union[Unset, Union[str, None]] = Field(default=UNSET)
    last_modified_at: Union[Unset, datetime] = Field(default=UNSET)
    line_numbers: Union[Unset, List[str]] = Field(default=UNSET)
    text_matches: Union[Unset, List[SearchResultTextMatchesItems]] = Field(
        title="Search Result Text Matches", default=UNSET
    )


class CommitSearchResultItem(GitHubRestModel):
    """Commit Search Result Item

    Commit Search Result Item
    """

    url: str = Field(default=...)
    sha: str = Field(default=...)
    html_url: str = Field(default=...)
    comments_url: str = Field(default=...)
    commit: CommitSearchResultItemPropCommit = Field(default=...)
    author: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    committer: Union[None, GitUser] = Field(
        title="Git User",
        description="Metaproperties for Git author/committer information.",
        default=...,
    )
    parents: List[CommitSearchResultItemPropParentsItems] = Field(default=...)
    repository: MinimalRepository = Field(
        title="Minimal Repository", description="Minimal Repository", default=...
    )
    score: float = Field(default=...)
    node_id: str = Field(default=...)
    text_matches: Union[Unset, List[SearchResultTextMatchesItems]] = Field(
        title="Search Result Text Matches", default=UNSET
    )


class CommitSearchResultItemPropCommit(GitHubRestModel):
    """CommitSearchResultItemPropCommit"""

    author: CommitSearchResultItemPropCommitPropAuthor = Field(default=...)
    committer: Union[None, GitUser] = Field(
        title="Git User",
        description="Metaproperties for Git author/committer information.",
        default=...,
    )
    comment_count: int = Field(default=...)
    message: str = Field(default=...)
    tree: CommitSearchResultItemPropCommitPropTree = Field(default=...)
    url: str = Field(default=...)
    verification: Union[Unset, Verification] = Field(
        title="Verification", default=UNSET
    )


class CommitSearchResultItemPropCommitPropAuthor(GitHubRestModel):
    """CommitSearchResultItemPropCommitPropAuthor"""

    name: str = Field(default=...)
    email: str = Field(default=...)
    date: datetime = Field(default=...)


class CommitSearchResultItemPropCommitPropTree(GitHubRestModel):
    """CommitSearchResultItemPropCommitPropTree"""

    sha: str = Field(default=...)
    url: str = Field(default=...)


class CommitSearchResultItemPropParentsItems(GitHubRestModel):
    """CommitSearchResultItemPropParentsItems"""

    url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    sha: Union[Unset, str] = Field(default=UNSET)


class IssueSearchResultItem(GitHubRestModel):
    """Issue Search Result Item

    Issue Search Result Item
    """

    url: str = Field(default=...)
    repository_url: str = Field(default=...)
    labels_url: str = Field(default=...)
    comments_url: str = Field(default=...)
    events_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(default=...)
    title: str = Field(default=...)
    locked: bool = Field(default=...)
    active_lock_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    assignees: Union[Unset, Union[List[SimpleUser], None]] = Field(default=UNSET)
    user: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    labels: List[IssueSearchResultItemPropLabelsItems] = Field(default=...)
    state: str = Field(default=...)
    state_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    assignee: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    milestone: Union[None, Milestone] = Field(
        title="Milestone",
        description="A collection of related issues and pull requests.",
        default=...,
    )
    comments: int = Field(default=...)
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)
    closed_at: Union[datetime, None] = Field(default=...)
    text_matches: Union[Unset, List[SearchResultTextMatchesItems]] = Field(
        title="Search Result Text Matches", default=UNSET
    )
    pull_request: Union[Unset, IssueSearchResultItemPropPullRequest] = Field(
        default=UNSET
    )
    body: Union[Unset, str] = Field(default=UNSET)
    score: float = Field(default=...)
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="author_association",
        description="How the author is associated with the repository.",
        default=...,
    )
    draft: Union[Unset, bool] = Field(default=UNSET)
    repository: Union[Unset, Repository] = Field(
        title="Repository", description="A git repository", default=UNSET
    )
    body_html: Union[Unset, str] = Field(default=UNSET)
    body_text: Union[Unset, str] = Field(default=UNSET)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    performed_via_github_app: Union[Unset, Union[None, Integration]] = Field(
        title="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.",
        default=UNSET,
    )
    reactions: Union[Unset, ReactionRollup] = Field(
        title="Reaction Rollup", default=UNSET
    )


class IssueSearchResultItemPropLabelsItems(GitHubRestModel):
    """IssueSearchResultItemPropLabelsItems"""

    id: Union[Unset, int] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)
    name: Union[Unset, str] = Field(default=UNSET)
    color: Union[Unset, str] = Field(default=UNSET)
    default: Union[Unset, bool] = Field(default=UNSET)
    description: Union[Unset, Union[str, None]] = Field(default=UNSET)


class IssueSearchResultItemPropPullRequest(GitHubRestModel):
    """IssueSearchResultItemPropPullRequest"""

    merged_at: Union[Unset, Union[datetime, None]] = Field(default=UNSET)
    diff_url: Union[str, None] = Field(default=...)
    html_url: Union[str, None] = Field(default=...)
    patch_url: Union[str, None] = Field(default=...)
    url: Union[str, None] = Field(default=...)


class LabelSearchResultItem(GitHubRestModel):
    """Label Search Result Item

    Label Search Result Item
    """

    id: int = Field(default=...)
    node_id: str = Field(default=...)
    url: str = Field(default=...)
    name: str = Field(default=...)
    color: str = Field(default=...)
    default: bool = Field(default=...)
    description: Union[str, None] = Field(default=...)
    score: float = Field(default=...)
    text_matches: Union[Unset, List[SearchResultTextMatchesItems]] = Field(
        title="Search Result Text Matches", default=UNSET
    )


class RepoSearchResultItem(GitHubRestModel):
    """Repo Search Result Item

    Repo Search Result Item
    """

    id: int = Field(default=...)
    node_id: str = Field(default=...)
    name: str = Field(default=...)
    full_name: str = Field(default=...)
    owner: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    private: bool = Field(default=...)
    html_url: str = Field(default=...)
    description: Union[str, None] = Field(default=...)
    fork: bool = Field(default=...)
    url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)
    pushed_at: datetime = Field(default=...)
    homepage: Union[str, None] = Field(default=...)
    size: int = Field(default=...)
    stargazers_count: int = Field(default=...)
    watchers_count: int = Field(default=...)
    language: Union[str, None] = Field(default=...)
    forks_count: int = Field(default=...)
    open_issues_count: int = Field(default=...)
    master_branch: Union[Unset, str] = Field(default=UNSET)
    default_branch: str = Field(default=...)
    score: float = Field(default=...)
    forks_url: str = Field(default=...)
    keys_url: str = Field(default=...)
    collaborators_url: str = Field(default=...)
    teams_url: str = Field(default=...)
    hooks_url: str = Field(default=...)
    issue_events_url: str = Field(default=...)
    events_url: str = Field(default=...)
    assignees_url: str = Field(default=...)
    branches_url: str = Field(default=...)
    tags_url: str = Field(default=...)
    blobs_url: str = Field(default=...)
    git_tags_url: str = Field(default=...)
    git_refs_url: str = Field(default=...)
    trees_url: str = Field(default=...)
    statuses_url: str = Field(default=...)
    languages_url: str = Field(default=...)
    stargazers_url: str = Field(default=...)
    contributors_url: str = Field(default=...)
    subscribers_url: str = Field(default=...)
    subscription_url: str = Field(default=...)
    commits_url: str = Field(default=...)
    git_commits_url: str = Field(default=...)
    comments_url: str = Field(default=...)
    issue_comment_url: str = Field(default=...)
    contents_url: str = Field(default=...)
    compare_url: str = Field(default=...)
    merges_url: str = Field(default=...)
    archive_url: str = Field(default=...)
    downloads_url: str = Field(default=...)
    issues_url: str = Field(default=...)
    pulls_url: str = Field(default=...)
    milestones_url: str = Field(default=...)
    notifications_url: str = Field(default=...)
    labels_url: str = Field(default=...)
    releases_url: str = Field(default=...)
    deployments_url: str = Field(default=...)
    git_url: str = Field(default=...)
    ssh_url: str = Field(default=...)
    clone_url: str = Field(default=...)
    svn_url: str = Field(default=...)
    forks: int = Field(default=...)
    open_issues: int = Field(default=...)
    watchers: int = Field(default=...)
    topics: Union[Unset, List[str]] = Field(default=UNSET)
    mirror_url: Union[str, None] = Field(default=...)
    has_issues: bool = Field(default=...)
    has_projects: bool = Field(default=...)
    has_pages: bool = Field(default=...)
    has_wiki: bool = Field(default=...)
    has_downloads: bool = Field(default=...)
    archived: bool = Field(default=...)
    disabled: bool = Field(
        description="Returns whether or not this repository disabled.", default=...
    )
    visibility: Union[Unset, str] = Field(
        description="The repository visibility: public, private, or internal.",
        default=UNSET,
    )
    license_: Union[None, LicenseSimple] = Field(
        title="License Simple",
        description="License Simple",
        default=...,
        alias="license",
    )
    permissions: Union[Unset, RepoSearchResultItemPropPermissions] = Field(
        default=UNSET
    )
    text_matches: Union[Unset, List[SearchResultTextMatchesItems]] = Field(
        title="Search Result Text Matches", default=UNSET
    )
    temp_clone_token: Union[Unset, str] = Field(default=UNSET)
    allow_merge_commit: Union[Unset, bool] = Field(default=UNSET)
    allow_squash_merge: Union[Unset, bool] = Field(default=UNSET)
    allow_rebase_merge: Union[Unset, bool] = Field(default=UNSET)
    allow_auto_merge: Union[Unset, bool] = Field(default=UNSET)
    delete_branch_on_merge: Union[Unset, bool] = Field(default=UNSET)
    allow_forking: Union[Unset, bool] = Field(default=UNSET)
    is_template: Union[Unset, bool] = Field(default=UNSET)
    web_commit_signoff_required: Union[Unset, bool] = Field(default=UNSET)


class RepoSearchResultItemPropPermissions(GitHubRestModel):
    """RepoSearchResultItemPropPermissions"""

    admin: bool = Field(default=...)
    maintain: Union[Unset, bool] = Field(default=UNSET)
    push: bool = Field(default=...)
    triage: Union[Unset, bool] = Field(default=UNSET)
    pull: bool = Field(default=...)


class TopicSearchResultItem(GitHubRestModel):
    """Topic Search Result Item

    Topic Search Result Item
    """

    name: str = Field(default=...)
    display_name: Union[str, None] = Field(default=...)
    short_description: Union[str, None] = Field(default=...)
    description: Union[str, None] = Field(default=...)
    created_by: Union[str, None] = Field(default=...)
    released: Union[str, None] = Field(default=...)
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)
    featured: bool = Field(default=...)
    curated: bool = Field(default=...)
    score: float = Field(default=...)
    repository_count: Union[Unset, Union[int, None]] = Field(default=UNSET)
    logo_url: Union[Unset, Union[str, None]] = Field(default=UNSET)
    text_matches: Union[Unset, List[SearchResultTextMatchesItems]] = Field(
        title="Search Result Text Matches", default=UNSET
    )
    related: Union[
        Unset, Union[List[TopicSearchResultItemPropRelatedItems], None]
    ] = Field(default=UNSET)
    aliases: Union[
        Unset, Union[List[TopicSearchResultItemPropAliasesItems], None]
    ] = Field(default=UNSET)


class TopicSearchResultItemPropRelatedItems(GitHubRestModel):
    """TopicSearchResultItemPropRelatedItems"""

    topic_relation: Union[
        Unset, TopicSearchResultItemPropRelatedItemsPropTopicRelation
    ] = Field(default=UNSET)


class TopicSearchResultItemPropRelatedItemsPropTopicRelation(GitHubRestModel):
    """TopicSearchResultItemPropRelatedItemsPropTopicRelation"""

    id: Union[Unset, int] = Field(default=UNSET)
    name: Union[Unset, str] = Field(default=UNSET)
    topic_id: Union[Unset, int] = Field(default=UNSET)
    relation_type: Union[Unset, str] = Field(default=UNSET)


class TopicSearchResultItemPropAliasesItems(GitHubRestModel):
    """TopicSearchResultItemPropAliasesItems"""

    topic_relation: Union[
        Unset, TopicSearchResultItemPropAliasesItemsPropTopicRelation
    ] = Field(default=UNSET)


class TopicSearchResultItemPropAliasesItemsPropTopicRelation(GitHubRestModel):
    """TopicSearchResultItemPropAliasesItemsPropTopicRelation"""

    id: Union[Unset, int] = Field(default=UNSET)
    name: Union[Unset, str] = Field(default=UNSET)
    topic_id: Union[Unset, int] = Field(default=UNSET)
    relation_type: Union[Unset, str] = Field(default=UNSET)


class UserSearchResultItem(GitHubRestModel):
    """User Search Result Item

    User Search Result Item
    """

    login: str = Field(default=...)
    id: int = Field(default=...)
    node_id: str = Field(default=...)
    avatar_url: str = Field(default=...)
    gravatar_id: Union[str, None] = Field(default=...)
    url: str = Field(default=...)
    html_url: str = Field(default=...)
    followers_url: str = Field(default=...)
    subscriptions_url: str = Field(default=...)
    organizations_url: str = Field(default=...)
    repos_url: str = Field(default=...)
    received_events_url: str = Field(default=...)
    type: str = Field(default=...)
    score: float = Field(default=...)
    following_url: str = Field(default=...)
    gists_url: str = Field(default=...)
    starred_url: str = Field(default=...)
    events_url: str = Field(default=...)
    public_repos: Union[Unset, int] = Field(default=UNSET)
    public_gists: Union[Unset, int] = Field(default=UNSET)
    followers: Union[Unset, int] = Field(default=UNSET)
    following: Union[Unset, int] = Field(default=UNSET)
    created_at: Union[Unset, datetime] = Field(default=UNSET)
    updated_at: Union[Unset, datetime] = Field(default=UNSET)
    name: Union[Unset, Union[str, None]] = Field(default=UNSET)
    bio: Union[Unset, Union[str, None]] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    location: Union[Unset, Union[str, None]] = Field(default=UNSET)
    site_admin: bool = Field(default=...)
    hireable: Union[Unset, Union[bool, None]] = Field(default=UNSET)
    text_matches: Union[Unset, List[SearchResultTextMatchesItems]] = Field(
        title="Search Result Text Matches", default=UNSET
    )
    blog: Union[Unset, Union[str, None]] = Field(default=UNSET)
    company: Union[Unset, Union[str, None]] = Field(default=UNSET)
    suspended_at: Union[Unset, Union[datetime, None]] = Field(default=UNSET)


class PrivateUser(GitHubRestModel):
    """Private User

    Private User
    """

    login: str = Field(default=...)
    id: int = Field(default=...)
    node_id: str = Field(default=...)
    avatar_url: str = Field(default=...)
    gravatar_id: Union[str, None] = Field(default=...)
    url: str = Field(default=...)
    html_url: str = Field(default=...)
    followers_url: str = Field(default=...)
    following_url: str = Field(default=...)
    gists_url: str = Field(default=...)
    starred_url: str = Field(default=...)
    subscriptions_url: str = Field(default=...)
    organizations_url: str = Field(default=...)
    repos_url: str = Field(default=...)
    events_url: str = Field(default=...)
    received_events_url: str = Field(default=...)
    type: str = Field(default=...)
    site_admin: bool = Field(default=...)
    name: Union[str, None] = Field(default=...)
    company: Union[str, None] = Field(default=...)
    blog: Union[str, None] = Field(default=...)
    location: Union[str, None] = Field(default=...)
    email: Union[str, None] = Field(default=...)
    hireable: Union[bool, None] = Field(default=...)
    bio: Union[str, None] = Field(default=...)
    twitter_username: Union[Unset, Union[str, None]] = Field(default=UNSET)
    public_repos: int = Field(default=...)
    public_gists: int = Field(default=...)
    followers: int = Field(default=...)
    following: int = Field(default=...)
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)
    private_gists: int = Field(default=...)
    total_private_repos: int = Field(default=...)
    owned_private_repos: int = Field(default=...)
    disk_usage: int = Field(default=...)
    collaborators: int = Field(default=...)
    two_factor_authentication: bool = Field(default=...)
    plan: Union[Unset, PrivateUserPropPlan] = Field(default=UNSET)
    suspended_at: Union[Unset, Union[datetime, None]] = Field(default=UNSET)
    business_plus: Union[Unset, bool] = Field(default=UNSET)
    ldap_dn: Union[Unset, str] = Field(default=UNSET)


class PrivateUserPropPlan(GitHubRestModel):
    """PrivateUserPropPlan"""

    collaborators: int = Field(default=...)
    name: str = Field(default=...)
    space: int = Field(default=...)
    private_repos: int = Field(default=...)


class CodespacesSecret(GitHubRestModel):
    """Codespaces Secret

    Secrets for a GitHub Codespace.
    """

    name: str = Field(description="The name of the secret", default=...)
    created_at: datetime = Field(
        description="The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ.",
        default=...,
    )
    updated_at: datetime = Field(
        description="The date and time at which the secret was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ.",
        default=...,
    )
    visibility: Literal["all", "private", "selected"] = Field(
        description="The type of repositories in the organization that the secret is visible to",
        default=...,
    )
    selected_repositories_url: str = Field(
        description="The API URL at which the list of repositories this secret is visible to can be retrieved",
        default=...,
    )


class CodespacesUserPublicKey(GitHubRestModel):
    """CodespacesUserPublicKey

    The public key used for setting user Codespaces' Secrets.
    """

    key_id: str = Field(description="The identifier for the key.", default=...)
    key: str = Field(description="The Base64 encoded public key.", default=...)


class CodespaceExportDetails(GitHubRestModel):
    """Fetches information about an export of a codespace.

    An export of a codespace. Also, latest export details for a codespace can be
    fetched with id = latest
    """

    state: Union[Unset, Union[str, None]] = Field(
        description="State of the latest export", default=UNSET
    )
    completed_at: Union[Unset, Union[datetime, None]] = Field(
        description="Completion time of the last export operation", default=UNSET
    )
    branch: Union[Unset, Union[str, None]] = Field(
        description="Name of the exported branch", default=UNSET
    )
    sha: Union[Unset, Union[str, None]] = Field(
        description="Git commit SHA of the exported branch", default=UNSET
    )
    id: Union[Unset, str] = Field(
        description="Id for the export details", default=UNSET
    )
    export_url: Union[Unset, str] = Field(
        description="Url for fetching export details", default=UNSET
    )
    html_url: Union[Unset, Union[str, None]] = Field(
        description="Web url for the exported branch", default=UNSET
    )


class Email(GitHubRestModel):
    """Email

    Email
    """

    email: str = Field(default=...)
    primary: bool = Field(default=...)
    verified: bool = Field(default=...)
    visibility: Union[str, None] = Field(default=...)


class GpgKey(GitHubRestModel):
    """GPG Key

    A unique encryption key
    """

    id: int = Field(default=...)
    name: Union[Unset, Union[str, None]] = Field(default=UNSET)
    primary_key_id: Union[int, None] = Field(default=...)
    key_id: str = Field(default=...)
    public_key: str = Field(default=...)
    emails: List[GpgKeyPropEmailsItems] = Field(default=...)
    subkeys: List[GpgKeyPropSubkeysItems] = Field(default=...)
    can_sign: bool = Field(default=...)
    can_encrypt_comms: bool = Field(default=...)
    can_encrypt_storage: bool = Field(default=...)
    can_certify: bool = Field(default=...)
    created_at: datetime = Field(default=...)
    expires_at: Union[datetime, None] = Field(default=...)
    revoked: bool = Field(default=...)
    raw_key: Union[str, None] = Field(default=...)


class GpgKeyPropEmailsItems(GitHubRestModel):
    """GpgKeyPropEmailsItems"""

    email: Union[Unset, str] = Field(default=UNSET)
    verified: Union[Unset, bool] = Field(default=UNSET)


class GpgKeyPropSubkeysItems(GitHubRestModel):
    """GpgKeyPropSubkeysItems"""

    id: Union[Unset, int] = Field(default=UNSET)
    primary_key_id: Union[Unset, int] = Field(default=UNSET)
    key_id: Union[Unset, str] = Field(default=UNSET)
    public_key: Union[Unset, str] = Field(default=UNSET)
    emails: Union[Unset, List[Any]] = Field(default=UNSET)
    subkeys: Union[Unset, List[Any]] = Field(default=UNSET)
    can_sign: Union[Unset, bool] = Field(default=UNSET)
    can_encrypt_comms: Union[Unset, bool] = Field(default=UNSET)
    can_encrypt_storage: Union[Unset, bool] = Field(default=UNSET)
    can_certify: Union[Unset, bool] = Field(default=UNSET)
    created_at: Union[Unset, str] = Field(default=UNSET)
    expires_at: Union[Unset, Union[str, None]] = Field(default=UNSET)
    raw_key: Union[Unset, Union[str, None]] = Field(default=UNSET)
    revoked: Union[Unset, bool] = Field(default=UNSET)


class Key(GitHubRestModel):
    """Key

    Key
    """

    key: str = Field(default=...)
    id: int = Field(default=...)
    url: str = Field(default=...)
    title: str = Field(default=...)
    created_at: datetime = Field(default=...)
    verified: bool = Field(default=...)
    read_only: bool = Field(default=...)


class MarketplaceAccount(GitHubRestModel):
    """Marketplace Account"""

    url: str = Field(default=...)
    id: int = Field(default=...)
    type: str = Field(default=...)
    node_id: Union[Unset, str] = Field(default=UNSET)
    login: str = Field(default=...)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    organization_billing_email: Union[Unset, Union[str, None]] = Field(default=UNSET)


class UserMarketplacePurchase(GitHubRestModel):
    """User Marketplace Purchase

    User Marketplace Purchase
    """

    billing_cycle: str = Field(default=...)
    next_billing_date: Union[datetime, None] = Field(default=...)
    unit_count: Union[int, None] = Field(default=...)
    on_free_trial: bool = Field(default=...)
    free_trial_ends_on: Union[datetime, None] = Field(default=...)
    updated_at: Union[datetime, None] = Field(default=...)
    account: MarketplaceAccount = Field(title="Marketplace Account", default=...)
    plan: MarketplaceListingPlan = Field(
        title="Marketplace Listing Plan",
        description="Marketplace Listing Plan",
        default=...,
    )


class SshSigningKey(GitHubRestModel):
    """SSH Signing Key

    A public SSH key used to sign Git commits
    """

    key: str = Field(default=...)
    id: int = Field(default=...)
    title: str = Field(default=...)
    created_at: datetime = Field(default=...)


class StarredRepository(GitHubRestModel):
    """Starred Repository

    Starred Repository
    """

    starred_at: datetime = Field(default=...)
    repo: Repository = Field(
        title="Repository", description="A git repository", default=...
    )


class Hovercard(GitHubRestModel):
    """Hovercard

    Hovercard
    """

    contexts: List[HovercardPropContextsItems] = Field(default=...)


class HovercardPropContextsItems(GitHubRestModel):
    """HovercardPropContextsItems"""

    message: str = Field(default=...)
    octicon: str = Field(default=...)


class KeySimple(GitHubRestModel):
    """Key Simple

    Key Simple
    """

    id: int = Field(default=...)
    key: str = Field(default=...)


class SimpleInstallation(GitHubRestModel):
    """Simple Installation

    Simple Installation
    """

    id: int = Field(description="The ID of the installation.", default=...)
    node_id: str = Field(
        description="The global node ID of the installation.", default=...
    )


class WebhookBranchProtectionRuleCreated(GitHubRestModel):
    """branch protection rule created event"""

    action: Literal["created"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    rule: WebhookBranchProtectionRuleCreatedPropRule = Field(
        title="branch protection rule",
        description="The branch protection rule. Includes a `name` and all the [branch protection settings](https://docs.github.com/en/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.",
        default=...,
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookBranchProtectionRuleCreatedPropRule(GitHubRestModel):
    """branch protection rule

    The branch protection rule. Includes a `name` and all the [branch protection
    settings](https://docs.github.com/en/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.
    """

    admin_enforced: bool = Field(default=...)
    allow_deletions_enforcement_level: Literal["off", "non_admins", "everyone"] = Field(
        default=...
    )
    allow_force_pushes_enforcement_level: Literal[
        "off", "non_admins", "everyone"
    ] = Field(default=...)
    authorized_actor_names: List[str] = Field(default=...)
    authorized_actors_only: bool = Field(default=...)
    authorized_dismissal_actors_only: bool = Field(default=...)
    create_protected: Union[Unset, bool] = Field(default=UNSET)
    created_at: datetime = Field(default=...)
    dismiss_stale_reviews_on_push: bool = Field(default=...)
    id: int = Field(default=...)
    ignore_approvals_from_contributors: bool = Field(default=...)
    linear_history_requirement_enforcement_level: Literal[
        "off", "non_admins", "everyone"
    ] = Field(default=...)
    merge_queue_enforcement_level: Literal["off", "non_admins", "everyone"] = Field(
        default=...
    )
    name: str = Field(default=...)
    pull_request_reviews_enforcement_level: Literal[
        "off", "non_admins", "everyone"
    ] = Field(default=...)
    repository_id: int = Field(default=...)
    require_code_owner_review: bool = Field(default=...)
    required_approving_review_count: int = Field(default=...)
    required_conversation_resolution_level: Literal[
        "off", "non_admins", "everyone"
    ] = Field(default=...)
    required_deployments_enforcement_level: Literal[
        "off", "non_admins", "everyone"
    ] = Field(default=...)
    required_status_checks: List[str] = Field(default=...)
    required_status_checks_enforcement_level: Literal[
        "off", "non_admins", "everyone"
    ] = Field(default=...)
    signature_requirement_enforcement_level: Literal[
        "off", "non_admins", "everyone"
    ] = Field(default=...)
    strict_required_status_checks_policy: bool = Field(default=...)
    updated_at: datetime = Field(default=...)


class WebhookBranchProtectionRuleDeleted(GitHubRestModel):
    """branch protection rule deleted event"""

    action: Literal["deleted"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    rule: WebhookBranchProtectionRuleDeletedPropRule = Field(
        title="branch protection rule",
        description="The branch protection rule. Includes a `name` and all the [branch protection settings](https://docs.github.com/en/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.",
        default=...,
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookBranchProtectionRuleDeletedPropRule(GitHubRestModel):
    """branch protection rule

    The branch protection rule. Includes a `name` and all the [branch protection
    settings](https://docs.github.com/en/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.
    """

    admin_enforced: bool = Field(default=...)
    allow_deletions_enforcement_level: Literal["off", "non_admins", "everyone"] = Field(
        default=...
    )
    allow_force_pushes_enforcement_level: Literal[
        "off", "non_admins", "everyone"
    ] = Field(default=...)
    authorized_actor_names: List[str] = Field(default=...)
    authorized_actors_only: bool = Field(default=...)
    authorized_dismissal_actors_only: bool = Field(default=...)
    create_protected: Union[Unset, bool] = Field(default=UNSET)
    created_at: datetime = Field(default=...)
    dismiss_stale_reviews_on_push: bool = Field(default=...)
    id: int = Field(default=...)
    ignore_approvals_from_contributors: bool = Field(default=...)
    linear_history_requirement_enforcement_level: Literal[
        "off", "non_admins", "everyone"
    ] = Field(default=...)
    merge_queue_enforcement_level: Literal["off", "non_admins", "everyone"] = Field(
        default=...
    )
    name: str = Field(default=...)
    pull_request_reviews_enforcement_level: Literal[
        "off", "non_admins", "everyone"
    ] = Field(default=...)
    repository_id: int = Field(default=...)
    require_code_owner_review: bool = Field(default=...)
    required_approving_review_count: int = Field(default=...)
    required_conversation_resolution_level: Literal[
        "off", "non_admins", "everyone"
    ] = Field(default=...)
    required_deployments_enforcement_level: Literal[
        "off", "non_admins", "everyone"
    ] = Field(default=...)
    required_status_checks: List[str] = Field(default=...)
    required_status_checks_enforcement_level: Literal[
        "off", "non_admins", "everyone"
    ] = Field(default=...)
    signature_requirement_enforcement_level: Literal[
        "off", "non_admins", "everyone"
    ] = Field(default=...)
    strict_required_status_checks_policy: bool = Field(default=...)
    updated_at: datetime = Field(default=...)


class WebhookBranchProtectionRuleEdited(GitHubRestModel):
    """branch protection rule edited event"""

    action: Literal["edited"] = Field(default=...)
    changes: Union[Unset, WebhookBranchProtectionRuleEditedPropChanges] = Field(
        description="If the action was `edited`, the changes to the rule.",
        default=UNSET,
    )
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    rule: WebhookBranchProtectionRuleEditedPropRule = Field(
        title="branch protection rule",
        description="The branch protection rule. Includes a `name` and all the [branch protection settings](https://docs.github.com/en/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.",
        default=...,
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookBranchProtectionRuleEditedPropChanges(GitHubRestModel):
    """WebhookBranchProtectionRuleEditedPropChanges

    If the action was `edited`, the changes to the rule.
    """

    admin_enforced: Union[
        Unset, WebhookBranchProtectionRuleEditedPropChangesPropAdminEnforced
    ] = Field(default=UNSET)
    authorized_actor_names: Union[
        Unset, WebhookBranchProtectionRuleEditedPropChangesPropAuthorizedActorNames
    ] = Field(default=UNSET)
    authorized_actors_only: Union[
        Unset, WebhookBranchProtectionRuleEditedPropChangesPropAuthorizedActorsOnly
    ] = Field(default=UNSET)
    authorized_dismissal_actors_only: Union[
        Unset,
        WebhookBranchProtectionRuleEditedPropChangesPropAuthorizedDismissalActorsOnly,
    ] = Field(default=UNSET)
    linear_history_requirement_enforcement_level: Union[
        Unset,
        WebhookBranchProtectionRuleEditedPropChangesPropLinearHistoryRequirementEnforcementLevel,
    ] = Field(default=UNSET)
    required_status_checks: Union[
        Unset, WebhookBranchProtectionRuleEditedPropChangesPropRequiredStatusChecks
    ] = Field(default=UNSET)
    required_status_checks_enforcement_level: Union[
        Unset,
        WebhookBranchProtectionRuleEditedPropChangesPropRequiredStatusChecksEnforcementLevel,
    ] = Field(default=UNSET)


class WebhookBranchProtectionRuleEditedPropChangesPropAdminEnforced(GitHubRestModel):
    """WebhookBranchProtectionRuleEditedPropChangesPropAdminEnforced"""

    from_: Union[bool, None] = Field(default=..., alias="from")


class WebhookBranchProtectionRuleEditedPropChangesPropAuthorizedActorNames(
    GitHubRestModel
):
    """WebhookBranchProtectionRuleEditedPropChangesPropAuthorizedActorNames"""

    from_: List[str] = Field(default=..., alias="from")


class WebhookBranchProtectionRuleEditedPropChangesPropAuthorizedActorsOnly(
    GitHubRestModel
):
    """WebhookBranchProtectionRuleEditedPropChangesPropAuthorizedActorsOnly"""

    from_: Union[bool, None] = Field(default=..., alias="from")


class WebhookBranchProtectionRuleEditedPropChangesPropAuthorizedDismissalActorsOnly(
    GitHubRestModel
):
    """WebhookBranchProtectionRuleEditedPropChangesPropAuthorizedDismissalActorsOnly"""

    from_: Union[bool, None] = Field(default=..., alias="from")


class WebhookBranchProtectionRuleEditedPropChangesPropLinearHistoryRequirementEnforcementLevel(
    GitHubRestModel
):
    """WebhookBranchProtectionRuleEditedPropChangesPropLinearHistoryRequirementEnforcem
    entLevel
    """

    from_: Literal["off", "non_admins", "everyone"] = Field(default=..., alias="from")


class WebhookBranchProtectionRuleEditedPropChangesPropRequiredStatusChecks(
    GitHubRestModel
):
    """WebhookBranchProtectionRuleEditedPropChangesPropRequiredStatusChecks"""

    from_: List[str] = Field(default=..., alias="from")


class WebhookBranchProtectionRuleEditedPropChangesPropRequiredStatusChecksEnforcementLevel(
    GitHubRestModel
):
    """WebhookBranchProtectionRuleEditedPropChangesPropRequiredStatusChecksEnforcementL
    evel
    """

    from_: Literal["off", "non_admins", "everyone"] = Field(default=..., alias="from")


class WebhookBranchProtectionRuleEditedPropRule(GitHubRestModel):
    """branch protection rule

    The branch protection rule. Includes a `name` and all the [branch protection
    settings](https://docs.github.com/en/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.
    """

    admin_enforced: bool = Field(default=...)
    allow_deletions_enforcement_level: Literal["off", "non_admins", "everyone"] = Field(
        default=...
    )
    allow_force_pushes_enforcement_level: Literal[
        "off", "non_admins", "everyone"
    ] = Field(default=...)
    authorized_actor_names: List[str] = Field(default=...)
    authorized_actors_only: bool = Field(default=...)
    authorized_dismissal_actors_only: bool = Field(default=...)
    create_protected: Union[Unset, bool] = Field(default=UNSET)
    created_at: datetime = Field(default=...)
    dismiss_stale_reviews_on_push: bool = Field(default=...)
    id: int = Field(default=...)
    ignore_approvals_from_contributors: bool = Field(default=...)
    linear_history_requirement_enforcement_level: Literal[
        "off", "non_admins", "everyone"
    ] = Field(default=...)
    merge_queue_enforcement_level: Literal["off", "non_admins", "everyone"] = Field(
        default=...
    )
    name: str = Field(default=...)
    pull_request_reviews_enforcement_level: Literal[
        "off", "non_admins", "everyone"
    ] = Field(default=...)
    repository_id: int = Field(default=...)
    require_code_owner_review: bool = Field(default=...)
    required_approving_review_count: int = Field(default=...)
    required_conversation_resolution_level: Literal[
        "off", "non_admins", "everyone"
    ] = Field(default=...)
    required_deployments_enforcement_level: Literal[
        "off", "non_admins", "everyone"
    ] = Field(default=...)
    required_status_checks: List[str] = Field(default=...)
    required_status_checks_enforcement_level: Literal[
        "off", "non_admins", "everyone"
    ] = Field(default=...)
    signature_requirement_enforcement_level: Literal[
        "off", "non_admins", "everyone"
    ] = Field(default=...)
    strict_required_status_checks_policy: bool = Field(default=...)
    updated_at: datetime = Field(default=...)


class WebhookDependabotAlertCreated(GitHubRestModel):
    """Dependabot alert created event"""

    action: Literal["created"] = Field(default=...)
    alert: DependabotAlert = Field(description="A Dependabot alert.", default=...)
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookDependabotAlertDismissed(GitHubRestModel):
    """Dependabot alert dismissed event"""

    action: Literal["dismissed"] = Field(default=...)
    alert: DependabotAlert = Field(description="A Dependabot alert.", default=...)
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookDependabotAlertFixed(GitHubRestModel):
    """Dependabot alert fixed event"""

    action: Literal["fixed"] = Field(default=...)
    alert: DependabotAlert = Field(description="A Dependabot alert.", default=...)
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookDependabotAlertReintroduced(GitHubRestModel):
    """Dependabot alert reintroduced event"""

    action: Literal["reintroduced"] = Field(default=...)
    alert: DependabotAlert = Field(description="A Dependabot alert.", default=...)
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookDependabotAlertReopened(GitHubRestModel):
    """Dependabot alert reopened event"""

    action: Literal["reopened"] = Field(default=...)
    alert: DependabotAlert = Field(description="A Dependabot alert.", default=...)
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookGollum(GitHubRestModel):
    """gollum event

    A wiki page is created or updated.
    """

    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    pages: List[WebhookGollumPropPagesItems] = Field(
        description="The pages that were updated.", default=...
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookGollumPropPagesItems(GitHubRestModel):
    """WebhookGollumPropPagesItems"""

    action: Literal["created", "edited"] = Field(
        description="The action that was performed on the page. Can be `created` or `edited`.",
        default=...,
    )
    html_url: str = Field(description="Points to the HTML wiki page.", default=...)
    page_name: str = Field(description="The name of the page.", default=...)
    sha: str = Field(description="The latest commit SHA of the page.", default=...)
    summary: Union[str, None] = Field(default=...)
    title: str = Field(description="The current page title.", default=...)


class WebhookIssueCommentCreated(GitHubRestModel):
    """issue_comment created event"""

    action: Literal["created"] = Field(default=...)
    comment: WebhookIssueCommentCreatedPropComment = Field(
        title="issue comment",
        description="The [comment](https://docs.github.com/en/rest/reference/issues#comments) itself.",
        default=...,
    )
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    issue: WebhookIssueCommentCreatedPropIssue = Field(
        description="The [issue](https://docs.github.com/en/rest/reference/issues) the comment belongs to.",
        default=...,
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookIssueCommentCreatedPropComment(GitHubRestModel):
    """issue comment

    The [comment](https://docs.github.com/en/rest/reference/issues#comments) itself.
    """

    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="AuthorAssociation",
        description="How the author is associated with the repository.",
        default=...,
    )
    body: str = Field(description="Contents of the issue comment", default=...)
    created_at: datetime = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(description="Unique identifier of the issue comment", default=...)
    issue_url: str = Field(default=...)
    node_id: str = Field(default=...)
    performed_via_github_app: Union[None, Integration] = Field(
        title="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.",
        default=...,
    )
    reactions: WebhookIssueCommentCreatedPropCommentPropReactions = Field(
        title="Reactions", default=...
    )
    updated_at: datetime = Field(default=...)
    url: str = Field(description="URL for the issue comment", default=...)
    user: Union[WebhookIssueCommentCreatedPropCommentPropUser, None] = Field(
        title="User", default=...
    )


class WebhookIssueCommentCreatedPropCommentPropReactions(GitHubRestModel):
    """Reactions"""

    plus_one: int = Field(default=..., alias="+1")
    minus_one: int = Field(default=..., alias="-1")
    confused: int = Field(default=...)
    eyes: int = Field(default=...)
    heart: int = Field(default=...)
    hooray: int = Field(default=...)
    laugh: int = Field(default=...)
    rocket: int = Field(default=...)
    total_count: int = Field(default=...)
    url: str = Field(default=...)


class WebhookIssueCommentCreatedPropCommentPropUser(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssueCommentCreatedPropIssue(GitHubRestModel):
    """WebhookIssueCommentCreatedPropIssue

    The [issue](https://docs.github.com/en/rest/reference/issues) the comment
    belongs to.
    """

    active_lock_reason: Union[
        Literal["resolved", "off-topic", "too heated", "spam"], None
    ] = Field(default=...)
    assignee: Union[
        Union[WebhookIssueCommentCreatedPropIssueAllof0PropAssignee, None], None
    ] = Field(title="User", default=...)
    assignees: List[WebhookIssueCommentCreatedPropIssueMergedAssignees] = Field(
        default=...
    )
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="AuthorAssociation",
        description="How the author is associated with the repository.",
        default=...,
    )
    body: Union[Union[str, None], None] = Field(
        description="Contents of the issue", default=...
    )
    closed_at: Union[Union[datetime, None], None] = Field(default=...)
    comments: int = Field(default=...)
    comments_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    draft: Union[Unset, bool] = Field(default=UNSET)
    events_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels: List[WebhookIssueCommentCreatedPropIssueAllof0PropLabelsItems] = Field(
        default=...
    )
    labels_url: str = Field(default=...)
    locked: bool = Field(default=...)
    milestone: Union[WebhookIssueCommentCreatedPropIssueMergedMilestone, None] = Field(
        default=...
    )
    node_id: str = Field(default=...)
    number: int = Field(default=...)
    performed_via_github_app: Union[
        Unset,
        Union[WebhookIssueCommentCreatedPropIssueMergedPerformedViaGithubApp, None],
    ] = Field(default=UNSET)
    pull_request: Union[
        Unset, WebhookIssueCommentCreatedPropIssueAllof0PropPullRequest
    ] = Field(default=UNSET)
    reactions: WebhookIssueCommentCreatedPropIssueMergedReactions = Field(default=...)
    repository_url: str = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="State of the issue; either 'open' or 'closed'", default=...
    )
    state_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: str = Field(description="Title of the issue", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(description="URL for the issue", default=...)
    user: WebhookIssueCommentCreatedPropIssueMergedUser = Field(default=...)


class WebhookIssueCommentCreatedPropIssueAllof0(GitHubRestModel):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ] = Field(default=...)
    assignee: Union[
        Unset, Union[WebhookIssueCommentCreatedPropIssueAllof0PropAssignee, None]
    ] = Field(title="User", default=UNSET)
    assignees: List[
        Union[WebhookIssueCommentCreatedPropIssueAllof0PropAssigneesItems, None]
    ] = Field(default=...)
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="AuthorAssociation",
        description="How the author is associated with the repository.",
        default=...,
    )
    body: Union[str, None] = Field(description="Contents of the issue", default=...)
    closed_at: Union[datetime, None] = Field(default=...)
    comments: int = Field(default=...)
    comments_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    draft: Union[Unset, bool] = Field(default=UNSET)
    events_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels: Union[
        Unset, List[WebhookIssueCommentCreatedPropIssueAllof0PropLabelsItems]
    ] = Field(default=UNSET)
    labels_url: str = Field(default=...)
    locked: Union[Unset, bool] = Field(default=UNSET)
    milestone: Union[
        WebhookIssueCommentCreatedPropIssueAllof0PropMilestone, None
    ] = Field(
        title="Milestone",
        description="A collection of related issues and pull requests.",
        default=...,
    )
    node_id: str = Field(default=...)
    number: int = Field(default=...)
    performed_via_github_app: Union[
        Unset,
        Union[WebhookIssueCommentCreatedPropIssueAllof0PropPerformedViaGithubApp, None],
    ] = Field(
        title="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.",
        default=UNSET,
    )
    pull_request: Union[
        Unset, WebhookIssueCommentCreatedPropIssueAllof0PropPullRequest
    ] = Field(default=UNSET)
    reactions: WebhookIssueCommentCreatedPropIssueAllof0PropReactions = Field(
        title="Reactions", default=...
    )
    repository_url: str = Field(default=...)
    state: Union[Unset, Literal["open", "closed"]] = Field(
        description="State of the issue; either 'open' or 'closed'", default=UNSET
    )
    state_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: str = Field(description="Title of the issue", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(description="URL for the issue", default=...)
    user: Union[WebhookIssueCommentCreatedPropIssueAllof0PropUser, None] = Field(
        title="User", default=...
    )


class WebhookIssueCommentCreatedPropIssueAllof0PropAssignee(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssueCommentCreatedPropIssueAllof0PropAssigneesItems(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssueCommentCreatedPropIssueAllof0PropLabelsItems(GitHubRestModel):
    """Label"""

    color: str = Field(
        description="6-character hex code, without the leading #, identifying the color",
        default=...,
    )
    default: bool = Field(default=...)
    description: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="The name of the label.", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the label", default=...)


class WebhookIssueCommentCreatedPropIssueAllof0PropMilestonePropCreator(
    GitHubRestModel
):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssueCommentCreatedPropIssueAllof0PropMilestone(GitHubRestModel):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None] = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[
        WebhookIssueCommentCreatedPropIssueAllof0PropMilestonePropCreator, None
    ] = Field(title="User", default=...)
    description: Union[str, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    open_issues: int = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default=...
    )
    title: str = Field(description="The title of the milestone.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookIssueCommentCreatedPropIssueAllof0PropPerformedViaGithubAppPropOwner(
    GitHubRestModel
):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssueCommentCreatedPropIssueAllof0PropPerformedViaGithubAppPropPermissions(
    GitHubRestModel
):
    """WebhookIssueCommentCreatedPropIssueAllof0PropPerformedViaGithubAppPropPermission
    s

    The set of permissions for the GitHub app
    """

    actions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    administration: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    checks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    content_references: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    contents: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    deployments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    emails: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    environments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    issues: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    keys: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    members: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    metadata: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_administration: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_plan: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_projects: Union[Unset, Literal["read", "write", "admin"]] = Field(
        default=UNSET
    )
    organization_secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_self_hosted_runners: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_user_blocking: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pull_requests: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_projects: Union[Unset, Literal["read", "write", "admin"]] = Field(
        default=UNSET
    )
    secret_scanning_alerts: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_events: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_scanning_alert: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    single_file: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    statuses: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    team_discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    vulnerability_alerts: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    workflows: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)


class WebhookIssueCommentCreatedPropIssueAllof0PropPerformedViaGithubApp(
    GitHubRestModel
):
    """App

    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.
    """

    created_at: Union[datetime, None] = Field(default=...)
    description: Union[str, None] = Field(default=...)
    events: Union[
        Unset,
        List[
            Literal[
                "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",
            ]
        ],
    ] = Field(description="The list of events for the GitHub app", default=UNSET)
    external_url: Union[str, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: Union[int, None] = Field(
        description="Unique identifier of the GitHub app", default=...
    )
    name: str = Field(description="The name of the GitHub app", default=...)
    node_id: str = Field(default=...)
    owner: Union[
        WebhookIssueCommentCreatedPropIssueAllof0PropPerformedViaGithubAppPropOwner,
        None,
    ] = Field(title="User", default=...)
    permissions: Union[
        Unset,
        WebhookIssueCommentCreatedPropIssueAllof0PropPerformedViaGithubAppPropPermissions,
    ] = Field(description="The set of permissions for the GitHub app", default=UNSET)
    slug: Union[Unset, str] = Field(
        description="The slug name of the GitHub app", default=UNSET
    )
    updated_at: Union[datetime, None] = Field(default=...)


class WebhookIssueCommentCreatedPropIssueAllof0PropPullRequest(GitHubRestModel):
    """WebhookIssueCommentCreatedPropIssueAllof0PropPullRequest"""

    diff_url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    merged_at: Union[Unset, Union[datetime, None]] = Field(default=UNSET)
    patch_url: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssueCommentCreatedPropIssueAllof0PropReactions(GitHubRestModel):
    """Reactions"""

    plus_one: int = Field(default=..., alias="+1")
    minus_one: int = Field(default=..., alias="-1")
    confused: int = Field(default=...)
    eyes: int = Field(default=...)
    heart: int = Field(default=...)
    hooray: int = Field(default=...)
    laugh: int = Field(default=...)
    rocket: int = Field(default=...)
    total_count: int = Field(default=...)
    url: str = Field(default=...)


class WebhookIssueCommentCreatedPropIssueAllof0PropUser(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssueCommentCreatedPropIssueAllof1(GitHubRestModel):
    """WebhookIssueCommentCreatedPropIssueAllof1"""

    active_lock_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    assignee: Union[
        WebhookIssueCommentCreatedPropIssueAllof1PropAssignee, None
    ] = Field(title="User", default=...)
    assignees: Union[
        Unset,
        List[Union[WebhookIssueCommentCreatedPropIssueAllof1PropAssigneesItems, None]],
    ] = Field(default=UNSET)
    author_association: Union[Unset, str] = Field(default=UNSET)
    body: Union[Unset, Union[str, None]] = Field(default=UNSET)
    closed_at: Union[Unset, Union[str, None]] = Field(default=UNSET)
    comments: Union[Unset, int] = Field(default=UNSET)
    comments_url: Union[Unset, str] = Field(default=UNSET)
    created_at: Union[Unset, str] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: Union[Unset, int] = Field(default=UNSET)
    labels: List[WebhookIssueCommentCreatedPropIssueAllof1PropLabelsItems] = Field(
        default=...
    )
    labels_url: Union[Unset, str] = Field(default=UNSET)
    locked: bool = Field(default=...)
    milestone: Union[
        Unset, Union[WebhookIssueCommentCreatedPropIssueAllof1PropMilestone, None]
    ] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    number: Union[Unset, int] = Field(default=UNSET)
    performed_via_github_app: Union[
        Unset,
        Union[WebhookIssueCommentCreatedPropIssueAllof1PropPerformedViaGithubApp, None],
    ] = Field(default=UNSET)
    reactions: Union[
        Unset, WebhookIssueCommentCreatedPropIssueAllof1PropReactions
    ] = Field(default=UNSET)
    repository_url: Union[Unset, str] = Field(default=UNSET)
    state: Literal["open", "closed"] = Field(
        description="State of the issue; either 'open' or 'closed'", default=...
    )
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: Union[Unset, str] = Field(default=UNSET)
    updated_at: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)
    user: Union[Unset, WebhookIssueCommentCreatedPropIssueAllof1PropUser] = Field(
        default=UNSET
    )


class WebhookIssueCommentCreatedPropIssueAllof1PropAssignee(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssueCommentCreatedPropIssueAllof1PropAssigneesItems(GitHubRestModel):
    """WebhookIssueCommentCreatedPropIssueAllof1PropAssigneesItems"""


class WebhookIssueCommentCreatedPropIssueAllof1PropLabelsItems(GitHubRestModel):
    """Label"""

    color: str = Field(
        description="6-character hex code, without the leading #, identifying the color",
        default=...,
    )
    default: bool = Field(default=...)
    description: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="The name of the label.", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the label", default=...)


class WebhookIssueCommentCreatedPropIssueAllof1PropMilestone(GitHubRestModel):
    """WebhookIssueCommentCreatedPropIssueAllof1PropMilestone"""


class WebhookIssueCommentCreatedPropIssueAllof1PropPerformedViaGithubApp(
    GitHubRestModel
):
    """WebhookIssueCommentCreatedPropIssueAllof1PropPerformedViaGithubApp"""


class WebhookIssueCommentCreatedPropIssueAllof1PropReactions(GitHubRestModel):
    """WebhookIssueCommentCreatedPropIssueAllof1PropReactions"""

    plus_one: Union[Unset, int] = Field(default=UNSET, alias="+1")
    minus_one: Union[Unset, int] = Field(default=UNSET, alias="-1")
    confused: Union[Unset, int] = Field(default=UNSET)
    eyes: Union[Unset, int] = Field(default=UNSET)
    heart: Union[Unset, int] = Field(default=UNSET)
    hooray: Union[Unset, int] = Field(default=UNSET)
    laugh: Union[Unset, int] = Field(default=UNSET)
    rocket: Union[Unset, int] = Field(default=UNSET)
    total_count: Union[Unset, int] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssueCommentCreatedPropIssueAllof1PropUser(GitHubRestModel):
    """WebhookIssueCommentCreatedPropIssueAllof1PropUser"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: Union[Unset, int] = Field(default=UNSET)
    login: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssueCommentCreatedPropIssueMergedAssignees(GitHubRestModel):
    """WebhookIssueCommentCreatedPropIssueMergedAssignees"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssueCommentCreatedPropIssueMergedMilestone(GitHubRestModel):
    """WebhookIssueCommentCreatedPropIssueMergedMilestone"""

    closed_at: Union[datetime, None] = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[
        WebhookIssueCommentCreatedPropIssueAllof0PropMilestonePropCreator, None
    ] = Field(title="User", default=...)
    description: Union[str, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    open_issues: int = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default=...
    )
    title: str = Field(description="The title of the milestone.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookIssueCommentCreatedPropIssueMergedPerformedViaGithubApp(GitHubRestModel):
    """WebhookIssueCommentCreatedPropIssueMergedPerformedViaGithubApp"""

    created_at: Union[datetime, None] = Field(default=...)
    description: Union[str, None] = Field(default=...)
    events: Union[
        Unset,
        List[
            Literal[
                "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",
            ]
        ],
    ] = Field(description="The list of events for the GitHub app", default=UNSET)
    external_url: Union[str, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: Union[int, None] = Field(
        description="Unique identifier of the GitHub app", default=...
    )
    name: str = Field(description="The name of the GitHub app", default=...)
    node_id: str = Field(default=...)
    owner: Union[
        WebhookIssueCommentCreatedPropIssueAllof0PropPerformedViaGithubAppPropOwner,
        None,
    ] = Field(title="User", default=...)
    permissions: Union[
        Unset,
        WebhookIssueCommentCreatedPropIssueAllof0PropPerformedViaGithubAppPropPermissions,
    ] = Field(description="The set of permissions for the GitHub app", default=UNSET)
    slug: Union[Unset, str] = Field(
        description="The slug name of the GitHub app", default=UNSET
    )
    updated_at: Union[datetime, None] = Field(default=...)


class WebhookIssueCommentCreatedPropIssueMergedReactions(GitHubRestModel):
    """WebhookIssueCommentCreatedPropIssueMergedReactions"""

    plus_one: int = Field(default=..., alias="+1")
    minus_one: int = Field(default=..., alias="-1")
    confused: int = Field(default=...)
    eyes: int = Field(default=...)
    heart: int = Field(default=...)
    hooray: int = Field(default=...)
    laugh: int = Field(default=...)
    rocket: int = Field(default=...)
    total_count: int = Field(default=...)
    url: str = Field(default=...)


class WebhookIssueCommentCreatedPropIssueMergedUser(GitHubRestModel):
    """WebhookIssueCommentCreatedPropIssueMergedUser"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssueCommentDeleted(GitHubRestModel):
    """issue_comment deleted event"""

    action: Literal["deleted"] = Field(default=...)
    comment: WebhookIssueCommentDeletedPropComment = Field(
        title="issue comment",
        description="The [comment](https://docs.github.com/en/rest/reference/issues#comments) itself.",
        default=...,
    )
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    issue: WebhookIssueCommentDeletedPropIssue = Field(
        description="The [issue](https://docs.github.com/en/rest/reference/issues) the comment belongs to.",
        default=...,
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookIssueCommentDeletedPropComment(GitHubRestModel):
    """issue comment

    The [comment](https://docs.github.com/en/rest/reference/issues#comments) itself.
    """

    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="AuthorAssociation",
        description="How the author is associated with the repository.",
        default=...,
    )
    body: str = Field(description="Contents of the issue comment", default=...)
    created_at: datetime = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(description="Unique identifier of the issue comment", default=...)
    issue_url: str = Field(default=...)
    node_id: str = Field(default=...)
    performed_via_github_app: Union[None, Integration] = Field(
        title="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.",
        default=...,
    )
    reactions: WebhookIssueCommentDeletedPropCommentPropReactions = Field(
        title="Reactions", default=...
    )
    updated_at: datetime = Field(default=...)
    url: str = Field(description="URL for the issue comment", default=...)
    user: Union[WebhookIssueCommentDeletedPropCommentPropUser, None] = Field(
        title="User", default=...
    )


class WebhookIssueCommentDeletedPropCommentPropReactions(GitHubRestModel):
    """Reactions"""

    plus_one: int = Field(default=..., alias="+1")
    minus_one: int = Field(default=..., alias="-1")
    confused: int = Field(default=...)
    eyes: int = Field(default=...)
    heart: int = Field(default=...)
    hooray: int = Field(default=...)
    laugh: int = Field(default=...)
    rocket: int = Field(default=...)
    total_count: int = Field(default=...)
    url: str = Field(default=...)


class WebhookIssueCommentDeletedPropCommentPropUser(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssueCommentDeletedPropIssue(GitHubRestModel):
    """WebhookIssueCommentDeletedPropIssue

    The [issue](https://docs.github.com/en/rest/reference/issues) the comment
    belongs to.
    """

    active_lock_reason: Union[
        Literal["resolved", "off-topic", "too heated", "spam"], None
    ] = Field(default=...)
    assignee: Union[
        Union[WebhookIssueCommentDeletedPropIssueAllof0PropAssignee, None], None
    ] = Field(title="User", default=...)
    assignees: List[WebhookIssueCommentDeletedPropIssueMergedAssignees] = Field(
        default=...
    )
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="AuthorAssociation",
        description="How the author is associated with the repository.",
        default=...,
    )
    body: Union[Union[str, None], None] = Field(
        description="Contents of the issue", default=...
    )
    closed_at: Union[Union[datetime, None], None] = Field(default=...)
    comments: int = Field(default=...)
    comments_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    draft: Union[Unset, bool] = Field(default=UNSET)
    events_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels: List[WebhookIssueCommentDeletedPropIssueAllof0PropLabelsItems] = Field(
        default=...
    )
    labels_url: str = Field(default=...)
    locked: bool = Field(default=...)
    milestone: Union[WebhookIssueCommentDeletedPropIssueMergedMilestone, None] = Field(
        default=...
    )
    node_id: str = Field(default=...)
    number: int = Field(default=...)
    performed_via_github_app: Union[
        Unset,
        Union[WebhookIssueCommentDeletedPropIssueMergedPerformedViaGithubApp, None],
    ] = Field(default=UNSET)
    pull_request: Union[
        Unset, WebhookIssueCommentDeletedPropIssueAllof0PropPullRequest
    ] = Field(default=UNSET)
    reactions: WebhookIssueCommentDeletedPropIssueMergedReactions = Field(default=...)
    repository_url: str = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="State of the issue; either 'open' or 'closed'", default=...
    )
    state_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: str = Field(description="Title of the issue", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(description="URL for the issue", default=...)
    user: WebhookIssueCommentDeletedPropIssueMergedUser = Field(default=...)


class WebhookIssueCommentDeletedPropIssueAllof0(GitHubRestModel):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ] = Field(default=...)
    assignee: Union[
        Unset, Union[WebhookIssueCommentDeletedPropIssueAllof0PropAssignee, None]
    ] = Field(title="User", default=UNSET)
    assignees: List[
        Union[WebhookIssueCommentDeletedPropIssueAllof0PropAssigneesItems, None]
    ] = Field(default=...)
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="AuthorAssociation",
        description="How the author is associated with the repository.",
        default=...,
    )
    body: Union[str, None] = Field(description="Contents of the issue", default=...)
    closed_at: Union[datetime, None] = Field(default=...)
    comments: int = Field(default=...)
    comments_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    draft: Union[Unset, bool] = Field(default=UNSET)
    events_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels: Union[
        Unset, List[WebhookIssueCommentDeletedPropIssueAllof0PropLabelsItems]
    ] = Field(default=UNSET)
    labels_url: str = Field(default=...)
    locked: Union[Unset, bool] = Field(default=UNSET)
    milestone: Union[
        WebhookIssueCommentDeletedPropIssueAllof0PropMilestone, None
    ] = Field(
        title="Milestone",
        description="A collection of related issues and pull requests.",
        default=...,
    )
    node_id: str = Field(default=...)
    number: int = Field(default=...)
    performed_via_github_app: Union[
        Unset,
        Union[WebhookIssueCommentDeletedPropIssueAllof0PropPerformedViaGithubApp, None],
    ] = Field(
        title="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.",
        default=UNSET,
    )
    pull_request: Union[
        Unset, WebhookIssueCommentDeletedPropIssueAllof0PropPullRequest
    ] = Field(default=UNSET)
    reactions: WebhookIssueCommentDeletedPropIssueAllof0PropReactions = Field(
        title="Reactions", default=...
    )
    repository_url: str = Field(default=...)
    state: Union[Unset, Literal["open", "closed"]] = Field(
        description="State of the issue; either 'open' or 'closed'", default=UNSET
    )
    state_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: str = Field(description="Title of the issue", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(description="URL for the issue", default=...)
    user: Union[WebhookIssueCommentDeletedPropIssueAllof0PropUser, None] = Field(
        title="User", default=...
    )


class WebhookIssueCommentDeletedPropIssueAllof0PropAssignee(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssueCommentDeletedPropIssueAllof0PropAssigneesItems(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssueCommentDeletedPropIssueAllof0PropLabelsItems(GitHubRestModel):
    """Label"""

    color: str = Field(
        description="6-character hex code, without the leading #, identifying the color",
        default=...,
    )
    default: bool = Field(default=...)
    description: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="The name of the label.", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the label", default=...)


class WebhookIssueCommentDeletedPropIssueAllof0PropMilestonePropCreator(
    GitHubRestModel
):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssueCommentDeletedPropIssueAllof0PropMilestone(GitHubRestModel):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None] = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[
        WebhookIssueCommentDeletedPropIssueAllof0PropMilestonePropCreator, None
    ] = Field(title="User", default=...)
    description: Union[str, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    open_issues: int = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default=...
    )
    title: str = Field(description="The title of the milestone.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookIssueCommentDeletedPropIssueAllof0PropPerformedViaGithubAppPropOwner(
    GitHubRestModel
):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssueCommentDeletedPropIssueAllof0PropPerformedViaGithubAppPropPermissions(
    GitHubRestModel
):
    """WebhookIssueCommentDeletedPropIssueAllof0PropPerformedViaGithubAppPropPermission
    s

    The set of permissions for the GitHub app
    """

    actions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    administration: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    checks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    content_references: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    contents: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    deployments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    emails: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    environments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    issues: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    keys: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    members: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    metadata: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_administration: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_plan: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_projects: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_self_hosted_runners: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_user_blocking: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pull_requests: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_projects: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    secret_scanning_alerts: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_events: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_scanning_alert: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    single_file: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    statuses: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    team_discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    vulnerability_alerts: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    workflows: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)


class WebhookIssueCommentDeletedPropIssueAllof0PropPerformedViaGithubApp(
    GitHubRestModel
):
    """App

    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.
    """

    created_at: Union[datetime, None] = Field(default=...)
    description: Union[str, None] = Field(default=...)
    events: Union[
        Unset,
        List[
            Literal[
                "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",
            ]
        ],
    ] = Field(description="The list of events for the GitHub app", default=UNSET)
    external_url: Union[str, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: Union[int, None] = Field(
        description="Unique identifier of the GitHub app", default=...
    )
    name: str = Field(description="The name of the GitHub app", default=...)
    node_id: str = Field(default=...)
    owner: Union[
        WebhookIssueCommentDeletedPropIssueAllof0PropPerformedViaGithubAppPropOwner,
        None,
    ] = Field(title="User", default=...)
    permissions: Union[
        Unset,
        WebhookIssueCommentDeletedPropIssueAllof0PropPerformedViaGithubAppPropPermissions,
    ] = Field(description="The set of permissions for the GitHub app", default=UNSET)
    slug: Union[Unset, str] = Field(
        description="The slug name of the GitHub app", default=UNSET
    )
    updated_at: Union[datetime, None] = Field(default=...)


class WebhookIssueCommentDeletedPropIssueAllof0PropPullRequest(GitHubRestModel):
    """WebhookIssueCommentDeletedPropIssueAllof0PropPullRequest"""

    diff_url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    merged_at: Union[Unset, Union[datetime, None]] = Field(default=UNSET)
    patch_url: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssueCommentDeletedPropIssueAllof0PropReactions(GitHubRestModel):
    """Reactions"""

    plus_one: int = Field(default=..., alias="+1")
    minus_one: int = Field(default=..., alias="-1")
    confused: int = Field(default=...)
    eyes: int = Field(default=...)
    heart: int = Field(default=...)
    hooray: int = Field(default=...)
    laugh: int = Field(default=...)
    rocket: int = Field(default=...)
    total_count: int = Field(default=...)
    url: str = Field(default=...)


class WebhookIssueCommentDeletedPropIssueAllof0PropUser(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssueCommentDeletedPropIssueAllof1(GitHubRestModel):
    """WebhookIssueCommentDeletedPropIssueAllof1"""

    active_lock_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    assignee: Union[
        WebhookIssueCommentDeletedPropIssueAllof1PropAssignee, None
    ] = Field(title="User", default=...)
    assignees: Union[
        Unset,
        List[Union[WebhookIssueCommentDeletedPropIssueAllof1PropAssigneesItems, None]],
    ] = Field(default=UNSET)
    author_association: Union[Unset, str] = Field(default=UNSET)
    body: Union[Unset, Union[str, None]] = Field(default=UNSET)
    closed_at: Union[Unset, Union[str, None]] = Field(default=UNSET)
    comments: Union[Unset, int] = Field(default=UNSET)
    comments_url: Union[Unset, str] = Field(default=UNSET)
    created_at: Union[Unset, str] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: Union[Unset, int] = Field(default=UNSET)
    labels: List[WebhookIssueCommentDeletedPropIssueAllof1PropLabelsItems] = Field(
        default=...
    )
    labels_url: Union[Unset, str] = Field(default=UNSET)
    locked: bool = Field(default=...)
    milestone: Union[
        Unset, Union[WebhookIssueCommentDeletedPropIssueAllof1PropMilestone, None]
    ] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    number: Union[Unset, int] = Field(default=UNSET)
    performed_via_github_app: Union[
        Unset,
        Union[WebhookIssueCommentDeletedPropIssueAllof1PropPerformedViaGithubApp, None],
    ] = Field(default=UNSET)
    reactions: Union[
        Unset, WebhookIssueCommentDeletedPropIssueAllof1PropReactions
    ] = Field(default=UNSET)
    repository_url: Union[Unset, str] = Field(default=UNSET)
    state: Literal["open", "closed"] = Field(
        description="State of the issue; either 'open' or 'closed'", default=...
    )
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: Union[Unset, str] = Field(default=UNSET)
    updated_at: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)
    user: Union[Unset, WebhookIssueCommentDeletedPropIssueAllof1PropUser] = Field(
        default=UNSET
    )


class WebhookIssueCommentDeletedPropIssueAllof1PropAssignee(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssueCommentDeletedPropIssueAllof1PropAssigneesItems(GitHubRestModel):
    """WebhookIssueCommentDeletedPropIssueAllof1PropAssigneesItems"""


class WebhookIssueCommentDeletedPropIssueAllof1PropLabelsItems(GitHubRestModel):
    """Label"""

    color: str = Field(
        description="6-character hex code, without the leading #, identifying the color",
        default=...,
    )
    default: bool = Field(default=...)
    description: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="The name of the label.", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the label", default=...)


class WebhookIssueCommentDeletedPropIssueAllof1PropMilestone(GitHubRestModel):
    """WebhookIssueCommentDeletedPropIssueAllof1PropMilestone"""


class WebhookIssueCommentDeletedPropIssueAllof1PropPerformedViaGithubApp(
    GitHubRestModel
):
    """WebhookIssueCommentDeletedPropIssueAllof1PropPerformedViaGithubApp"""


class WebhookIssueCommentDeletedPropIssueAllof1PropReactions(GitHubRestModel):
    """WebhookIssueCommentDeletedPropIssueAllof1PropReactions"""

    plus_one: Union[Unset, int] = Field(default=UNSET, alias="+1")
    minus_one: Union[Unset, int] = Field(default=UNSET, alias="-1")
    confused: Union[Unset, int] = Field(default=UNSET)
    eyes: Union[Unset, int] = Field(default=UNSET)
    heart: Union[Unset, int] = Field(default=UNSET)
    hooray: Union[Unset, int] = Field(default=UNSET)
    laugh: Union[Unset, int] = Field(default=UNSET)
    rocket: Union[Unset, int] = Field(default=UNSET)
    total_count: Union[Unset, int] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssueCommentDeletedPropIssueAllof1PropUser(GitHubRestModel):
    """WebhookIssueCommentDeletedPropIssueAllof1PropUser"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: Union[Unset, int] = Field(default=UNSET)
    login: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssueCommentDeletedPropIssueMergedAssignees(GitHubRestModel):
    """WebhookIssueCommentDeletedPropIssueMergedAssignees"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssueCommentDeletedPropIssueMergedMilestone(GitHubRestModel):
    """WebhookIssueCommentDeletedPropIssueMergedMilestone"""

    closed_at: Union[datetime, None] = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[
        WebhookIssueCommentDeletedPropIssueAllof0PropMilestonePropCreator, None
    ] = Field(title="User", default=...)
    description: Union[str, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    open_issues: int = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default=...
    )
    title: str = Field(description="The title of the milestone.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookIssueCommentDeletedPropIssueMergedPerformedViaGithubApp(GitHubRestModel):
    """WebhookIssueCommentDeletedPropIssueMergedPerformedViaGithubApp"""

    created_at: Union[datetime, None] = Field(default=...)
    description: Union[str, None] = Field(default=...)
    events: Union[
        Unset,
        List[
            Literal[
                "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",
            ]
        ],
    ] = Field(description="The list of events for the GitHub app", default=UNSET)
    external_url: Union[str, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: Union[int, None] = Field(
        description="Unique identifier of the GitHub app", default=...
    )
    name: str = Field(description="The name of the GitHub app", default=...)
    node_id: str = Field(default=...)
    owner: Union[
        WebhookIssueCommentDeletedPropIssueAllof0PropPerformedViaGithubAppPropOwner,
        None,
    ] = Field(title="User", default=...)
    permissions: Union[
        Unset,
        WebhookIssueCommentDeletedPropIssueAllof0PropPerformedViaGithubAppPropPermissions,
    ] = Field(description="The set of permissions for the GitHub app", default=UNSET)
    slug: Union[Unset, str] = Field(
        description="The slug name of the GitHub app", default=UNSET
    )
    updated_at: Union[datetime, None] = Field(default=...)


class WebhookIssueCommentDeletedPropIssueMergedReactions(GitHubRestModel):
    """WebhookIssueCommentDeletedPropIssueMergedReactions"""

    plus_one: int = Field(default=..., alias="+1")
    minus_one: int = Field(default=..., alias="-1")
    confused: int = Field(default=...)
    eyes: int = Field(default=...)
    heart: int = Field(default=...)
    hooray: int = Field(default=...)
    laugh: int = Field(default=...)
    rocket: int = Field(default=...)
    total_count: int = Field(default=...)
    url: str = Field(default=...)


class WebhookIssueCommentDeletedPropIssueMergedUser(GitHubRestModel):
    """WebhookIssueCommentDeletedPropIssueMergedUser"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssueCommentEdited(GitHubRestModel):
    """issue_comment edited event"""

    action: Literal["edited"] = Field(default=...)
    changes: WebhookIssueCommentEditedPropChanges = Field(
        description="The changes to the comment.", default=...
    )
    comment: WebhookIssueCommentEditedPropComment = Field(
        title="issue comment",
        description="The [comment](https://docs.github.com/en/rest/reference/issues#comments) itself.",
        default=...,
    )
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    issue: WebhookIssueCommentEditedPropIssue = Field(
        description="The [issue](https://docs.github.com/en/rest/reference/issues) the comment belongs to.",
        default=...,
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookIssueCommentEditedPropChanges(GitHubRestModel):
    """WebhookIssueCommentEditedPropChanges

    The changes to the comment.
    """

    body: Union[Unset, WebhookIssueCommentEditedPropChangesPropBody] = Field(
        default=UNSET
    )


class WebhookIssueCommentEditedPropChangesPropBody(GitHubRestModel):
    """WebhookIssueCommentEditedPropChangesPropBody"""

    from_: str = Field(
        description="The previous version of the body.", default=..., alias="from"
    )


class WebhookIssueCommentEditedPropComment(GitHubRestModel):
    """issue comment

    The [comment](https://docs.github.com/en/rest/reference/issues#comments) itself.
    """

    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="AuthorAssociation",
        description="How the author is associated with the repository.",
        default=...,
    )
    body: str = Field(description="Contents of the issue comment", default=...)
    created_at: datetime = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(description="Unique identifier of the issue comment", default=...)
    issue_url: str = Field(default=...)
    node_id: str = Field(default=...)
    performed_via_github_app: Union[None, Integration] = Field(
        title="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.",
        default=...,
    )
    reactions: WebhookIssueCommentEditedPropCommentPropReactions = Field(
        title="Reactions", default=...
    )
    updated_at: datetime = Field(default=...)
    url: str = Field(description="URL for the issue comment", default=...)
    user: Union[WebhookIssueCommentEditedPropCommentPropUser, None] = Field(
        title="User", default=...
    )


class WebhookIssueCommentEditedPropCommentPropReactions(GitHubRestModel):
    """Reactions"""

    plus_one: int = Field(default=..., alias="+1")
    minus_one: int = Field(default=..., alias="-1")
    confused: int = Field(default=...)
    eyes: int = Field(default=...)
    heart: int = Field(default=...)
    hooray: int = Field(default=...)
    laugh: int = Field(default=...)
    rocket: int = Field(default=...)
    total_count: int = Field(default=...)
    url: str = Field(default=...)


class WebhookIssueCommentEditedPropCommentPropUser(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssueCommentEditedPropIssue(GitHubRestModel):
    """WebhookIssueCommentEditedPropIssue

    The [issue](https://docs.github.com/en/rest/reference/issues) the comment
    belongs to.
    """

    active_lock_reason: Union[
        Literal["resolved", "off-topic", "too heated", "spam"], None
    ] = Field(default=...)
    assignee: Union[
        Union[WebhookIssueCommentEditedPropIssueAllof0PropAssignee, None], None
    ] = Field(title="User", default=...)
    assignees: List[WebhookIssueCommentEditedPropIssueMergedAssignees] = Field(
        default=...
    )
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="AuthorAssociation",
        description="How the author is associated with the repository.",
        default=...,
    )
    body: Union[Union[str, None], None] = Field(
        description="Contents of the issue", default=...
    )
    closed_at: Union[Union[datetime, None], None] = Field(default=...)
    comments: int = Field(default=...)
    comments_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    draft: Union[Unset, bool] = Field(default=UNSET)
    events_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels: List[WebhookIssueCommentEditedPropIssueAllof0PropLabelsItems] = Field(
        default=...
    )
    labels_url: str = Field(default=...)
    locked: bool = Field(default=...)
    milestone: Union[WebhookIssueCommentEditedPropIssueMergedMilestone, None] = Field(
        default=...
    )
    node_id: str = Field(default=...)
    number: int = Field(default=...)
    performed_via_github_app: Union[
        Unset,
        Union[WebhookIssueCommentEditedPropIssueMergedPerformedViaGithubApp, None],
    ] = Field(default=UNSET)
    pull_request: Union[
        Unset, WebhookIssueCommentEditedPropIssueAllof0PropPullRequest
    ] = Field(default=UNSET)
    reactions: WebhookIssueCommentEditedPropIssueMergedReactions = Field(default=...)
    repository_url: str = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="State of the issue; either 'open' or 'closed'", default=...
    )
    state_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: str = Field(description="Title of the issue", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(description="URL for the issue", default=...)
    user: WebhookIssueCommentEditedPropIssueMergedUser = Field(default=...)


class WebhookIssueCommentEditedPropIssueAllof0(GitHubRestModel):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ] = Field(default=...)
    assignee: Union[
        Unset, Union[WebhookIssueCommentEditedPropIssueAllof0PropAssignee, None]
    ] = Field(title="User", default=UNSET)
    assignees: List[
        Union[WebhookIssueCommentEditedPropIssueAllof0PropAssigneesItems, None]
    ] = Field(default=...)
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="AuthorAssociation",
        description="How the author is associated with the repository.",
        default=...,
    )
    body: Union[str, None] = Field(description="Contents of the issue", default=...)
    closed_at: Union[datetime, None] = Field(default=...)
    comments: int = Field(default=...)
    comments_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    draft: Union[Unset, bool] = Field(default=UNSET)
    events_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels: Union[
        Unset, List[WebhookIssueCommentEditedPropIssueAllof0PropLabelsItems]
    ] = Field(default=UNSET)
    labels_url: str = Field(default=...)
    locked: Union[Unset, bool] = Field(default=UNSET)
    milestone: Union[
        WebhookIssueCommentEditedPropIssueAllof0PropMilestone, None
    ] = Field(
        title="Milestone",
        description="A collection of related issues and pull requests.",
        default=...,
    )
    node_id: str = Field(default=...)
    number: int = Field(default=...)
    performed_via_github_app: Union[
        Unset,
        Union[WebhookIssueCommentEditedPropIssueAllof0PropPerformedViaGithubApp, None],
    ] = Field(
        title="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.",
        default=UNSET,
    )
    pull_request: Union[
        Unset, WebhookIssueCommentEditedPropIssueAllof0PropPullRequest
    ] = Field(default=UNSET)
    reactions: WebhookIssueCommentEditedPropIssueAllof0PropReactions = Field(
        title="Reactions", default=...
    )
    repository_url: str = Field(default=...)
    state: Union[Unset, Literal["open", "closed"]] = Field(
        description="State of the issue; either 'open' or 'closed'", default=UNSET
    )
    state_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: str = Field(description="Title of the issue", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(description="URL for the issue", default=...)
    user: Union[WebhookIssueCommentEditedPropIssueAllof0PropUser, None] = Field(
        title="User", default=...
    )


class WebhookIssueCommentEditedPropIssueAllof0PropAssignee(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssueCommentEditedPropIssueAllof0PropAssigneesItems(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssueCommentEditedPropIssueAllof0PropLabelsItems(GitHubRestModel):
    """Label"""

    color: str = Field(
        description="6-character hex code, without the leading #, identifying the color",
        default=...,
    )
    default: bool = Field(default=...)
    description: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="The name of the label.", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the label", default=...)


class WebhookIssueCommentEditedPropIssueAllof0PropMilestonePropCreator(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssueCommentEditedPropIssueAllof0PropMilestone(GitHubRestModel):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None] = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[
        WebhookIssueCommentEditedPropIssueAllof0PropMilestonePropCreator, None
    ] = Field(title="User", default=...)
    description: Union[str, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    open_issues: int = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default=...
    )
    title: str = Field(description="The title of the milestone.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookIssueCommentEditedPropIssueAllof0PropPerformedViaGithubAppPropOwner(
    GitHubRestModel
):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssueCommentEditedPropIssueAllof0PropPerformedViaGithubAppPropPermissions(
    GitHubRestModel
):
    """WebhookIssueCommentEditedPropIssueAllof0PropPerformedViaGithubAppPropPermissions

    The set of permissions for the GitHub app
    """

    actions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    administration: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    checks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    content_references: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    contents: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    deployments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    emails: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    environments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    issues: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    keys: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    members: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    metadata: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_administration: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_plan: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_projects: Union[Unset, Literal["read", "write", "admin"]] = Field(
        default=UNSET
    )
    organization_secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_self_hosted_runners: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_user_blocking: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pull_requests: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_projects: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    secret_scanning_alerts: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_events: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_scanning_alert: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    single_file: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    statuses: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    team_discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    vulnerability_alerts: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    workflows: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)


class WebhookIssueCommentEditedPropIssueAllof0PropPerformedViaGithubApp(
    GitHubRestModel
):
    """App

    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.
    """

    created_at: Union[datetime, None] = Field(default=...)
    description: Union[str, None] = Field(default=...)
    events: Union[
        Unset,
        List[
            Literal[
                "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",
            ]
        ],
    ] = Field(description="The list of events for the GitHub app", default=UNSET)
    external_url: Union[str, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: Union[int, None] = Field(
        description="Unique identifier of the GitHub app", default=...
    )
    name: str = Field(description="The name of the GitHub app", default=...)
    node_id: str = Field(default=...)
    owner: Union[
        WebhookIssueCommentEditedPropIssueAllof0PropPerformedViaGithubAppPropOwner, None
    ] = Field(title="User", default=...)
    permissions: Union[
        Unset,
        WebhookIssueCommentEditedPropIssueAllof0PropPerformedViaGithubAppPropPermissions,
    ] = Field(description="The set of permissions for the GitHub app", default=UNSET)
    slug: Union[Unset, str] = Field(
        description="The slug name of the GitHub app", default=UNSET
    )
    updated_at: Union[datetime, None] = Field(default=...)


class WebhookIssueCommentEditedPropIssueAllof0PropPullRequest(GitHubRestModel):
    """WebhookIssueCommentEditedPropIssueAllof0PropPullRequest"""

    diff_url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    merged_at: Union[Unset, Union[datetime, None]] = Field(default=UNSET)
    patch_url: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssueCommentEditedPropIssueAllof0PropReactions(GitHubRestModel):
    """Reactions"""

    plus_one: int = Field(default=..., alias="+1")
    minus_one: int = Field(default=..., alias="-1")
    confused: int = Field(default=...)
    eyes: int = Field(default=...)
    heart: int = Field(default=...)
    hooray: int = Field(default=...)
    laugh: int = Field(default=...)
    rocket: int = Field(default=...)
    total_count: int = Field(default=...)
    url: str = Field(default=...)


class WebhookIssueCommentEditedPropIssueAllof0PropUser(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssueCommentEditedPropIssueAllof1(GitHubRestModel):
    """WebhookIssueCommentEditedPropIssueAllof1"""

    active_lock_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    assignee: Union[WebhookIssueCommentEditedPropIssueAllof1PropAssignee, None] = Field(
        title="User", default=...
    )
    assignees: Union[
        Unset,
        List[Union[WebhookIssueCommentEditedPropIssueAllof1PropAssigneesItems, None]],
    ] = Field(default=UNSET)
    author_association: Union[Unset, str] = Field(default=UNSET)
    body: Union[Unset, Union[str, None]] = Field(default=UNSET)
    closed_at: Union[Unset, Union[str, None]] = Field(default=UNSET)
    comments: Union[Unset, int] = Field(default=UNSET)
    comments_url: Union[Unset, str] = Field(default=UNSET)
    created_at: Union[Unset, str] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: Union[Unset, int] = Field(default=UNSET)
    labels: List[WebhookIssueCommentEditedPropIssueAllof1PropLabelsItems] = Field(
        default=...
    )
    labels_url: Union[Unset, str] = Field(default=UNSET)
    locked: bool = Field(default=...)
    milestone: Union[
        Unset, Union[WebhookIssueCommentEditedPropIssueAllof1PropMilestone, None]
    ] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    number: Union[Unset, int] = Field(default=UNSET)
    performed_via_github_app: Union[
        Unset,
        Union[WebhookIssueCommentEditedPropIssueAllof1PropPerformedViaGithubApp, None],
    ] = Field(default=UNSET)
    reactions: Union[
        Unset, WebhookIssueCommentEditedPropIssueAllof1PropReactions
    ] = Field(default=UNSET)
    repository_url: Union[Unset, str] = Field(default=UNSET)
    state: Literal["open", "closed"] = Field(
        description="State of the issue; either 'open' or 'closed'", default=...
    )
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: Union[Unset, str] = Field(default=UNSET)
    updated_at: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)
    user: Union[Unset, WebhookIssueCommentEditedPropIssueAllof1PropUser] = Field(
        default=UNSET
    )


class WebhookIssueCommentEditedPropIssueAllof1PropAssignee(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssueCommentEditedPropIssueAllof1PropAssigneesItems(GitHubRestModel):
    """WebhookIssueCommentEditedPropIssueAllof1PropAssigneesItems"""


class WebhookIssueCommentEditedPropIssueAllof1PropLabelsItems(GitHubRestModel):
    """Label"""

    color: str = Field(
        description="6-character hex code, without the leading #, identifying the color",
        default=...,
    )
    default: bool = Field(default=...)
    description: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="The name of the label.", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the label", default=...)


class WebhookIssueCommentEditedPropIssueAllof1PropMilestone(GitHubRestModel):
    """WebhookIssueCommentEditedPropIssueAllof1PropMilestone"""


class WebhookIssueCommentEditedPropIssueAllof1PropPerformedViaGithubApp(
    GitHubRestModel
):
    """WebhookIssueCommentEditedPropIssueAllof1PropPerformedViaGithubApp"""


class WebhookIssueCommentEditedPropIssueAllof1PropReactions(GitHubRestModel):
    """WebhookIssueCommentEditedPropIssueAllof1PropReactions"""

    plus_one: Union[Unset, int] = Field(default=UNSET, alias="+1")
    minus_one: Union[Unset, int] = Field(default=UNSET, alias="-1")
    confused: Union[Unset, int] = Field(default=UNSET)
    eyes: Union[Unset, int] = Field(default=UNSET)
    heart: Union[Unset, int] = Field(default=UNSET)
    hooray: Union[Unset, int] = Field(default=UNSET)
    laugh: Union[Unset, int] = Field(default=UNSET)
    rocket: Union[Unset, int] = Field(default=UNSET)
    total_count: Union[Unset, int] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssueCommentEditedPropIssueAllof1PropUser(GitHubRestModel):
    """WebhookIssueCommentEditedPropIssueAllof1PropUser"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: Union[Unset, int] = Field(default=UNSET)
    login: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssueCommentEditedPropIssueMergedAssignees(GitHubRestModel):
    """WebhookIssueCommentEditedPropIssueMergedAssignees"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssueCommentEditedPropIssueMergedMilestone(GitHubRestModel):
    """WebhookIssueCommentEditedPropIssueMergedMilestone"""

    closed_at: Union[datetime, None] = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[
        WebhookIssueCommentEditedPropIssueAllof0PropMilestonePropCreator, None
    ] = Field(title="User", default=...)
    description: Union[str, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    open_issues: int = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default=...
    )
    title: str = Field(description="The title of the milestone.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookIssueCommentEditedPropIssueMergedPerformedViaGithubApp(GitHubRestModel):
    """WebhookIssueCommentEditedPropIssueMergedPerformedViaGithubApp"""

    created_at: Union[datetime, None] = Field(default=...)
    description: Union[str, None] = Field(default=...)
    events: Union[
        Unset,
        List[
            Literal[
                "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",
            ]
        ],
    ] = Field(description="The list of events for the GitHub app", default=UNSET)
    external_url: Union[str, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: Union[int, None] = Field(
        description="Unique identifier of the GitHub app", default=...
    )
    name: str = Field(description="The name of the GitHub app", default=...)
    node_id: str = Field(default=...)
    owner: Union[
        WebhookIssueCommentEditedPropIssueAllof0PropPerformedViaGithubAppPropOwner, None
    ] = Field(title="User", default=...)
    permissions: Union[
        Unset,
        WebhookIssueCommentEditedPropIssueAllof0PropPerformedViaGithubAppPropPermissions,
    ] = Field(description="The set of permissions for the GitHub app", default=UNSET)
    slug: Union[Unset, str] = Field(
        description="The slug name of the GitHub app", default=UNSET
    )
    updated_at: Union[datetime, None] = Field(default=...)


class WebhookIssueCommentEditedPropIssueMergedReactions(GitHubRestModel):
    """WebhookIssueCommentEditedPropIssueMergedReactions"""

    plus_one: int = Field(default=..., alias="+1")
    minus_one: int = Field(default=..., alias="-1")
    confused: int = Field(default=...)
    eyes: int = Field(default=...)
    heart: int = Field(default=...)
    hooray: int = Field(default=...)
    laugh: int = Field(default=...)
    rocket: int = Field(default=...)
    total_count: int = Field(default=...)
    url: str = Field(default=...)


class WebhookIssueCommentEditedPropIssueMergedUser(GitHubRestModel):
    """WebhookIssueCommentEditedPropIssueMergedUser"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesAssigned(GitHubRestModel):
    """issues assigned event"""

    action: Literal["assigned"] = Field(
        description="The action that was performed.", default=...
    )
    assignee: Union[Unset, Union[WebhookIssuesAssignedPropAssignee, None]] = Field(
        title="User", default=UNSET
    )
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    issue: WebhookIssuesAssignedPropIssue = Field(
        title="Issue",
        description="The [issue](https://docs.github.com/en/rest/reference/issues) itself.",
        default=...,
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookIssuesAssignedPropAssignee(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesAssignedPropIssue(GitHubRestModel):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ] = Field(default=...)
    assignee: Union[
        Unset, Union[WebhookIssuesAssignedPropIssuePropAssignee, None]
    ] = Field(title="User", default=UNSET)
    assignees: List[
        Union[WebhookIssuesAssignedPropIssuePropAssigneesItems, None]
    ] = Field(default=...)
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="AuthorAssociation",
        description="How the author is associated with the repository.",
        default=...,
    )
    body: Union[str, None] = Field(description="Contents of the issue", default=...)
    closed_at: Union[datetime, None] = Field(default=...)
    comments: int = Field(default=...)
    comments_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    draft: Union[Unset, bool] = Field(default=UNSET)
    events_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels: Union[Unset, List[WebhookIssuesAssignedPropIssuePropLabelsItems]] = Field(
        default=UNSET
    )
    labels_url: str = Field(default=...)
    locked: Union[Unset, bool] = Field(default=UNSET)
    milestone: Union[WebhookIssuesAssignedPropIssuePropMilestone, None] = Field(
        title="Milestone",
        description="A collection of related issues and pull requests.",
        default=...,
    )
    node_id: str = Field(default=...)
    number: int = Field(default=...)
    performed_via_github_app: Union[
        Unset, Union[WebhookIssuesAssignedPropIssuePropPerformedViaGithubApp, None]
    ] = Field(
        title="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.",
        default=UNSET,
    )
    pull_request: Union[Unset, WebhookIssuesAssignedPropIssuePropPullRequest] = Field(
        default=UNSET
    )
    reactions: WebhookIssuesAssignedPropIssuePropReactions = Field(
        title="Reactions", default=...
    )
    repository_url: str = Field(default=...)
    state: Union[Unset, Literal["open", "closed"]] = Field(
        description="State of the issue; either 'open' or 'closed'", default=UNSET
    )
    state_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: str = Field(description="Title of the issue", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(description="URL for the issue", default=...)
    user: Union[WebhookIssuesAssignedPropIssuePropUser, None] = Field(
        title="User", default=...
    )


class WebhookIssuesAssignedPropIssuePropAssignee(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesAssignedPropIssuePropAssigneesItems(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesAssignedPropIssuePropLabelsItems(GitHubRestModel):
    """Label"""

    color: str = Field(
        description="6-character hex code, without the leading #, identifying the color",
        default=...,
    )
    default: bool = Field(default=...)
    description: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="The name of the label.", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the label", default=...)


class WebhookIssuesAssignedPropIssuePropMilestonePropCreator(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesAssignedPropIssuePropMilestone(GitHubRestModel):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None] = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[
        WebhookIssuesAssignedPropIssuePropMilestonePropCreator, None
    ] = Field(title="User", default=...)
    description: Union[str, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    open_issues: int = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default=...
    )
    title: str = Field(description="The title of the milestone.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesAssignedPropIssuePropPerformedViaGithubAppPropOwner(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesAssignedPropIssuePropPerformedViaGithubAppPropPermissions(
    GitHubRestModel
):
    """WebhookIssuesAssignedPropIssuePropPerformedViaGithubAppPropPermissions

    The set of permissions for the GitHub app
    """

    actions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    administration: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    checks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    content_references: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    contents: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    deployments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    emails: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    environments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    issues: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    keys: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    members: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    metadata: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_administration: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_plan: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_projects: Union[Unset, Literal["read", "write", "admin"]] = Field(
        default=UNSET
    )
    organization_secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_self_hosted_runners: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_user_blocking: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pull_requests: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_projects: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    secret_scanning_alerts: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_events: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_scanning_alert: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    single_file: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    statuses: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    team_discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    vulnerability_alerts: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    workflows: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)


class WebhookIssuesAssignedPropIssuePropPerformedViaGithubApp(GitHubRestModel):
    """App

    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.
    """

    created_at: Union[datetime, None] = Field(default=...)
    description: Union[str, None] = Field(default=...)
    events: Union[
        Unset,
        List[
            Literal[
                "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",
            ]
        ],
    ] = Field(description="The list of events for the GitHub app", default=UNSET)
    external_url: Union[str, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: Union[int, None] = Field(
        description="Unique identifier of the GitHub app", default=...
    )
    name: str = Field(description="The name of the GitHub app", default=...)
    node_id: str = Field(default=...)
    owner: Union[
        WebhookIssuesAssignedPropIssuePropPerformedViaGithubAppPropOwner, None
    ] = Field(title="User", default=...)
    permissions: Union[
        Unset, WebhookIssuesAssignedPropIssuePropPerformedViaGithubAppPropPermissions
    ] = Field(description="The set of permissions for the GitHub app", default=UNSET)
    slug: Union[Unset, str] = Field(
        description="The slug name of the GitHub app", default=UNSET
    )
    updated_at: Union[datetime, None] = Field(default=...)


class WebhookIssuesAssignedPropIssuePropPullRequest(GitHubRestModel):
    """WebhookIssuesAssignedPropIssuePropPullRequest"""

    diff_url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    merged_at: Union[Unset, Union[datetime, None]] = Field(default=UNSET)
    patch_url: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesAssignedPropIssuePropReactions(GitHubRestModel):
    """Reactions"""

    plus_one: int = Field(default=..., alias="+1")
    minus_one: int = Field(default=..., alias="-1")
    confused: int = Field(default=...)
    eyes: int = Field(default=...)
    heart: int = Field(default=...)
    hooray: int = Field(default=...)
    laugh: int = Field(default=...)
    rocket: int = Field(default=...)
    total_count: int = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesAssignedPropIssuePropUser(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesClosed(GitHubRestModel):
    """issues closed event"""

    action: Literal["closed"] = Field(
        description="The action that was performed.", default=...
    )
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    issue: WebhookIssuesClosedPropIssue = Field(
        description="The [issue](https://docs.github.com/en/rest/reference/issues) itself.",
        default=...,
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookIssuesClosedPropIssue(GitHubRestModel):
    """WebhookIssuesClosedPropIssue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        Literal["resolved", "off-topic", "too heated", "spam"], None
    ] = Field(default=...)
    assignee: Union[
        Unset, Union[WebhookIssuesClosedPropIssueMergedAssignee, None]
    ] = Field(default=UNSET)
    assignees: List[WebhookIssuesClosedPropIssueMergedAssignees] = Field(default=...)
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="AuthorAssociation",
        description="How the author is associated with the repository.",
        default=...,
    )
    body: Union[Union[str, None], None] = Field(
        description="Contents of the issue", default=...
    )
    closed_at: Union[Union[datetime, None], None] = Field(default=...)
    comments: int = Field(default=...)
    comments_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    draft: Union[Unset, bool] = Field(default=UNSET)
    events_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels: Union[Unset, List[WebhookIssuesClosedPropIssueMergedLabels]] = Field(
        default=UNSET
    )
    labels_url: str = Field(default=...)
    locked: Union[Unset, bool] = Field(default=UNSET)
    milestone: Union[WebhookIssuesClosedPropIssueMergedMilestone, None] = Field(
        default=...
    )
    node_id: str = Field(default=...)
    number: int = Field(default=...)
    performed_via_github_app: Union[
        Unset, Union[WebhookIssuesClosedPropIssueMergedPerformedViaGithubApp, None]
    ] = Field(default=UNSET)
    pull_request: Union[
        Unset, WebhookIssuesClosedPropIssueAllof0PropPullRequest
    ] = Field(default=UNSET)
    reactions: WebhookIssuesClosedPropIssueMergedReactions = Field(default=...)
    repository_url: str = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="State of the issue; either 'open' or 'closed'", default=...
    )
    state_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: str = Field(description="Title of the issue", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(description="URL for the issue", default=...)
    user: WebhookIssuesClosedPropIssueMergedUser = Field(default=...)


class WebhookIssuesClosedPropIssueAllof0(GitHubRestModel):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ] = Field(default=...)
    assignee: Union[
        Unset, Union[WebhookIssuesClosedPropIssueAllof0PropAssignee, None]
    ] = Field(title="User", default=UNSET)
    assignees: List[
        Union[WebhookIssuesClosedPropIssueAllof0PropAssigneesItems, None]
    ] = Field(default=...)
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="AuthorAssociation",
        description="How the author is associated with the repository.",
        default=...,
    )
    body: Union[str, None] = Field(description="Contents of the issue", default=...)
    closed_at: Union[datetime, None] = Field(default=...)
    comments: int = Field(default=...)
    comments_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    draft: Union[Unset, bool] = Field(default=UNSET)
    events_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels: Union[
        Unset, List[WebhookIssuesClosedPropIssueAllof0PropLabelsItems]
    ] = Field(default=UNSET)
    labels_url: str = Field(default=...)
    locked: Union[Unset, bool] = Field(default=UNSET)
    milestone: Union[WebhookIssuesClosedPropIssueAllof0PropMilestone, None] = Field(
        title="Milestone",
        description="A collection of related issues and pull requests.",
        default=...,
    )
    node_id: str = Field(default=...)
    number: int = Field(default=...)
    performed_via_github_app: Union[
        Unset, Union[WebhookIssuesClosedPropIssueAllof0PropPerformedViaGithubApp, None]
    ] = Field(
        title="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.",
        default=UNSET,
    )
    pull_request: Union[
        Unset, WebhookIssuesClosedPropIssueAllof0PropPullRequest
    ] = Field(default=UNSET)
    reactions: WebhookIssuesClosedPropIssueAllof0PropReactions = Field(
        title="Reactions", default=...
    )
    repository_url: str = Field(default=...)
    state: Union[Unset, Literal["open", "closed"]] = Field(
        description="State of the issue; either 'open' or 'closed'", default=UNSET
    )
    state_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: str = Field(description="Title of the issue", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(description="URL for the issue", default=...)
    user: Union[WebhookIssuesClosedPropIssueAllof0PropUser, None] = Field(
        title="User", default=...
    )


class WebhookIssuesClosedPropIssueAllof0PropAssignee(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesClosedPropIssueAllof0PropAssigneesItems(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesClosedPropIssueAllof0PropLabelsItems(GitHubRestModel):
    """Label"""

    color: str = Field(
        description="6-character hex code, without the leading #, identifying the color",
        default=...,
    )
    default: bool = Field(default=...)
    description: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="The name of the label.", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the label", default=...)


class WebhookIssuesClosedPropIssueAllof0PropMilestonePropCreator(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesClosedPropIssueAllof0PropMilestone(GitHubRestModel):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None] = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[
        WebhookIssuesClosedPropIssueAllof0PropMilestonePropCreator, None
    ] = Field(title="User", default=...)
    description: Union[str, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    open_issues: int = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default=...
    )
    title: str = Field(description="The title of the milestone.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesClosedPropIssueAllof0PropPerformedViaGithubAppPropOwner(
    GitHubRestModel
):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesClosedPropIssueAllof0PropPerformedViaGithubAppPropPermissions(
    GitHubRestModel
):
    """WebhookIssuesClosedPropIssueAllof0PropPerformedViaGithubAppPropPermissions

    The set of permissions for the GitHub app
    """

    actions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    administration: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    checks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    content_references: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    contents: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    deployments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    emails: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    environments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    issues: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    keys: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    members: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    metadata: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_administration: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_plan: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_projects: Union[Unset, Literal["read", "write", "admin"]] = Field(
        default=UNSET
    )
    organization_secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_self_hosted_runners: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_user_blocking: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pull_requests: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_projects: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    secret_scanning_alerts: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_events: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_scanning_alert: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    single_file: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    statuses: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    team_discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    vulnerability_alerts: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    workflows: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)


class WebhookIssuesClosedPropIssueAllof0PropPerformedViaGithubApp(GitHubRestModel):
    """App

    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.
    """

    created_at: Union[datetime, None] = Field(default=...)
    description: Union[str, None] = Field(default=...)
    events: Union[
        Unset,
        List[
            Literal[
                "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",
            ]
        ],
    ] = Field(description="The list of events for the GitHub app", default=UNSET)
    external_url: Union[str, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: Union[int, None] = Field(
        description="Unique identifier of the GitHub app", default=...
    )
    name: str = Field(description="The name of the GitHub app", default=...)
    node_id: str = Field(default=...)
    owner: Union[
        WebhookIssuesClosedPropIssueAllof0PropPerformedViaGithubAppPropOwner, None
    ] = Field(title="User", default=...)
    permissions: Union[
        Unset,
        WebhookIssuesClosedPropIssueAllof0PropPerformedViaGithubAppPropPermissions,
    ] = Field(description="The set of permissions for the GitHub app", default=UNSET)
    slug: Union[Unset, str] = Field(
        description="The slug name of the GitHub app", default=UNSET
    )
    updated_at: Union[datetime, None] = Field(default=...)


class WebhookIssuesClosedPropIssueAllof0PropPullRequest(GitHubRestModel):
    """WebhookIssuesClosedPropIssueAllof0PropPullRequest"""

    diff_url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    merged_at: Union[Unset, Union[datetime, None]] = Field(default=UNSET)
    patch_url: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesClosedPropIssueAllof0PropReactions(GitHubRestModel):
    """Reactions"""

    plus_one: int = Field(default=..., alias="+1")
    minus_one: int = Field(default=..., alias="-1")
    confused: int = Field(default=...)
    eyes: int = Field(default=...)
    heart: int = Field(default=...)
    hooray: int = Field(default=...)
    laugh: int = Field(default=...)
    rocket: int = Field(default=...)
    total_count: int = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesClosedPropIssueAllof0PropUser(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesClosedPropIssueAllof1(GitHubRestModel):
    """WebhookIssuesClosedPropIssueAllof1"""

    active_lock_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    assignee: Union[
        Unset, Union[WebhookIssuesClosedPropIssueAllof1PropAssignee, None]
    ] = Field(default=UNSET)
    assignees: Union[
        Unset, List[Union[WebhookIssuesClosedPropIssueAllof1PropAssigneesItems, None]]
    ] = Field(default=UNSET)
    author_association: Union[Unset, str] = Field(default=UNSET)
    body: Union[Unset, Union[str, None]] = Field(default=UNSET)
    closed_at: Union[str, None] = Field(default=...)
    comments: Union[Unset, int] = Field(default=UNSET)
    comments_url: Union[Unset, str] = Field(default=UNSET)
    created_at: Union[Unset, str] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: Union[Unset, int] = Field(default=UNSET)
    labels: Union[
        Unset, List[Union[WebhookIssuesClosedPropIssueAllof1PropLabelsItems, None]]
    ] = Field(default=UNSET)
    labels_url: Union[Unset, str] = Field(default=UNSET)
    locked: Union[Unset, bool] = Field(default=UNSET)
    milestone: Union[
        Unset, Union[WebhookIssuesClosedPropIssueAllof1PropMilestone, None]
    ] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    number: Union[Unset, int] = Field(default=UNSET)
    performed_via_github_app: Union[
        Unset, Union[WebhookIssuesClosedPropIssueAllof1PropPerformedViaGithubApp, None]
    ] = Field(default=UNSET)
    reactions: Union[Unset, WebhookIssuesClosedPropIssueAllof1PropReactions] = Field(
        default=UNSET
    )
    repository_url: Union[Unset, str] = Field(default=UNSET)
    state: Literal["closed", "open"] = Field(default=...)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: Union[Unset, str] = Field(default=UNSET)
    updated_at: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)
    user: Union[Unset, WebhookIssuesClosedPropIssueAllof1PropUser] = Field(
        default=UNSET
    )


class WebhookIssuesClosedPropIssueAllof1PropAssignee(GitHubRestModel):
    """WebhookIssuesClosedPropIssueAllof1PropAssignee"""


class WebhookIssuesClosedPropIssueAllof1PropAssigneesItems(GitHubRestModel):
    """WebhookIssuesClosedPropIssueAllof1PropAssigneesItems"""


class WebhookIssuesClosedPropIssueAllof1PropLabelsItems(GitHubRestModel):
    """WebhookIssuesClosedPropIssueAllof1PropLabelsItems"""


class WebhookIssuesClosedPropIssueAllof1PropMilestone(GitHubRestModel):
    """WebhookIssuesClosedPropIssueAllof1PropMilestone"""


class WebhookIssuesClosedPropIssueAllof1PropPerformedViaGithubApp(GitHubRestModel):
    """WebhookIssuesClosedPropIssueAllof1PropPerformedViaGithubApp"""


class WebhookIssuesClosedPropIssueAllof1PropReactions(GitHubRestModel):
    """WebhookIssuesClosedPropIssueAllof1PropReactions"""

    plus_one: Union[Unset, int] = Field(default=UNSET, alias="+1")
    minus_one: Union[Unset, int] = Field(default=UNSET, alias="-1")
    confused: Union[Unset, int] = Field(default=UNSET)
    eyes: Union[Unset, int] = Field(default=UNSET)
    heart: Union[Unset, int] = Field(default=UNSET)
    hooray: Union[Unset, int] = Field(default=UNSET)
    laugh: Union[Unset, int] = Field(default=UNSET)
    rocket: Union[Unset, int] = Field(default=UNSET)
    total_count: Union[Unset, int] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesClosedPropIssueAllof1PropUser(GitHubRestModel):
    """WebhookIssuesClosedPropIssueAllof1PropUser"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: Union[Unset, int] = Field(default=UNSET)
    login: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesClosedPropIssueMergedAssignee(GitHubRestModel):
    """WebhookIssuesClosedPropIssueMergedAssignee"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesClosedPropIssueMergedAssignees(GitHubRestModel):
    """WebhookIssuesClosedPropIssueMergedAssignees"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesClosedPropIssueMergedLabels(GitHubRestModel):
    """WebhookIssuesClosedPropIssueMergedLabels"""

    color: str = Field(
        description="6-character hex code, without the leading #, identifying the color",
        default=...,
    )
    default: bool = Field(default=...)
    description: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="The name of the label.", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the label", default=...)


class WebhookIssuesClosedPropIssueMergedMilestone(GitHubRestModel):
    """WebhookIssuesClosedPropIssueMergedMilestone"""

    closed_at: Union[datetime, None] = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[
        WebhookIssuesClosedPropIssueAllof0PropMilestonePropCreator, None
    ] = Field(title="User", default=...)
    description: Union[str, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    open_issues: int = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default=...
    )
    title: str = Field(description="The title of the milestone.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesClosedPropIssueMergedPerformedViaGithubApp(GitHubRestModel):
    """WebhookIssuesClosedPropIssueMergedPerformedViaGithubApp"""

    created_at: Union[datetime, None] = Field(default=...)
    description: Union[str, None] = Field(default=...)
    events: Union[
        Unset,
        List[
            Literal[
                "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",
            ]
        ],
    ] = Field(description="The list of events for the GitHub app", default=UNSET)
    external_url: Union[str, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: Union[int, None] = Field(
        description="Unique identifier of the GitHub app", default=...
    )
    name: str = Field(description="The name of the GitHub app", default=...)
    node_id: str = Field(default=...)
    owner: Union[
        WebhookIssuesClosedPropIssueAllof0PropPerformedViaGithubAppPropOwner, None
    ] = Field(title="User", default=...)
    permissions: Union[
        Unset,
        WebhookIssuesClosedPropIssueAllof0PropPerformedViaGithubAppPropPermissions,
    ] = Field(description="The set of permissions for the GitHub app", default=UNSET)
    slug: Union[Unset, str] = Field(
        description="The slug name of the GitHub app", default=UNSET
    )
    updated_at: Union[datetime, None] = Field(default=...)


class WebhookIssuesClosedPropIssueMergedReactions(GitHubRestModel):
    """WebhookIssuesClosedPropIssueMergedReactions"""

    plus_one: int = Field(default=..., alias="+1")
    minus_one: int = Field(default=..., alias="-1")
    confused: int = Field(default=...)
    eyes: int = Field(default=...)
    heart: int = Field(default=...)
    hooray: int = Field(default=...)
    laugh: int = Field(default=...)
    rocket: int = Field(default=...)
    total_count: int = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesClosedPropIssueMergedUser(GitHubRestModel):
    """WebhookIssuesClosedPropIssueMergedUser"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesDeleted(GitHubRestModel):
    """issues deleted event"""

    action: Literal["deleted"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    issue: WebhookIssuesDeletedPropIssue = Field(
        title="Issue",
        description="The [issue](https://docs.github.com/en/rest/reference/issues) itself.",
        default=...,
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookIssuesDeletedPropIssue(GitHubRestModel):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ] = Field(default=...)
    assignee: Union[
        Unset, Union[WebhookIssuesDeletedPropIssuePropAssignee, None]
    ] = Field(title="User", default=UNSET)
    assignees: List[
        Union[WebhookIssuesDeletedPropIssuePropAssigneesItems, None]
    ] = Field(default=...)
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="AuthorAssociation",
        description="How the author is associated with the repository.",
        default=...,
    )
    body: Union[str, None] = Field(description="Contents of the issue", default=...)
    closed_at: Union[datetime, None] = Field(default=...)
    comments: int = Field(default=...)
    comments_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    draft: Union[Unset, bool] = Field(default=UNSET)
    events_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels: Union[Unset, List[WebhookIssuesDeletedPropIssuePropLabelsItems]] = Field(
        default=UNSET
    )
    labels_url: str = Field(default=...)
    locked: Union[Unset, bool] = Field(default=UNSET)
    milestone: Union[WebhookIssuesDeletedPropIssuePropMilestone, None] = Field(
        title="Milestone",
        description="A collection of related issues and pull requests.",
        default=...,
    )
    node_id: str = Field(default=...)
    number: int = Field(default=...)
    performed_via_github_app: Union[
        Unset, Union[WebhookIssuesDeletedPropIssuePropPerformedViaGithubApp, None]
    ] = Field(
        title="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.",
        default=UNSET,
    )
    pull_request: Union[Unset, WebhookIssuesDeletedPropIssuePropPullRequest] = Field(
        default=UNSET
    )
    reactions: WebhookIssuesDeletedPropIssuePropReactions = Field(
        title="Reactions", default=...
    )
    repository_url: str = Field(default=...)
    state: Union[Unset, Literal["open", "closed"]] = Field(
        description="State of the issue; either 'open' or 'closed'", default=UNSET
    )
    state_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: str = Field(description="Title of the issue", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(description="URL for the issue", default=...)
    user: Union[WebhookIssuesDeletedPropIssuePropUser, None] = Field(
        title="User", default=...
    )


class WebhookIssuesDeletedPropIssuePropAssignee(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesDeletedPropIssuePropAssigneesItems(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesDeletedPropIssuePropLabelsItems(GitHubRestModel):
    """Label"""

    color: str = Field(
        description="6-character hex code, without the leading #, identifying the color",
        default=...,
    )
    default: bool = Field(default=...)
    description: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="The name of the label.", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the label", default=...)


class WebhookIssuesDeletedPropIssuePropMilestonePropCreator(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesDeletedPropIssuePropMilestone(GitHubRestModel):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None] = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[WebhookIssuesDeletedPropIssuePropMilestonePropCreator, None] = Field(
        title="User", default=...
    )
    description: Union[str, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    open_issues: int = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default=...
    )
    title: str = Field(description="The title of the milestone.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesDeletedPropIssuePropPerformedViaGithubAppPropOwner(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesDeletedPropIssuePropPerformedViaGithubAppPropPermissions(
    GitHubRestModel
):
    """WebhookIssuesDeletedPropIssuePropPerformedViaGithubAppPropPermissions

    The set of permissions for the GitHub app
    """

    actions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    administration: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    checks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    content_references: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    contents: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    deployments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    emails: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    environments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    issues: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    keys: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    members: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    metadata: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_administration: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_plan: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_projects: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_self_hosted_runners: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_user_blocking: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pull_requests: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_projects: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    secret_scanning_alerts: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_events: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_scanning_alert: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    single_file: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    statuses: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    team_discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    vulnerability_alerts: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    workflows: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)


class WebhookIssuesDeletedPropIssuePropPerformedViaGithubApp(GitHubRestModel):
    """App

    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.
    """

    created_at: Union[datetime, None] = Field(default=...)
    description: Union[str, None] = Field(default=...)
    events: Union[
        Unset,
        List[
            Literal[
                "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",
            ]
        ],
    ] = Field(description="The list of events for the GitHub app", default=UNSET)
    external_url: Union[str, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: Union[int, None] = Field(
        description="Unique identifier of the GitHub app", default=...
    )
    name: str = Field(description="The name of the GitHub app", default=...)
    node_id: str = Field(default=...)
    owner: Union[
        WebhookIssuesDeletedPropIssuePropPerformedViaGithubAppPropOwner, None
    ] = Field(title="User", default=...)
    permissions: Union[
        Unset, WebhookIssuesDeletedPropIssuePropPerformedViaGithubAppPropPermissions
    ] = Field(description="The set of permissions for the GitHub app", default=UNSET)
    slug: Union[Unset, str] = Field(
        description="The slug name of the GitHub app", default=UNSET
    )
    updated_at: Union[datetime, None] = Field(default=...)


class WebhookIssuesDeletedPropIssuePropPullRequest(GitHubRestModel):
    """WebhookIssuesDeletedPropIssuePropPullRequest"""

    diff_url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    merged_at: Union[Unset, Union[datetime, None]] = Field(default=UNSET)
    patch_url: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesDeletedPropIssuePropReactions(GitHubRestModel):
    """Reactions"""

    plus_one: int = Field(default=..., alias="+1")
    minus_one: int = Field(default=..., alias="-1")
    confused: int = Field(default=...)
    eyes: int = Field(default=...)
    heart: int = Field(default=...)
    hooray: int = Field(default=...)
    laugh: int = Field(default=...)
    rocket: int = Field(default=...)
    total_count: int = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesDeletedPropIssuePropUser(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesDemilestoned(GitHubRestModel):
    """issues demilestoned event"""

    action: Literal["demilestoned"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    issue: WebhookIssuesDemilestonedPropIssue = Field(default=...)
    milestone: Union[Unset, WebhookIssuesDemilestonedPropMilestone] = Field(
        title="Milestone",
        description="A collection of related issues and pull requests.",
        default=UNSET,
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookIssuesDemilestonedPropIssue(GitHubRestModel):
    """WebhookIssuesDemilestonedPropIssue"""

    active_lock_reason: Union[
        Literal["resolved", "off-topic", "too heated", "spam"], None
    ] = Field(default=...)
    assignee: Union[
        Unset, Union[WebhookIssuesDemilestonedPropIssueMergedAssignee, None]
    ] = Field(default=UNSET)
    assignees: List[WebhookIssuesDemilestonedPropIssueMergedAssignees] = Field(
        default=...
    )
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="AuthorAssociation",
        description="How the author is associated with the repository.",
        default=...,
    )
    body: Union[Union[str, None], None] = Field(
        description="Contents of the issue", default=...
    )
    closed_at: Union[Union[datetime, None], None] = Field(default=...)
    comments: int = Field(default=...)
    comments_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    draft: Union[Unset, bool] = Field(default=UNSET)
    events_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels: Union[Unset, List[WebhookIssuesDemilestonedPropIssueMergedLabels]] = Field(
        default=UNSET
    )
    labels_url: str = Field(default=...)
    locked: Union[Unset, bool] = Field(default=UNSET)
    milestone: Union[
        Union[WebhookIssuesDemilestonedPropIssueAllof0PropMilestone, None], None
    ] = Field(
        title="Milestone",
        description="A collection of related issues and pull requests.",
        default=...,
    )
    node_id: str = Field(default=...)
    number: int = Field(default=...)
    performed_via_github_app: Union[
        Unset,
        Union[WebhookIssuesDemilestonedPropIssueMergedPerformedViaGithubApp, None],
    ] = Field(default=UNSET)
    pull_request: Union[
        Unset, WebhookIssuesDemilestonedPropIssueAllof0PropPullRequest
    ] = Field(default=UNSET)
    reactions: WebhookIssuesDemilestonedPropIssueMergedReactions = Field(default=...)
    repository_url: str = Field(default=...)
    state: Union[Unset, Literal["open", "closed"]] = Field(
        description="State of the issue; either 'open' or 'closed'", default=UNSET
    )
    state_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: str = Field(description="Title of the issue", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(description="URL for the issue", default=...)
    user: WebhookIssuesDemilestonedPropIssueMergedUser = Field(default=...)


class WebhookIssuesDemilestonedPropIssueAllof0(GitHubRestModel):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ] = Field(default=...)
    assignee: Union[
        Unset, Union[WebhookIssuesDemilestonedPropIssueAllof0PropAssignee, None]
    ] = Field(title="User", default=UNSET)
    assignees: List[
        Union[WebhookIssuesDemilestonedPropIssueAllof0PropAssigneesItems, None]
    ] = Field(default=...)
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="AuthorAssociation",
        description="How the author is associated with the repository.",
        default=...,
    )
    body: Union[str, None] = Field(description="Contents of the issue", default=...)
    closed_at: Union[datetime, None] = Field(default=...)
    comments: int = Field(default=...)
    comments_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    draft: Union[Unset, bool] = Field(default=UNSET)
    events_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels: Union[
        Unset, List[WebhookIssuesDemilestonedPropIssueAllof0PropLabelsItems]
    ] = Field(default=UNSET)
    labels_url: str = Field(default=...)
    locked: Union[Unset, bool] = Field(default=UNSET)
    milestone: Union[
        WebhookIssuesDemilestonedPropIssueAllof0PropMilestone, None
    ] = Field(
        title="Milestone",
        description="A collection of related issues and pull requests.",
        default=...,
    )
    node_id: str = Field(default=...)
    number: int = Field(default=...)
    performed_via_github_app: Union[
        Unset,
        Union[WebhookIssuesDemilestonedPropIssueAllof0PropPerformedViaGithubApp, None],
    ] = Field(
        title="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.",
        default=UNSET,
    )
    pull_request: Union[
        Unset, WebhookIssuesDemilestonedPropIssueAllof0PropPullRequest
    ] = Field(default=UNSET)
    reactions: WebhookIssuesDemilestonedPropIssueAllof0PropReactions = Field(
        title="Reactions", default=...
    )
    repository_url: str = Field(default=...)
    state: Union[Unset, Literal["open", "closed"]] = Field(
        description="State of the issue; either 'open' or 'closed'", default=UNSET
    )
    state_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: str = Field(description="Title of the issue", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(description="URL for the issue", default=...)
    user: Union[WebhookIssuesDemilestonedPropIssueAllof0PropUser, None] = Field(
        title="User", default=...
    )


class WebhookIssuesDemilestonedPropIssueAllof0PropAssignee(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesDemilestonedPropIssueAllof0PropAssigneesItems(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesDemilestonedPropIssueAllof0PropLabelsItems(GitHubRestModel):
    """Label"""

    color: str = Field(
        description="6-character hex code, without the leading #, identifying the color",
        default=...,
    )
    default: bool = Field(default=...)
    description: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="The name of the label.", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the label", default=...)


class WebhookIssuesDemilestonedPropIssueAllof0PropMilestonePropCreator(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesDemilestonedPropIssueAllof0PropMilestone(GitHubRestModel):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None] = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[
        WebhookIssuesDemilestonedPropIssueAllof0PropMilestonePropCreator, None
    ] = Field(title="User", default=...)
    description: Union[str, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    open_issues: int = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default=...
    )
    title: str = Field(description="The title of the milestone.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesDemilestonedPropIssueAllof0PropPerformedViaGithubAppPropOwner(
    GitHubRestModel
):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesDemilestonedPropIssueAllof0PropPerformedViaGithubAppPropPermissions(
    GitHubRestModel
):
    """WebhookIssuesDemilestonedPropIssueAllof0PropPerformedViaGithubAppPropPermissions

    The set of permissions for the GitHub app
    """

    actions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    administration: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    checks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    content_references: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    contents: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    deployments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    emails: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    environments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    issues: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    keys: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    members: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    metadata: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_administration: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_plan: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_projects: Union[Unset, Literal["read", "write", "admin"]] = Field(
        default=UNSET
    )
    organization_secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_self_hosted_runners: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_user_blocking: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pull_requests: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_projects: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    secret_scanning_alerts: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_events: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_scanning_alert: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    single_file: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    statuses: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    team_discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    vulnerability_alerts: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    workflows: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)


class WebhookIssuesDemilestonedPropIssueAllof0PropPerformedViaGithubApp(
    GitHubRestModel
):
    """App

    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.
    """

    created_at: Union[datetime, None] = Field(default=...)
    description: Union[str, None] = Field(default=...)
    events: Union[
        Unset,
        List[
            Literal[
                "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",
            ]
        ],
    ] = Field(description="The list of events for the GitHub app", default=UNSET)
    external_url: Union[str, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: Union[int, None] = Field(
        description="Unique identifier of the GitHub app", default=...
    )
    name: str = Field(description="The name of the GitHub app", default=...)
    node_id: str = Field(default=...)
    owner: Union[
        WebhookIssuesDemilestonedPropIssueAllof0PropPerformedViaGithubAppPropOwner, None
    ] = Field(title="User", default=...)
    permissions: Union[
        Unset,
        WebhookIssuesDemilestonedPropIssueAllof0PropPerformedViaGithubAppPropPermissions,
    ] = Field(description="The set of permissions for the GitHub app", default=UNSET)
    slug: Union[Unset, str] = Field(
        description="The slug name of the GitHub app", default=UNSET
    )
    updated_at: Union[datetime, None] = Field(default=...)


class WebhookIssuesDemilestonedPropIssueAllof0PropPullRequest(GitHubRestModel):
    """WebhookIssuesDemilestonedPropIssueAllof0PropPullRequest"""

    diff_url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    merged_at: Union[Unset, Union[datetime, None]] = Field(default=UNSET)
    patch_url: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesDemilestonedPropIssueAllof0PropReactions(GitHubRestModel):
    """Reactions"""

    plus_one: int = Field(default=..., alias="+1")
    minus_one: int = Field(default=..., alias="-1")
    confused: int = Field(default=...)
    eyes: int = Field(default=...)
    heart: int = Field(default=...)
    hooray: int = Field(default=...)
    laugh: int = Field(default=...)
    rocket: int = Field(default=...)
    total_count: int = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesDemilestonedPropIssueAllof0PropUser(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesDemilestonedPropIssueAllof1(GitHubRestModel):
    """WebhookIssuesDemilestonedPropIssueAllof1"""

    active_lock_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    assignee: Union[
        Unset, Union[WebhookIssuesDemilestonedPropIssueAllof1PropAssignee, None]
    ] = Field(default=UNSET)
    assignees: Union[
        Unset,
        List[Union[WebhookIssuesDemilestonedPropIssueAllof1PropAssigneesItems, None]],
    ] = Field(default=UNSET)
    author_association: Union[Unset, str] = Field(default=UNSET)
    body: Union[Unset, Union[str, None]] = Field(default=UNSET)
    closed_at: Union[Unset, Union[str, None]] = Field(default=UNSET)
    comments: Union[Unset, int] = Field(default=UNSET)
    comments_url: Union[Unset, str] = Field(default=UNSET)
    created_at: Union[Unset, str] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: Union[Unset, int] = Field(default=UNSET)
    labels: Union[
        Unset,
        List[Union[WebhookIssuesDemilestonedPropIssueAllof1PropLabelsItems, None]],
    ] = Field(default=UNSET)
    labels_url: Union[Unset, str] = Field(default=UNSET)
    locked: Union[Unset, bool] = Field(default=UNSET)
    milestone: Union[
        WebhookIssuesDemilestonedPropIssueAllof1PropMilestone, None
    ] = Field(
        title="Milestone",
        description="A collection of related issues and pull requests.",
        default=...,
    )
    node_id: Union[Unset, str] = Field(default=UNSET)
    number: Union[Unset, int] = Field(default=UNSET)
    performed_via_github_app: Union[
        Unset,
        Union[WebhookIssuesDemilestonedPropIssueAllof1PropPerformedViaGithubApp, None],
    ] = Field(default=UNSET)
    reactions: Union[
        Unset, WebhookIssuesDemilestonedPropIssueAllof1PropReactions
    ] = Field(default=UNSET)
    repository_url: Union[Unset, str] = Field(default=UNSET)
    state: Union[Unset, str] = Field(default=UNSET)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: Union[Unset, str] = Field(default=UNSET)
    updated_at: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)
    user: Union[Unset, WebhookIssuesDemilestonedPropIssueAllof1PropUser] = Field(
        default=UNSET
    )


class WebhookIssuesDemilestonedPropIssueAllof1PropAssignee(GitHubRestModel):
    """WebhookIssuesDemilestonedPropIssueAllof1PropAssignee"""


class WebhookIssuesDemilestonedPropIssueAllof1PropAssigneesItems(GitHubRestModel):
    """WebhookIssuesDemilestonedPropIssueAllof1PropAssigneesItems"""


class WebhookIssuesDemilestonedPropIssueAllof1PropLabelsItems(GitHubRestModel):
    """WebhookIssuesDemilestonedPropIssueAllof1PropLabelsItems"""


class WebhookIssuesDemilestonedPropIssueAllof1PropMilestonePropCreator(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesDemilestonedPropIssueAllof1PropMilestone(GitHubRestModel):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None] = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[
        WebhookIssuesDemilestonedPropIssueAllof1PropMilestonePropCreator, None
    ] = Field(title="User", default=...)
    description: Union[str, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    open_issues: int = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default=...
    )
    title: str = Field(description="The title of the milestone.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesDemilestonedPropIssueAllof1PropPerformedViaGithubApp(
    GitHubRestModel
):
    """WebhookIssuesDemilestonedPropIssueAllof1PropPerformedViaGithubApp"""


class WebhookIssuesDemilestonedPropIssueAllof1PropReactions(GitHubRestModel):
    """WebhookIssuesDemilestonedPropIssueAllof1PropReactions"""

    plus_one: Union[Unset, int] = Field(default=UNSET, alias="+1")
    minus_one: Union[Unset, int] = Field(default=UNSET, alias="-1")
    confused: Union[Unset, int] = Field(default=UNSET)
    eyes: Union[Unset, int] = Field(default=UNSET)
    heart: Union[Unset, int] = Field(default=UNSET)
    hooray: Union[Unset, int] = Field(default=UNSET)
    laugh: Union[Unset, int] = Field(default=UNSET)
    rocket: Union[Unset, int] = Field(default=UNSET)
    total_count: Union[Unset, int] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesDemilestonedPropIssueAllof1PropUser(GitHubRestModel):
    """WebhookIssuesDemilestonedPropIssueAllof1PropUser"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: Union[Unset, int] = Field(default=UNSET)
    login: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesDemilestonedPropIssueMergedAssignee(GitHubRestModel):
    """WebhookIssuesDemilestonedPropIssueMergedAssignee"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesDemilestonedPropIssueMergedAssignees(GitHubRestModel):
    """WebhookIssuesDemilestonedPropIssueMergedAssignees"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesDemilestonedPropIssueMergedLabels(GitHubRestModel):
    """WebhookIssuesDemilestonedPropIssueMergedLabels"""

    color: str = Field(
        description="6-character hex code, without the leading #, identifying the color",
        default=...,
    )
    default: bool = Field(default=...)
    description: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="The name of the label.", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the label", default=...)


class WebhookIssuesDemilestonedPropIssueMergedPerformedViaGithubApp(GitHubRestModel):
    """WebhookIssuesDemilestonedPropIssueMergedPerformedViaGithubApp"""

    created_at: Union[datetime, None] = Field(default=...)
    description: Union[str, None] = Field(default=...)
    events: Union[
        Unset,
        List[
            Literal[
                "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",
            ]
        ],
    ] = Field(description="The list of events for the GitHub app", default=UNSET)
    external_url: Union[str, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: Union[int, None] = Field(
        description="Unique identifier of the GitHub app", default=...
    )
    name: str = Field(description="The name of the GitHub app", default=...)
    node_id: str = Field(default=...)
    owner: Union[
        WebhookIssuesDemilestonedPropIssueAllof0PropPerformedViaGithubAppPropOwner, None
    ] = Field(title="User", default=...)
    permissions: Union[
        Unset,
        WebhookIssuesDemilestonedPropIssueAllof0PropPerformedViaGithubAppPropPermissions,
    ] = Field(description="The set of permissions for the GitHub app", default=UNSET)
    slug: Union[Unset, str] = Field(
        description="The slug name of the GitHub app", default=UNSET
    )
    updated_at: Union[datetime, None] = Field(default=...)


class WebhookIssuesDemilestonedPropIssueMergedReactions(GitHubRestModel):
    """WebhookIssuesDemilestonedPropIssueMergedReactions"""

    plus_one: int = Field(default=..., alias="+1")
    minus_one: int = Field(default=..., alias="-1")
    confused: int = Field(default=...)
    eyes: int = Field(default=...)
    heart: int = Field(default=...)
    hooray: int = Field(default=...)
    laugh: int = Field(default=...)
    rocket: int = Field(default=...)
    total_count: int = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesDemilestonedPropIssueMergedUser(GitHubRestModel):
    """WebhookIssuesDemilestonedPropIssueMergedUser"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesDemilestonedPropMilestone(GitHubRestModel):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None] = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[WebhookIssuesDemilestonedPropMilestonePropCreator, None] = Field(
        title="User", default=...
    )
    description: Union[str, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    open_issues: int = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default=...
    )
    title: str = Field(description="The title of the milestone.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesDemilestonedPropMilestonePropCreator(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesEdited(GitHubRestModel):
    """issues edited event"""

    action: Literal["edited"] = Field(default=...)
    changes: WebhookIssuesEditedPropChanges = Field(
        description="The changes to the issue.", default=...
    )
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    issue: WebhookIssuesEditedPropIssue = Field(
        title="Issue",
        description="The [issue](https://docs.github.com/en/rest/reference/issues) itself.",
        default=...,
    )
    label: Union[Unset, WebhookIssuesEditedPropLabel] = Field(
        title="Label", default=UNSET
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookIssuesEditedPropChanges(GitHubRestModel):
    """WebhookIssuesEditedPropChanges

    The changes to the issue.
    """

    body: Union[Unset, WebhookIssuesEditedPropChangesPropBody] = Field(default=UNSET)
    title: Union[Unset, WebhookIssuesEditedPropChangesPropTitle] = Field(default=UNSET)


class WebhookIssuesEditedPropChangesPropBody(GitHubRestModel):
    """WebhookIssuesEditedPropChangesPropBody"""

    from_: str = Field(
        description="The previous version of the body.", default=..., alias="from"
    )


class WebhookIssuesEditedPropChangesPropTitle(GitHubRestModel):
    """WebhookIssuesEditedPropChangesPropTitle"""

    from_: str = Field(
        description="The previous version of the title.", default=..., alias="from"
    )


class WebhookIssuesEditedPropIssue(GitHubRestModel):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ] = Field(default=...)
    assignee: Union[
        Unset, Union[WebhookIssuesEditedPropIssuePropAssignee, None]
    ] = Field(title="User", default=UNSET)
    assignees: List[
        Union[WebhookIssuesEditedPropIssuePropAssigneesItems, None]
    ] = Field(default=...)
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="AuthorAssociation",
        description="How the author is associated with the repository.",
        default=...,
    )
    body: Union[str, None] = Field(description="Contents of the issue", default=...)
    closed_at: Union[datetime, None] = Field(default=...)
    comments: int = Field(default=...)
    comments_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    draft: Union[Unset, bool] = Field(default=UNSET)
    events_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels: Union[Unset, List[WebhookIssuesEditedPropIssuePropLabelsItems]] = Field(
        default=UNSET
    )
    labels_url: str = Field(default=...)
    locked: Union[Unset, bool] = Field(default=UNSET)
    milestone: Union[WebhookIssuesEditedPropIssuePropMilestone, None] = Field(
        title="Milestone",
        description="A collection of related issues and pull requests.",
        default=...,
    )
    node_id: str = Field(default=...)
    number: int = Field(default=...)
    performed_via_github_app: Union[
        Unset, Union[WebhookIssuesEditedPropIssuePropPerformedViaGithubApp, None]
    ] = Field(
        title="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.",
        default=UNSET,
    )
    pull_request: Union[Unset, WebhookIssuesEditedPropIssuePropPullRequest] = Field(
        default=UNSET
    )
    reactions: WebhookIssuesEditedPropIssuePropReactions = Field(
        title="Reactions", default=...
    )
    repository_url: str = Field(default=...)
    state: Union[Unset, Literal["open", "closed"]] = Field(
        description="State of the issue; either 'open' or 'closed'", default=UNSET
    )
    state_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: str = Field(description="Title of the issue", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(description="URL for the issue", default=...)
    user: Union[WebhookIssuesEditedPropIssuePropUser, None] = Field(
        title="User", default=...
    )


class WebhookIssuesEditedPropIssuePropAssignee(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesEditedPropIssuePropAssigneesItems(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesEditedPropIssuePropLabelsItems(GitHubRestModel):
    """Label"""

    color: str = Field(
        description="6-character hex code, without the leading #, identifying the color",
        default=...,
    )
    default: bool = Field(default=...)
    description: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="The name of the label.", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the label", default=...)


class WebhookIssuesEditedPropIssuePropMilestonePropCreator(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesEditedPropIssuePropMilestone(GitHubRestModel):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None] = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[WebhookIssuesEditedPropIssuePropMilestonePropCreator, None] = Field(
        title="User", default=...
    )
    description: Union[str, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    open_issues: int = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default=...
    )
    title: str = Field(description="The title of the milestone.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesEditedPropIssuePropPerformedViaGithubAppPropOwner(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesEditedPropIssuePropPerformedViaGithubAppPropPermissions(
    GitHubRestModel
):
    """WebhookIssuesEditedPropIssuePropPerformedViaGithubAppPropPermissions

    The set of permissions for the GitHub app
    """

    actions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    administration: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    checks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    content_references: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    contents: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    deployments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    emails: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    environments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    issues: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    keys: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    members: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    metadata: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_administration: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_plan: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_projects: Union[Unset, Literal["read", "write", "admin"]] = Field(
        default=UNSET
    )
    organization_secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_self_hosted_runners: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_user_blocking: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pull_requests: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_projects: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    secret_scanning_alerts: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_events: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_scanning_alert: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    single_file: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    statuses: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    team_discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    vulnerability_alerts: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    workflows: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)


class WebhookIssuesEditedPropIssuePropPerformedViaGithubApp(GitHubRestModel):
    """App

    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.
    """

    created_at: Union[datetime, None] = Field(default=...)
    description: Union[str, None] = Field(default=...)
    events: Union[
        Unset,
        List[
            Literal[
                "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",
            ]
        ],
    ] = Field(description="The list of events for the GitHub app", default=UNSET)
    external_url: Union[str, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: Union[int, None] = Field(
        description="Unique identifier of the GitHub app", default=...
    )
    name: str = Field(description="The name of the GitHub app", default=...)
    node_id: str = Field(default=...)
    owner: Union[
        WebhookIssuesEditedPropIssuePropPerformedViaGithubAppPropOwner, None
    ] = Field(title="User", default=...)
    permissions: Union[
        Unset, WebhookIssuesEditedPropIssuePropPerformedViaGithubAppPropPermissions
    ] = Field(description="The set of permissions for the GitHub app", default=UNSET)
    slug: Union[Unset, str] = Field(
        description="The slug name of the GitHub app", default=UNSET
    )
    updated_at: Union[datetime, None] = Field(default=...)


class WebhookIssuesEditedPropIssuePropPullRequest(GitHubRestModel):
    """WebhookIssuesEditedPropIssuePropPullRequest"""

    diff_url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    merged_at: Union[Unset, Union[datetime, None]] = Field(default=UNSET)
    patch_url: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesEditedPropIssuePropReactions(GitHubRestModel):
    """Reactions"""

    plus_one: int = Field(default=..., alias="+1")
    minus_one: int = Field(default=..., alias="-1")
    confused: int = Field(default=...)
    eyes: int = Field(default=...)
    heart: int = Field(default=...)
    hooray: int = Field(default=...)
    laugh: int = Field(default=...)
    rocket: int = Field(default=...)
    total_count: int = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesEditedPropIssuePropUser(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesEditedPropLabel(GitHubRestModel):
    """Label"""

    color: str = Field(
        description="6-character hex code, without the leading #, identifying the color",
        default=...,
    )
    default: bool = Field(default=...)
    description: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="The name of the label.", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the label", default=...)


class WebhookIssuesLabeled(GitHubRestModel):
    """issues labeled event"""

    action: Literal["labeled"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    issue: WebhookIssuesLabeledPropIssue = Field(
        title="Issue",
        description="The [issue](https://docs.github.com/en/rest/reference/issues) itself.",
        default=...,
    )
    label: Union[Unset, WebhookIssuesLabeledPropLabel] = Field(
        title="Label", default=UNSET
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookIssuesLabeledPropIssue(GitHubRestModel):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ] = Field(default=...)
    assignee: Union[
        Unset, Union[WebhookIssuesLabeledPropIssuePropAssignee, None]
    ] = Field(title="User", default=UNSET)
    assignees: List[
        Union[WebhookIssuesLabeledPropIssuePropAssigneesItems, None]
    ] = Field(default=...)
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="AuthorAssociation",
        description="How the author is associated with the repository.",
        default=...,
    )
    body: Union[str, None] = Field(description="Contents of the issue", default=...)
    closed_at: Union[datetime, None] = Field(default=...)
    comments: int = Field(default=...)
    comments_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    draft: Union[Unset, bool] = Field(default=UNSET)
    events_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels: Union[Unset, List[WebhookIssuesLabeledPropIssuePropLabelsItems]] = Field(
        default=UNSET
    )
    labels_url: str = Field(default=...)
    locked: Union[Unset, bool] = Field(default=UNSET)
    milestone: Union[WebhookIssuesLabeledPropIssuePropMilestone, None] = Field(
        title="Milestone",
        description="A collection of related issues and pull requests.",
        default=...,
    )
    node_id: str = Field(default=...)
    number: int = Field(default=...)
    performed_via_github_app: Union[
        Unset, Union[WebhookIssuesLabeledPropIssuePropPerformedViaGithubApp, None]
    ] = Field(
        title="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.",
        default=UNSET,
    )
    pull_request: Union[Unset, WebhookIssuesLabeledPropIssuePropPullRequest] = Field(
        default=UNSET
    )
    reactions: WebhookIssuesLabeledPropIssuePropReactions = Field(
        title="Reactions", default=...
    )
    repository_url: str = Field(default=...)
    state: Union[Unset, Literal["open", "closed"]] = Field(
        description="State of the issue; either 'open' or 'closed'", default=UNSET
    )
    state_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: str = Field(description="Title of the issue", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(description="URL for the issue", default=...)
    user: Union[WebhookIssuesLabeledPropIssuePropUser, None] = Field(
        title="User", default=...
    )


class WebhookIssuesLabeledPropIssuePropAssignee(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesLabeledPropIssuePropAssigneesItems(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesLabeledPropIssuePropLabelsItems(GitHubRestModel):
    """Label"""

    color: str = Field(
        description="6-character hex code, without the leading #, identifying the color",
        default=...,
    )
    default: bool = Field(default=...)
    description: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="The name of the label.", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the label", default=...)


class WebhookIssuesLabeledPropIssuePropMilestonePropCreator(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesLabeledPropIssuePropMilestone(GitHubRestModel):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None] = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[WebhookIssuesLabeledPropIssuePropMilestonePropCreator, None] = Field(
        title="User", default=...
    )
    description: Union[str, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    open_issues: int = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default=...
    )
    title: str = Field(description="The title of the milestone.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesLabeledPropIssuePropPerformedViaGithubAppPropOwner(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesLabeledPropIssuePropPerformedViaGithubAppPropPermissions(
    GitHubRestModel
):
    """WebhookIssuesLabeledPropIssuePropPerformedViaGithubAppPropPermissions

    The set of permissions for the GitHub app
    """

    actions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    administration: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    checks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    content_references: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    contents: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    deployments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    emails: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    environments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    issues: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    keys: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    members: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    metadata: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_administration: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_plan: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_projects: Union[Unset, Literal["read", "write", "admin"]] = Field(
        default=UNSET
    )
    organization_secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_self_hosted_runners: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_user_blocking: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pull_requests: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_projects: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    secret_scanning_alerts: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_events: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_scanning_alert: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    single_file: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    statuses: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    team_discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    vulnerability_alerts: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    workflows: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)


class WebhookIssuesLabeledPropIssuePropPerformedViaGithubApp(GitHubRestModel):
    """App

    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.
    """

    created_at: Union[datetime, None] = Field(default=...)
    description: Union[str, None] = Field(default=...)
    events: Union[
        Unset,
        List[
            Literal[
                "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",
            ]
        ],
    ] = Field(description="The list of events for the GitHub app", default=UNSET)
    external_url: Union[str, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: Union[int, None] = Field(
        description="Unique identifier of the GitHub app", default=...
    )
    name: str = Field(description="The name of the GitHub app", default=...)
    node_id: str = Field(default=...)
    owner: Union[
        WebhookIssuesLabeledPropIssuePropPerformedViaGithubAppPropOwner, None
    ] = Field(title="User", default=...)
    permissions: Union[
        Unset, WebhookIssuesLabeledPropIssuePropPerformedViaGithubAppPropPermissions
    ] = Field(description="The set of permissions for the GitHub app", default=UNSET)
    slug: Union[Unset, str] = Field(
        description="The slug name of the GitHub app", default=UNSET
    )
    updated_at: Union[datetime, None] = Field(default=...)


class WebhookIssuesLabeledPropIssuePropPullRequest(GitHubRestModel):
    """WebhookIssuesLabeledPropIssuePropPullRequest"""

    diff_url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    merged_at: Union[Unset, Union[datetime, None]] = Field(default=UNSET)
    patch_url: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesLabeledPropIssuePropReactions(GitHubRestModel):
    """Reactions"""

    plus_one: int = Field(default=..., alias="+1")
    minus_one: int = Field(default=..., alias="-1")
    confused: int = Field(default=...)
    eyes: int = Field(default=...)
    heart: int = Field(default=...)
    hooray: int = Field(default=...)
    laugh: int = Field(default=...)
    rocket: int = Field(default=...)
    total_count: int = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesLabeledPropIssuePropUser(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesLabeledPropLabel(GitHubRestModel):
    """Label"""

    color: str = Field(
        description="6-character hex code, without the leading #, identifying the color",
        default=...,
    )
    default: bool = Field(default=...)
    description: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="The name of the label.", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the label", default=...)


class WebhookIssuesLocked(GitHubRestModel):
    """issues locked event"""

    action: Literal["locked"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    issue: WebhookIssuesLockedPropIssue = Field(default=...)
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookIssuesLockedPropIssue(GitHubRestModel):
    """WebhookIssuesLockedPropIssue"""

    active_lock_reason: Union[
        Union[None, Literal["resolved", "off-topic", "too heated", "spam"]], None
    ] = Field(default=...)
    assignee: Union[
        Unset, Union[WebhookIssuesLockedPropIssueMergedAssignee, None]
    ] = Field(default=UNSET)
    assignees: List[WebhookIssuesLockedPropIssueMergedAssignees] = Field(default=...)
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="AuthorAssociation",
        description="How the author is associated with the repository.",
        default=...,
    )
    body: Union[Union[str, None], None] = Field(
        description="Contents of the issue", default=...
    )
    closed_at: Union[Union[datetime, None], None] = Field(default=...)
    comments: int = Field(default=...)
    comments_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    draft: Union[Unset, bool] = Field(default=UNSET)
    events_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels: Union[Unset, List[WebhookIssuesLockedPropIssueMergedLabels]] = Field(
        default=UNSET
    )
    labels_url: str = Field(default=...)
    locked: Literal[True] = Field(default=...)
    milestone: Union[WebhookIssuesLockedPropIssueMergedMilestone, None] = Field(
        default=...
    )
    node_id: str = Field(default=...)
    number: int = Field(default=...)
    performed_via_github_app: Union[
        Unset, Union[WebhookIssuesLockedPropIssueMergedPerformedViaGithubApp, None]
    ] = Field(default=UNSET)
    pull_request: Union[
        Unset, WebhookIssuesLockedPropIssueAllof0PropPullRequest
    ] = Field(default=UNSET)
    reactions: WebhookIssuesLockedPropIssueMergedReactions = Field(default=...)
    repository_url: str = Field(default=...)
    state: Union[Unset, Literal["open", "closed"]] = Field(
        description="State of the issue; either 'open' or 'closed'", default=UNSET
    )
    state_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: str = Field(description="Title of the issue", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(description="URL for the issue", default=...)
    user: WebhookIssuesLockedPropIssueMergedUser = Field(default=...)


class WebhookIssuesLockedPropIssueAllof0(GitHubRestModel):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ] = Field(default=...)
    assignee: Union[
        Unset, Union[WebhookIssuesLockedPropIssueAllof0PropAssignee, None]
    ] = Field(title="User", default=UNSET)
    assignees: List[
        Union[WebhookIssuesLockedPropIssueAllof0PropAssigneesItems, None]
    ] = Field(default=...)
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="AuthorAssociation",
        description="How the author is associated with the repository.",
        default=...,
    )
    body: Union[str, None] = Field(description="Contents of the issue", default=...)
    closed_at: Union[datetime, None] = Field(default=...)
    comments: int = Field(default=...)
    comments_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    draft: Union[Unset, bool] = Field(default=UNSET)
    events_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels: Union[
        Unset, List[WebhookIssuesLockedPropIssueAllof0PropLabelsItems]
    ] = Field(default=UNSET)
    labels_url: str = Field(default=...)
    locked: Union[Unset, bool] = Field(default=UNSET)
    milestone: Union[WebhookIssuesLockedPropIssueAllof0PropMilestone, None] = Field(
        title="Milestone",
        description="A collection of related issues and pull requests.",
        default=...,
    )
    node_id: str = Field(default=...)
    number: int = Field(default=...)
    performed_via_github_app: Union[
        Unset, Union[WebhookIssuesLockedPropIssueAllof0PropPerformedViaGithubApp, None]
    ] = Field(
        title="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.",
        default=UNSET,
    )
    pull_request: Union[
        Unset, WebhookIssuesLockedPropIssueAllof0PropPullRequest
    ] = Field(default=UNSET)
    reactions: WebhookIssuesLockedPropIssueAllof0PropReactions = Field(
        title="Reactions", default=...
    )
    repository_url: str = Field(default=...)
    state: Union[Unset, Literal["open", "closed"]] = Field(
        description="State of the issue; either 'open' or 'closed'", default=UNSET
    )
    state_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: str = Field(description="Title of the issue", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(description="URL for the issue", default=...)
    user: Union[WebhookIssuesLockedPropIssueAllof0PropUser, None] = Field(
        title="User", default=...
    )


class WebhookIssuesLockedPropIssueAllof0PropAssignee(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesLockedPropIssueAllof0PropAssigneesItems(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesLockedPropIssueAllof0PropLabelsItems(GitHubRestModel):
    """Label"""

    color: str = Field(
        description="6-character hex code, without the leading #, identifying the color",
        default=...,
    )
    default: bool = Field(default=...)
    description: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="The name of the label.", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the label", default=...)


class WebhookIssuesLockedPropIssueAllof0PropMilestonePropCreator(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesLockedPropIssueAllof0PropMilestone(GitHubRestModel):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None] = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[
        WebhookIssuesLockedPropIssueAllof0PropMilestonePropCreator, None
    ] = Field(title="User", default=...)
    description: Union[str, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    open_issues: int = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default=...
    )
    title: str = Field(description="The title of the milestone.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesLockedPropIssueAllof0PropPerformedViaGithubAppPropOwner(
    GitHubRestModel
):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesLockedPropIssueAllof0PropPerformedViaGithubAppPropPermissions(
    GitHubRestModel
):
    """WebhookIssuesLockedPropIssueAllof0PropPerformedViaGithubAppPropPermissions

    The set of permissions for the GitHub app
    """

    actions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    administration: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    checks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    content_references: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    contents: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    deployments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    emails: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    environments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    issues: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    keys: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    members: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    metadata: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_administration: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_plan: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_projects: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_self_hosted_runners: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_user_blocking: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pull_requests: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_projects: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    secret_scanning_alerts: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_events: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_scanning_alert: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    single_file: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    statuses: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    team_discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    vulnerability_alerts: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    workflows: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)


class WebhookIssuesLockedPropIssueAllof0PropPerformedViaGithubApp(GitHubRestModel):
    """App

    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.
    """

    created_at: Union[datetime, None] = Field(default=...)
    description: Union[str, None] = Field(default=...)
    events: Union[
        Unset,
        List[
            Literal[
                "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",
            ]
        ],
    ] = Field(description="The list of events for the GitHub app", default=UNSET)
    external_url: Union[str, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: Union[int, None] = Field(
        description="Unique identifier of the GitHub app", default=...
    )
    name: str = Field(description="The name of the GitHub app", default=...)
    node_id: str = Field(default=...)
    owner: Union[
        WebhookIssuesLockedPropIssueAllof0PropPerformedViaGithubAppPropOwner, None
    ] = Field(title="User", default=...)
    permissions: Union[
        Unset,
        WebhookIssuesLockedPropIssueAllof0PropPerformedViaGithubAppPropPermissions,
    ] = Field(description="The set of permissions for the GitHub app", default=UNSET)
    slug: Union[Unset, str] = Field(
        description="The slug name of the GitHub app", default=UNSET
    )
    updated_at: Union[datetime, None] = Field(default=...)


class WebhookIssuesLockedPropIssueAllof0PropPullRequest(GitHubRestModel):
    """WebhookIssuesLockedPropIssueAllof0PropPullRequest"""

    diff_url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    merged_at: Union[Unset, Union[datetime, None]] = Field(default=UNSET)
    patch_url: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesLockedPropIssueAllof0PropReactions(GitHubRestModel):
    """Reactions"""

    plus_one: int = Field(default=..., alias="+1")
    minus_one: int = Field(default=..., alias="-1")
    confused: int = Field(default=...)
    eyes: int = Field(default=...)
    heart: int = Field(default=...)
    hooray: int = Field(default=...)
    laugh: int = Field(default=...)
    rocket: int = Field(default=...)
    total_count: int = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesLockedPropIssueAllof0PropUser(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesLockedPropIssueAllof1(GitHubRestModel):
    """WebhookIssuesLockedPropIssueAllof1"""

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ] = Field(default=...)
    assignee: Union[
        Unset, Union[WebhookIssuesLockedPropIssueAllof1PropAssignee, None]
    ] = Field(default=UNSET)
    assignees: Union[
        Unset, List[Union[WebhookIssuesLockedPropIssueAllof1PropAssigneesItems, None]]
    ] = Field(default=UNSET)
    author_association: Union[Unset, str] = Field(default=UNSET)
    body: Union[Unset, Union[str, None]] = Field(default=UNSET)
    closed_at: Union[Unset, Union[str, None]] = Field(default=UNSET)
    comments: Union[Unset, int] = Field(default=UNSET)
    comments_url: Union[Unset, str] = Field(default=UNSET)
    created_at: Union[Unset, str] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: Union[Unset, int] = Field(default=UNSET)
    labels: Union[
        Unset, List[Union[WebhookIssuesLockedPropIssueAllof1PropLabelsItems, None]]
    ] = Field(default=UNSET)
    labels_url: Union[Unset, str] = Field(default=UNSET)
    locked: Literal[True] = Field(default=...)
    milestone: Union[
        Unset, Union[WebhookIssuesLockedPropIssueAllof1PropMilestone, None]
    ] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    number: Union[Unset, int] = Field(default=UNSET)
    performed_via_github_app: Union[
        Unset, Union[WebhookIssuesLockedPropIssueAllof1PropPerformedViaGithubApp, None]
    ] = Field(default=UNSET)
    reactions: Union[Unset, WebhookIssuesLockedPropIssueAllof1PropReactions] = Field(
        default=UNSET
    )
    repository_url: Union[Unset, str] = Field(default=UNSET)
    state: Union[Unset, str] = Field(default=UNSET)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: Union[Unset, str] = Field(default=UNSET)
    updated_at: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)
    user: Union[Unset, WebhookIssuesLockedPropIssueAllof1PropUser] = Field(
        default=UNSET
    )


class WebhookIssuesLockedPropIssueAllof1PropAssignee(GitHubRestModel):
    """WebhookIssuesLockedPropIssueAllof1PropAssignee"""


class WebhookIssuesLockedPropIssueAllof1PropAssigneesItems(GitHubRestModel):
    """WebhookIssuesLockedPropIssueAllof1PropAssigneesItems"""


class WebhookIssuesLockedPropIssueAllof1PropLabelsItems(GitHubRestModel):
    """WebhookIssuesLockedPropIssueAllof1PropLabelsItems"""


class WebhookIssuesLockedPropIssueAllof1PropMilestone(GitHubRestModel):
    """WebhookIssuesLockedPropIssueAllof1PropMilestone"""


class WebhookIssuesLockedPropIssueAllof1PropPerformedViaGithubApp(GitHubRestModel):
    """WebhookIssuesLockedPropIssueAllof1PropPerformedViaGithubApp"""


class WebhookIssuesLockedPropIssueAllof1PropReactions(GitHubRestModel):
    """WebhookIssuesLockedPropIssueAllof1PropReactions"""

    plus_one: Union[Unset, int] = Field(default=UNSET, alias="+1")
    minus_one: Union[Unset, int] = Field(default=UNSET, alias="-1")
    confused: Union[Unset, int] = Field(default=UNSET)
    eyes: Union[Unset, int] = Field(default=UNSET)
    heart: Union[Unset, int] = Field(default=UNSET)
    hooray: Union[Unset, int] = Field(default=UNSET)
    laugh: Union[Unset, int] = Field(default=UNSET)
    rocket: Union[Unset, int] = Field(default=UNSET)
    total_count: Union[Unset, int] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesLockedPropIssueAllof1PropUser(GitHubRestModel):
    """WebhookIssuesLockedPropIssueAllof1PropUser"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: Union[Unset, int] = Field(default=UNSET)
    login: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesLockedPropIssueMergedAssignee(GitHubRestModel):
    """WebhookIssuesLockedPropIssueMergedAssignee"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesLockedPropIssueMergedAssignees(GitHubRestModel):
    """WebhookIssuesLockedPropIssueMergedAssignees"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesLockedPropIssueMergedLabels(GitHubRestModel):
    """WebhookIssuesLockedPropIssueMergedLabels"""

    color: str = Field(
        description="6-character hex code, without the leading #, identifying the color",
        default=...,
    )
    default: bool = Field(default=...)
    description: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="The name of the label.", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the label", default=...)


class WebhookIssuesLockedPropIssueMergedMilestone(GitHubRestModel):
    """WebhookIssuesLockedPropIssueMergedMilestone"""

    closed_at: Union[datetime, None] = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[
        WebhookIssuesLockedPropIssueAllof0PropMilestonePropCreator, None
    ] = Field(title="User", default=...)
    description: Union[str, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    open_issues: int = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default=...
    )
    title: str = Field(description="The title of the milestone.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesLockedPropIssueMergedPerformedViaGithubApp(GitHubRestModel):
    """WebhookIssuesLockedPropIssueMergedPerformedViaGithubApp"""

    created_at: Union[datetime, None] = Field(default=...)
    description: Union[str, None] = Field(default=...)
    events: Union[
        Unset,
        List[
            Literal[
                "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",
            ]
        ],
    ] = Field(description="The list of events for the GitHub app", default=UNSET)
    external_url: Union[str, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: Union[int, None] = Field(
        description="Unique identifier of the GitHub app", default=...
    )
    name: str = Field(description="The name of the GitHub app", default=...)
    node_id: str = Field(default=...)
    owner: Union[
        WebhookIssuesLockedPropIssueAllof0PropPerformedViaGithubAppPropOwner, None
    ] = Field(title="User", default=...)
    permissions: Union[
        Unset,
        WebhookIssuesLockedPropIssueAllof0PropPerformedViaGithubAppPropPermissions,
    ] = Field(description="The set of permissions for the GitHub app", default=UNSET)
    slug: Union[Unset, str] = Field(
        description="The slug name of the GitHub app", default=UNSET
    )
    updated_at: Union[datetime, None] = Field(default=...)


class WebhookIssuesLockedPropIssueMergedReactions(GitHubRestModel):
    """WebhookIssuesLockedPropIssueMergedReactions"""

    plus_one: int = Field(default=..., alias="+1")
    minus_one: int = Field(default=..., alias="-1")
    confused: int = Field(default=...)
    eyes: int = Field(default=...)
    heart: int = Field(default=...)
    hooray: int = Field(default=...)
    laugh: int = Field(default=...)
    rocket: int = Field(default=...)
    total_count: int = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesLockedPropIssueMergedUser(GitHubRestModel):
    """WebhookIssuesLockedPropIssueMergedUser"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesMilestoned(GitHubRestModel):
    """issues milestoned event"""

    action: Literal["milestoned"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    issue: WebhookIssuesMilestonedPropIssue = Field(default=...)
    milestone: WebhookIssuesMilestonedPropMilestone = Field(
        title="Milestone",
        description="A collection of related issues and pull requests.",
        default=...,
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookIssuesMilestonedPropIssue(GitHubRestModel):
    """WebhookIssuesMilestonedPropIssue"""

    active_lock_reason: Union[
        Literal["resolved", "off-topic", "too heated", "spam"], None
    ] = Field(default=...)
    assignee: Union[
        Unset, Union[WebhookIssuesMilestonedPropIssueMergedAssignee, None]
    ] = Field(default=UNSET)
    assignees: List[WebhookIssuesMilestonedPropIssueMergedAssignees] = Field(
        default=...
    )
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="AuthorAssociation",
        description="How the author is associated with the repository.",
        default=...,
    )
    body: Union[Union[str, None], None] = Field(
        description="Contents of the issue", default=...
    )
    closed_at: Union[Union[datetime, None], None] = Field(default=...)
    comments: int = Field(default=...)
    comments_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    draft: Union[Unset, bool] = Field(default=UNSET)
    events_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels: Union[Unset, List[WebhookIssuesMilestonedPropIssueMergedLabels]] = Field(
        default=UNSET
    )
    labels_url: str = Field(default=...)
    locked: Union[Unset, bool] = Field(default=UNSET)
    milestone: WebhookIssuesMilestonedPropIssueAllof1PropMilestone = Field(
        title="Milestone",
        description="A collection of related issues and pull requests.",
        default=...,
    )
    node_id: str = Field(default=...)
    number: int = Field(default=...)
    performed_via_github_app: Union[
        Unset, Union[WebhookIssuesMilestonedPropIssueMergedPerformedViaGithubApp, None]
    ] = Field(default=UNSET)
    pull_request: Union[
        Unset, WebhookIssuesMilestonedPropIssueAllof0PropPullRequest
    ] = Field(default=UNSET)
    reactions: WebhookIssuesMilestonedPropIssueMergedReactions = Field(default=...)
    repository_url: str = Field(default=...)
    state: Union[Unset, Literal["open", "closed"]] = Field(
        description="State of the issue; either 'open' or 'closed'", default=UNSET
    )
    state_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: str = Field(description="Title of the issue", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(description="URL for the issue", default=...)
    user: WebhookIssuesMilestonedPropIssueMergedUser = Field(default=...)


class WebhookIssuesMilestonedPropIssueAllof0(GitHubRestModel):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ] = Field(default=...)
    assignee: Union[
        Unset, Union[WebhookIssuesMilestonedPropIssueAllof0PropAssignee, None]
    ] = Field(title="User", default=UNSET)
    assignees: List[
        Union[WebhookIssuesMilestonedPropIssueAllof0PropAssigneesItems, None]
    ] = Field(default=...)
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="AuthorAssociation",
        description="How the author is associated with the repository.",
        default=...,
    )
    body: Union[str, None] = Field(description="Contents of the issue", default=...)
    closed_at: Union[datetime, None] = Field(default=...)
    comments: int = Field(default=...)
    comments_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    draft: Union[Unset, bool] = Field(default=UNSET)
    events_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels: Union[
        Unset, List[WebhookIssuesMilestonedPropIssueAllof0PropLabelsItems]
    ] = Field(default=UNSET)
    labels_url: str = Field(default=...)
    locked: Union[Unset, bool] = Field(default=UNSET)
    milestone: Union[WebhookIssuesMilestonedPropIssueAllof0PropMilestone, None] = Field(
        title="Milestone",
        description="A collection of related issues and pull requests.",
        default=...,
    )
    node_id: str = Field(default=...)
    number: int = Field(default=...)
    performed_via_github_app: Union[
        Unset,
        Union[WebhookIssuesMilestonedPropIssueAllof0PropPerformedViaGithubApp, None],
    ] = Field(
        title="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.",
        default=UNSET,
    )
    pull_request: Union[
        Unset, WebhookIssuesMilestonedPropIssueAllof0PropPullRequest
    ] = Field(default=UNSET)
    reactions: WebhookIssuesMilestonedPropIssueAllof0PropReactions = Field(
        title="Reactions", default=...
    )
    repository_url: str = Field(default=...)
    state: Union[Unset, Literal["open", "closed"]] = Field(
        description="State of the issue; either 'open' or 'closed'", default=UNSET
    )
    state_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: str = Field(description="Title of the issue", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(description="URL for the issue", default=...)
    user: Union[WebhookIssuesMilestonedPropIssueAllof0PropUser, None] = Field(
        title="User", default=...
    )


class WebhookIssuesMilestonedPropIssueAllof0PropAssignee(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesMilestonedPropIssueAllof0PropAssigneesItems(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesMilestonedPropIssueAllof0PropLabelsItems(GitHubRestModel):
    """Label"""

    color: str = Field(
        description="6-character hex code, without the leading #, identifying the color",
        default=...,
    )
    default: bool = Field(default=...)
    description: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="The name of the label.", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the label", default=...)


class WebhookIssuesMilestonedPropIssueAllof0PropMilestonePropCreator(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesMilestonedPropIssueAllof0PropMilestone(GitHubRestModel):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None] = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[
        WebhookIssuesMilestonedPropIssueAllof0PropMilestonePropCreator, None
    ] = Field(title="User", default=...)
    description: Union[str, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    open_issues: int = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default=...
    )
    title: str = Field(description="The title of the milestone.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesMilestonedPropIssueAllof0PropPerformedViaGithubAppPropOwner(
    GitHubRestModel
):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesMilestonedPropIssueAllof0PropPerformedViaGithubAppPropPermissions(
    GitHubRestModel
):
    """WebhookIssuesMilestonedPropIssueAllof0PropPerformedViaGithubAppPropPermissions

    The set of permissions for the GitHub app
    """

    actions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    administration: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    checks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    content_references: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    contents: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    deployments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    emails: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    environments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    issues: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    keys: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    members: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    metadata: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_administration: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_plan: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_projects: Union[Unset, Literal["read", "write", "admin"]] = Field(
        default=UNSET
    )
    organization_secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_self_hosted_runners: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_user_blocking: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pull_requests: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_projects: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    secret_scanning_alerts: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_events: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_scanning_alert: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    single_file: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    statuses: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    team_discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    vulnerability_alerts: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    workflows: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)


class WebhookIssuesMilestonedPropIssueAllof0PropPerformedViaGithubApp(GitHubRestModel):
    """App

    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.
    """

    created_at: Union[datetime, None] = Field(default=...)
    description: Union[str, None] = Field(default=...)
    events: Union[
        Unset,
        List[
            Literal[
                "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",
            ]
        ],
    ] = Field(description="The list of events for the GitHub app", default=UNSET)
    external_url: Union[str, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: Union[int, None] = Field(
        description="Unique identifier of the GitHub app", default=...
    )
    name: str = Field(description="The name of the GitHub app", default=...)
    node_id: str = Field(default=...)
    owner: Union[
        WebhookIssuesMilestonedPropIssueAllof0PropPerformedViaGithubAppPropOwner, None
    ] = Field(title="User", default=...)
    permissions: Union[
        Unset,
        WebhookIssuesMilestonedPropIssueAllof0PropPerformedViaGithubAppPropPermissions,
    ] = Field(description="The set of permissions for the GitHub app", default=UNSET)
    slug: Union[Unset, str] = Field(
        description="The slug name of the GitHub app", default=UNSET
    )
    updated_at: Union[datetime, None] = Field(default=...)


class WebhookIssuesMilestonedPropIssueAllof0PropPullRequest(GitHubRestModel):
    """WebhookIssuesMilestonedPropIssueAllof0PropPullRequest"""

    diff_url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    merged_at: Union[Unset, Union[datetime, None]] = Field(default=UNSET)
    patch_url: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesMilestonedPropIssueAllof0PropReactions(GitHubRestModel):
    """Reactions"""

    plus_one: int = Field(default=..., alias="+1")
    minus_one: int = Field(default=..., alias="-1")
    confused: int = Field(default=...)
    eyes: int = Field(default=...)
    heart: int = Field(default=...)
    hooray: int = Field(default=...)
    laugh: int = Field(default=...)
    rocket: int = Field(default=...)
    total_count: int = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesMilestonedPropIssueAllof0PropUser(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesMilestonedPropIssueAllof1(GitHubRestModel):
    """WebhookIssuesMilestonedPropIssueAllof1"""

    active_lock_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    assignee: Union[
        Unset, Union[WebhookIssuesMilestonedPropIssueAllof1PropAssignee, None]
    ] = Field(default=UNSET)
    assignees: Union[
        Unset,
        List[Union[WebhookIssuesMilestonedPropIssueAllof1PropAssigneesItems, None]],
    ] = Field(default=UNSET)
    author_association: Union[Unset, str] = Field(default=UNSET)
    body: Union[Unset, Union[str, None]] = Field(default=UNSET)
    closed_at: Union[Unset, Union[str, None]] = Field(default=UNSET)
    comments: Union[Unset, int] = Field(default=UNSET)
    comments_url: Union[Unset, str] = Field(default=UNSET)
    created_at: Union[Unset, str] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: Union[Unset, int] = Field(default=UNSET)
    labels: Union[
        Unset, List[Union[WebhookIssuesMilestonedPropIssueAllof1PropLabelsItems, None]]
    ] = Field(default=UNSET)
    labels_url: Union[Unset, str] = Field(default=UNSET)
    locked: Union[Unset, bool] = Field(default=UNSET)
    milestone: WebhookIssuesMilestonedPropIssueAllof1PropMilestone = Field(
        title="Milestone",
        description="A collection of related issues and pull requests.",
        default=...,
    )
    node_id: Union[Unset, str] = Field(default=UNSET)
    number: Union[Unset, int] = Field(default=UNSET)
    performed_via_github_app: Union[
        Unset,
        Union[WebhookIssuesMilestonedPropIssueAllof1PropPerformedViaGithubApp, None],
    ] = Field(default=UNSET)
    reactions: Union[
        Unset, WebhookIssuesMilestonedPropIssueAllof1PropReactions
    ] = Field(default=UNSET)
    repository_url: Union[Unset, str] = Field(default=UNSET)
    state: Union[Unset, str] = Field(default=UNSET)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: Union[Unset, str] = Field(default=UNSET)
    updated_at: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)
    user: Union[Unset, WebhookIssuesMilestonedPropIssueAllof1PropUser] = Field(
        default=UNSET
    )


class WebhookIssuesMilestonedPropIssueAllof1PropAssignee(GitHubRestModel):
    """WebhookIssuesMilestonedPropIssueAllof1PropAssignee"""


class WebhookIssuesMilestonedPropIssueAllof1PropAssigneesItems(GitHubRestModel):
    """WebhookIssuesMilestonedPropIssueAllof1PropAssigneesItems"""


class WebhookIssuesMilestonedPropIssueAllof1PropLabelsItems(GitHubRestModel):
    """WebhookIssuesMilestonedPropIssueAllof1PropLabelsItems"""


class WebhookIssuesMilestonedPropIssueAllof1PropMilestone(GitHubRestModel):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None] = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[
        WebhookIssuesMilestonedPropIssueAllof1PropMilestonePropCreator, None
    ] = Field(title="User", default=...)
    description: Union[str, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    open_issues: int = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default=...
    )
    title: str = Field(description="The title of the milestone.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesMilestonedPropIssueAllof1PropMilestonePropCreator(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesMilestonedPropIssueAllof1PropPerformedViaGithubApp(GitHubRestModel):
    """WebhookIssuesMilestonedPropIssueAllof1PropPerformedViaGithubApp"""


class WebhookIssuesMilestonedPropIssueAllof1PropReactions(GitHubRestModel):
    """WebhookIssuesMilestonedPropIssueAllof1PropReactions"""

    plus_one: Union[Unset, int] = Field(default=UNSET, alias="+1")
    minus_one: Union[Unset, int] = Field(default=UNSET, alias="-1")
    confused: Union[Unset, int] = Field(default=UNSET)
    eyes: Union[Unset, int] = Field(default=UNSET)
    heart: Union[Unset, int] = Field(default=UNSET)
    hooray: Union[Unset, int] = Field(default=UNSET)
    laugh: Union[Unset, int] = Field(default=UNSET)
    rocket: Union[Unset, int] = Field(default=UNSET)
    total_count: Union[Unset, int] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesMilestonedPropIssueAllof1PropUser(GitHubRestModel):
    """WebhookIssuesMilestonedPropIssueAllof1PropUser"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: Union[Unset, int] = Field(default=UNSET)
    login: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesMilestonedPropIssueMergedAssignee(GitHubRestModel):
    """WebhookIssuesMilestonedPropIssueMergedAssignee"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesMilestonedPropIssueMergedAssignees(GitHubRestModel):
    """WebhookIssuesMilestonedPropIssueMergedAssignees"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesMilestonedPropIssueMergedLabels(GitHubRestModel):
    """WebhookIssuesMilestonedPropIssueMergedLabels"""

    color: str = Field(
        description="6-character hex code, without the leading #, identifying the color",
        default=...,
    )
    default: bool = Field(default=...)
    description: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="The name of the label.", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the label", default=...)


class WebhookIssuesMilestonedPropIssueMergedPerformedViaGithubApp(GitHubRestModel):
    """WebhookIssuesMilestonedPropIssueMergedPerformedViaGithubApp"""

    created_at: Union[datetime, None] = Field(default=...)
    description: Union[str, None] = Field(default=...)
    events: Union[
        Unset,
        List[
            Literal[
                "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",
            ]
        ],
    ] = Field(description="The list of events for the GitHub app", default=UNSET)
    external_url: Union[str, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: Union[int, None] = Field(
        description="Unique identifier of the GitHub app", default=...
    )
    name: str = Field(description="The name of the GitHub app", default=...)
    node_id: str = Field(default=...)
    owner: Union[
        WebhookIssuesMilestonedPropIssueAllof0PropPerformedViaGithubAppPropOwner, None
    ] = Field(title="User", default=...)
    permissions: Union[
        Unset,
        WebhookIssuesMilestonedPropIssueAllof0PropPerformedViaGithubAppPropPermissions,
    ] = Field(description="The set of permissions for the GitHub app", default=UNSET)
    slug: Union[Unset, str] = Field(
        description="The slug name of the GitHub app", default=UNSET
    )
    updated_at: Union[datetime, None] = Field(default=...)


class WebhookIssuesMilestonedPropIssueMergedReactions(GitHubRestModel):
    """WebhookIssuesMilestonedPropIssueMergedReactions"""

    plus_one: int = Field(default=..., alias="+1")
    minus_one: int = Field(default=..., alias="-1")
    confused: int = Field(default=...)
    eyes: int = Field(default=...)
    heart: int = Field(default=...)
    hooray: int = Field(default=...)
    laugh: int = Field(default=...)
    rocket: int = Field(default=...)
    total_count: int = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesMilestonedPropIssueMergedUser(GitHubRestModel):
    """WebhookIssuesMilestonedPropIssueMergedUser"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesMilestonedPropMilestone(GitHubRestModel):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None] = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[WebhookIssuesMilestonedPropMilestonePropCreator, None] = Field(
        title="User", default=...
    )
    description: Union[str, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    open_issues: int = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default=...
    )
    title: str = Field(description="The title of the milestone.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesMilestonedPropMilestonePropCreator(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesOpened(GitHubRestModel):
    """issues opened event"""

    action: Literal["opened"] = Field(default=...)
    changes: Union[Unset, WebhookIssuesOpenedPropChanges] = Field(default=UNSET)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    issue: WebhookIssuesOpenedPropIssue = Field(default=...)
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookIssuesOpenedPropChanges(GitHubRestModel):
    """WebhookIssuesOpenedPropChanges"""

    old_issue: Union[WebhookIssuesOpenedPropChangesPropOldIssue, None] = Field(
        title="Issue",
        description="The [issue](https://docs.github.com/en/rest/reference/issues) itself.",
        default=...,
    )
    old_repository: WebhookIssuesOpenedPropChangesPropOldRepository = Field(
        title="Repository", description="A git repository", default=...
    )


class WebhookIssuesOpenedPropChangesPropOldIssuePropAssignee(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesOpenedPropChangesPropOldIssuePropAssigneesItems(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesOpenedPropChangesPropOldIssuePropLabelsItems(GitHubRestModel):
    """Label"""

    color: str = Field(
        description="6-character hex code, without the leading #, identifying the color",
        default=...,
    )
    default: bool = Field(default=...)
    description: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="The name of the label.", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the label", default=...)


class WebhookIssuesOpenedPropChangesPropOldIssuePropMilestonePropCreator(
    GitHubRestModel
):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesOpenedPropChangesPropOldIssuePropMilestone(GitHubRestModel):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None] = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[
        WebhookIssuesOpenedPropChangesPropOldIssuePropMilestonePropCreator, None
    ] = Field(title="User", default=...)
    description: Union[str, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    open_issues: int = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default=...
    )
    title: str = Field(description="The title of the milestone.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesOpenedPropChangesPropOldIssuePropPerformedViaGithubAppPropOwner(
    GitHubRestModel
):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesOpenedPropChangesPropOldIssuePropPerformedViaGithubAppPropPermissions(
    GitHubRestModel
):
    """WebhookIssuesOpenedPropChangesPropOldIssuePropPerformedViaGithubAppPropPermissio
    ns

    The set of permissions for the GitHub app
    """

    actions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    administration: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    checks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    content_references: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    contents: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    deployments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    emails: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    environments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    issues: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    keys: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    members: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    metadata: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_administration: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_plan: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_projects: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_self_hosted_runners: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_user_blocking: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pull_requests: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_projects: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    secret_scanning_alerts: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_events: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_scanning_alert: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    single_file: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    statuses: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    team_discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    vulnerability_alerts: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    workflows: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)


class WebhookIssuesOpenedPropChangesPropOldIssuePropPerformedViaGithubApp(
    GitHubRestModel
):
    """App

    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.
    """

    created_at: Union[datetime, None] = Field(default=...)
    description: Union[str, None] = Field(default=...)
    events: Union[
        Unset,
        List[
            Literal[
                "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",
            ]
        ],
    ] = Field(description="The list of events for the GitHub app", default=UNSET)
    external_url: Union[str, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: Union[int, None] = Field(
        description="Unique identifier of the GitHub app", default=...
    )
    name: str = Field(description="The name of the GitHub app", default=...)
    node_id: str = Field(default=...)
    owner: Union[
        WebhookIssuesOpenedPropChangesPropOldIssuePropPerformedViaGithubAppPropOwner,
        None,
    ] = Field(title="User", default=...)
    permissions: Union[
        Unset,
        WebhookIssuesOpenedPropChangesPropOldIssuePropPerformedViaGithubAppPropPermissions,
    ] = Field(description="The set of permissions for the GitHub app", default=UNSET)
    slug: Union[Unset, str] = Field(
        description="The slug name of the GitHub app", default=UNSET
    )
    updated_at: Union[datetime, None] = Field(default=...)


class WebhookIssuesOpenedPropChangesPropOldIssuePropPullRequest(GitHubRestModel):
    """WebhookIssuesOpenedPropChangesPropOldIssuePropPullRequest"""

    diff_url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    merged_at: Union[Unset, Union[datetime, None]] = Field(default=UNSET)
    patch_url: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesOpenedPropChangesPropOldIssuePropReactions(GitHubRestModel):
    """Reactions"""

    plus_one: int = Field(default=..., alias="+1")
    minus_one: int = Field(default=..., alias="-1")
    confused: int = Field(default=...)
    eyes: int = Field(default=...)
    heart: int = Field(default=...)
    hooray: int = Field(default=...)
    laugh: int = Field(default=...)
    rocket: int = Field(default=...)
    total_count: int = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesOpenedPropChangesPropOldIssuePropUser(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesOpenedPropChangesPropOldIssue(GitHubRestModel):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ] = Field(default=...)
    assignee: Union[
        Unset, Union[WebhookIssuesOpenedPropChangesPropOldIssuePropAssignee, None]
    ] = Field(title="User", default=UNSET)
    assignees: List[
        Union[WebhookIssuesOpenedPropChangesPropOldIssuePropAssigneesItems, None]
    ] = Field(default=...)
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="AuthorAssociation",
        description="How the author is associated with the repository.",
        default=...,
    )
    body: Union[str, None] = Field(description="Contents of the issue", default=...)
    closed_at: Union[datetime, None] = Field(default=...)
    comments: int = Field(default=...)
    comments_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    draft: Union[Unset, bool] = Field(default=UNSET)
    events_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels: Union[
        Unset, List[WebhookIssuesOpenedPropChangesPropOldIssuePropLabelsItems]
    ] = Field(default=UNSET)
    labels_url: str = Field(default=...)
    locked: Union[Unset, bool] = Field(default=UNSET)
    milestone: Union[
        WebhookIssuesOpenedPropChangesPropOldIssuePropMilestone, None
    ] = Field(
        title="Milestone",
        description="A collection of related issues and pull requests.",
        default=...,
    )
    node_id: str = Field(default=...)
    number: int = Field(default=...)
    performed_via_github_app: Union[
        Unset,
        Union[
            WebhookIssuesOpenedPropChangesPropOldIssuePropPerformedViaGithubApp, None
        ],
    ] = Field(
        title="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.",
        default=UNSET,
    )
    pull_request: Union[
        Unset, WebhookIssuesOpenedPropChangesPropOldIssuePropPullRequest
    ] = Field(default=UNSET)
    reactions: WebhookIssuesOpenedPropChangesPropOldIssuePropReactions = Field(
        title="Reactions", default=...
    )
    repository_url: str = Field(default=...)
    state: Union[Unset, Literal["open", "closed"]] = Field(
        description="State of the issue; either 'open' or 'closed'", default=UNSET
    )
    state_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: str = Field(description="Title of the issue", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(description="URL for the issue", default=...)
    user: Union[WebhookIssuesOpenedPropChangesPropOldIssuePropUser, None] = Field(
        title="User", default=...
    )


class WebhookIssuesOpenedPropChangesPropOldRepository(GitHubRestModel):
    """Repository

    A git repository
    """

    allow_auto_merge: Union[Unset, bool] = Field(
        description="Whether to allow auto-merge for pull requests.", default=False
    )
    allow_forking: Union[Unset, bool] = Field(
        description="Whether to allow private forks", default=UNSET
    )
    allow_merge_commit: Union[Unset, bool] = Field(
        description="Whether to allow merge commits for pull requests.", default=True
    )
    allow_rebase_merge: Union[Unset, bool] = Field(
        description="Whether to allow rebase merges for pull requests.", default=True
    )
    allow_squash_merge: Union[Unset, bool] = Field(
        description="Whether to allow squash merges for pull requests.", default=True
    )
    allow_update_branch: Union[Unset, bool] = Field(default=UNSET)
    archive_url: str = Field(default=...)
    archived: bool = Field(
        description="Whether the repository is archived.", default=False
    )
    assignees_url: str = Field(default=...)
    blobs_url: str = Field(default=...)
    branches_url: str = Field(default=...)
    clone_url: str = Field(default=...)
    collaborators_url: str = Field(default=...)
    comments_url: str = Field(default=...)
    commits_url: str = Field(default=...)
    compare_url: str = Field(default=...)
    contents_url: str = Field(default=...)
    contributors_url: str = Field(default=...)
    created_at: Union[int, datetime] = Field(default=...)
    default_branch: str = Field(
        description="The default branch of the repository.", default=...
    )
    delete_branch_on_merge: Union[Unset, bool] = Field(
        description="Whether to delete head branches when pull requests are merged",
        default=False,
    )
    deployments_url: str = Field(default=...)
    description: Union[str, None] = Field(default=...)
    disabled: Union[Unset, bool] = Field(
        description="Returns whether or not this repository is disabled.", default=UNSET
    )
    downloads_url: str = Field(default=...)
    events_url: str = Field(default=...)
    fork: bool = Field(default=...)
    forks: int = Field(default=...)
    forks_count: int = Field(default=...)
    forks_url: str = Field(default=...)
    full_name: str = Field(default=...)
    git_commits_url: str = Field(default=...)
    git_refs_url: str = Field(default=...)
    git_tags_url: str = Field(default=...)
    git_url: str = Field(default=...)
    has_downloads: bool = Field(
        description="Whether downloads are enabled.", default=True
    )
    has_issues: bool = Field(description="Whether issues are enabled.", default=True)
    has_pages: bool = Field(default=...)
    has_projects: bool = Field(
        description="Whether projects are enabled.", default=True
    )
    has_wiki: bool = Field(description="Whether the wiki is enabled.", default=True)
    homepage: Union[str, None] = Field(default=...)
    hooks_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(description="Unique identifier of the repository", default=...)
    is_template: Union[Unset, bool] = Field(default=UNSET)
    issue_comment_url: str = Field(default=...)
    issue_events_url: str = Field(default=...)
    issues_url: str = Field(default=...)
    keys_url: str = Field(default=...)
    labels_url: str = Field(default=...)
    language: Union[str, None] = Field(default=...)
    languages_url: str = Field(default=...)
    license_: Union[
        WebhookIssuesOpenedPropChangesPropOldRepositoryPropLicense, None
    ] = Field(title="License", default=..., alias="license")
    master_branch: Union[Unset, str] = Field(default=UNSET)
    merges_url: str = Field(default=...)
    milestones_url: str = Field(default=...)
    mirror_url: Union[str, None] = Field(default=...)
    name: str = Field(description="The name of the repository.", default=...)
    node_id: str = Field(default=...)
    notifications_url: str = Field(default=...)
    open_issues: int = Field(default=...)
    open_issues_count: int = Field(default=...)
    organization: Union[Unset, str] = Field(default=UNSET)
    owner: Union[
        WebhookIssuesOpenedPropChangesPropOldRepositoryPropOwner, None
    ] = Field(title="User", default=...)
    permissions: Union[
        Unset, WebhookIssuesOpenedPropChangesPropOldRepositoryPropPermissions
    ] = Field(default=UNSET)
    private: bool = Field(
        description="Whether the repository is private or public.", default=...
    )
    public: Union[Unset, bool] = Field(default=UNSET)
    pulls_url: str = Field(default=...)
    pushed_at: Union[int, datetime, None] = Field(default=...)
    releases_url: str = Field(default=...)
    role_name: Union[Unset, Union[str, None]] = Field(default=UNSET)
    size: int = Field(default=...)
    ssh_url: str = Field(default=...)
    stargazers: Union[Unset, int] = Field(default=UNSET)
    stargazers_count: int = Field(default=...)
    stargazers_url: str = Field(default=...)
    statuses_url: str = Field(default=...)
    subscribers_url: str = Field(default=...)
    subscription_url: str = Field(default=...)
    svn_url: str = Field(default=...)
    tags_url: str = Field(default=...)
    teams_url: str = Field(default=...)
    topics: List[str] = Field(default=...)
    trees_url: str = Field(default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)
    visibility: Literal["public", "private", "internal"] = Field(default=...)
    watchers: int = Field(default=...)
    watchers_count: int = Field(default=...)


class WebhookIssuesOpenedPropChangesPropOldRepositoryPropLicense(GitHubRestModel):
    """License"""

    key: str = Field(default=...)
    name: str = Field(default=...)
    node_id: str = Field(default=...)
    spdx_id: str = Field(default=...)
    url: Union[str, None] = Field(default=...)


class WebhookIssuesOpenedPropChangesPropOldRepositoryPropOwner(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesOpenedPropChangesPropOldRepositoryPropPermissions(GitHubRestModel):
    """WebhookIssuesOpenedPropChangesPropOldRepositoryPropPermissions"""

    admin: bool = Field(default=...)
    maintain: Union[Unset, bool] = Field(default=UNSET)
    pull: bool = Field(default=...)
    push: bool = Field(default=...)
    triage: Union[Unset, bool] = Field(default=UNSET)


class WebhookIssuesOpenedPropIssue(GitHubRestModel):
    """WebhookIssuesOpenedPropIssue"""

    active_lock_reason: Union[
        Literal["resolved", "off-topic", "too heated", "spam"], None
    ] = Field(default=...)
    assignee: Union[
        Unset, Union[WebhookIssuesOpenedPropIssueMergedAssignee, None]
    ] = Field(default=UNSET)
    assignees: List[WebhookIssuesOpenedPropIssueMergedAssignees] = Field(default=...)
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="AuthorAssociation",
        description="How the author is associated with the repository.",
        default=...,
    )
    body: Union[Union[str, None], None] = Field(
        description="Contents of the issue", default=...
    )
    closed_at: Union[Union[datetime, None], None] = Field(default=...)
    comments: int = Field(default=...)
    comments_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    draft: Union[Unset, bool] = Field(default=UNSET)
    events_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels: Union[Unset, List[WebhookIssuesOpenedPropIssueMergedLabels]] = Field(
        default=UNSET
    )
    labels_url: str = Field(default=...)
    locked: Union[Unset, bool] = Field(default=UNSET)
    milestone: Union[WebhookIssuesOpenedPropIssueMergedMilestone, None] = Field(
        default=...
    )
    node_id: str = Field(default=...)
    number: int = Field(default=...)
    performed_via_github_app: Union[
        Unset, Union[WebhookIssuesOpenedPropIssueMergedPerformedViaGithubApp, None]
    ] = Field(default=UNSET)
    pull_request: Union[
        Unset, WebhookIssuesOpenedPropIssueAllof0PropPullRequest
    ] = Field(default=UNSET)
    reactions: WebhookIssuesOpenedPropIssueMergedReactions = Field(default=...)
    repository_url: str = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="State of the issue; either 'open' or 'closed'", default=...
    )
    state_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: str = Field(description="Title of the issue", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(description="URL for the issue", default=...)
    user: WebhookIssuesOpenedPropIssueMergedUser = Field(default=...)


class WebhookIssuesOpenedPropIssueAllof0(GitHubRestModel):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ] = Field(default=...)
    assignee: Union[
        Unset, Union[WebhookIssuesOpenedPropIssueAllof0PropAssignee, None]
    ] = Field(title="User", default=UNSET)
    assignees: List[
        Union[WebhookIssuesOpenedPropIssueAllof0PropAssigneesItems, None]
    ] = Field(default=...)
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="AuthorAssociation",
        description="How the author is associated with the repository.",
        default=...,
    )
    body: Union[str, None] = Field(description="Contents of the issue", default=...)
    closed_at: Union[datetime, None] = Field(default=...)
    comments: int = Field(default=...)
    comments_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    draft: Union[Unset, bool] = Field(default=UNSET)
    events_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels: Union[
        Unset, List[WebhookIssuesOpenedPropIssueAllof0PropLabelsItems]
    ] = Field(default=UNSET)
    labels_url: str = Field(default=...)
    locked: Union[Unset, bool] = Field(default=UNSET)
    milestone: Union[WebhookIssuesOpenedPropIssueAllof0PropMilestone, None] = Field(
        title="Milestone",
        description="A collection of related issues and pull requests.",
        default=...,
    )
    node_id: str = Field(default=...)
    number: int = Field(default=...)
    performed_via_github_app: Union[
        Unset, Union[WebhookIssuesOpenedPropIssueAllof0PropPerformedViaGithubApp, None]
    ] = Field(
        title="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.",
        default=UNSET,
    )
    pull_request: Union[
        Unset, WebhookIssuesOpenedPropIssueAllof0PropPullRequest
    ] = Field(default=UNSET)
    reactions: WebhookIssuesOpenedPropIssueAllof0PropReactions = Field(
        title="Reactions", default=...
    )
    repository_url: str = Field(default=...)
    state: Union[Unset, Literal["open", "closed"]] = Field(
        description="State of the issue; either 'open' or 'closed'", default=UNSET
    )
    state_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: str = Field(description="Title of the issue", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(description="URL for the issue", default=...)
    user: Union[WebhookIssuesOpenedPropIssueAllof0PropUser, None] = Field(
        title="User", default=...
    )


class WebhookIssuesOpenedPropIssueAllof0PropAssignee(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesOpenedPropIssueAllof0PropAssigneesItems(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesOpenedPropIssueAllof0PropLabelsItems(GitHubRestModel):
    """Label"""

    color: str = Field(
        description="6-character hex code, without the leading #, identifying the color",
        default=...,
    )
    default: bool = Field(default=...)
    description: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="The name of the label.", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the label", default=...)


class WebhookIssuesOpenedPropIssueAllof0PropMilestonePropCreator(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesOpenedPropIssueAllof0PropMilestone(GitHubRestModel):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None] = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[
        WebhookIssuesOpenedPropIssueAllof0PropMilestonePropCreator, None
    ] = Field(title="User", default=...)
    description: Union[str, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    open_issues: int = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default=...
    )
    title: str = Field(description="The title of the milestone.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesOpenedPropIssueAllof0PropPerformedViaGithubAppPropOwner(
    GitHubRestModel
):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesOpenedPropIssueAllof0PropPerformedViaGithubAppPropPermissions(
    GitHubRestModel
):
    """WebhookIssuesOpenedPropIssueAllof0PropPerformedViaGithubAppPropPermissions

    The set of permissions for the GitHub app
    """

    actions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    administration: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    checks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    content_references: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    contents: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    deployments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    emails: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    environments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    issues: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    keys: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    members: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    metadata: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_administration: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_plan: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_projects: Union[Unset, Literal["read", "write", "admin"]] = Field(
        default=UNSET
    )
    organization_secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_self_hosted_runners: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_user_blocking: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pull_requests: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_projects: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    secret_scanning_alerts: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_events: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_scanning_alert: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    single_file: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    statuses: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    team_discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    vulnerability_alerts: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    workflows: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)


class WebhookIssuesOpenedPropIssueAllof0PropPerformedViaGithubApp(GitHubRestModel):
    """App

    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.
    """

    created_at: Union[datetime, None] = Field(default=...)
    description: Union[str, None] = Field(default=...)
    events: Union[
        Unset,
        List[
            Literal[
                "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",
            ]
        ],
    ] = Field(description="The list of events for the GitHub app", default=UNSET)
    external_url: Union[str, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: Union[int, None] = Field(
        description="Unique identifier of the GitHub app", default=...
    )
    name: str = Field(description="The name of the GitHub app", default=...)
    node_id: str = Field(default=...)
    owner: Union[
        WebhookIssuesOpenedPropIssueAllof0PropPerformedViaGithubAppPropOwner, None
    ] = Field(title="User", default=...)
    permissions: Union[
        Unset,
        WebhookIssuesOpenedPropIssueAllof0PropPerformedViaGithubAppPropPermissions,
    ] = Field(description="The set of permissions for the GitHub app", default=UNSET)
    slug: Union[Unset, str] = Field(
        description="The slug name of the GitHub app", default=UNSET
    )
    updated_at: Union[datetime, None] = Field(default=...)


class WebhookIssuesOpenedPropIssueAllof0PropPullRequest(GitHubRestModel):
    """WebhookIssuesOpenedPropIssueAllof0PropPullRequest"""

    diff_url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    merged_at: Union[Unset, Union[datetime, None]] = Field(default=UNSET)
    patch_url: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesOpenedPropIssueAllof0PropReactions(GitHubRestModel):
    """Reactions"""

    plus_one: int = Field(default=..., alias="+1")
    minus_one: int = Field(default=..., alias="-1")
    confused: int = Field(default=...)
    eyes: int = Field(default=...)
    heart: int = Field(default=...)
    hooray: int = Field(default=...)
    laugh: int = Field(default=...)
    rocket: int = Field(default=...)
    total_count: int = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesOpenedPropIssueAllof0PropUser(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesOpenedPropIssueAllof1(GitHubRestModel):
    """WebhookIssuesOpenedPropIssueAllof1"""

    active_lock_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    assignee: Union[
        Unset, Union[WebhookIssuesOpenedPropIssueAllof1PropAssignee, None]
    ] = Field(default=UNSET)
    assignees: Union[
        Unset, List[Union[WebhookIssuesOpenedPropIssueAllof1PropAssigneesItems, None]]
    ] = Field(default=UNSET)
    author_association: Union[Unset, str] = Field(default=UNSET)
    body: Union[Unset, Union[str, None]] = Field(default=UNSET)
    closed_at: Union[str, None] = Field(default=...)
    comments: Union[Unset, int] = Field(default=UNSET)
    comments_url: Union[Unset, str] = Field(default=UNSET)
    created_at: Union[Unset, str] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: Union[Unset, int] = Field(default=UNSET)
    labels: Union[
        Unset, List[Union[WebhookIssuesOpenedPropIssueAllof1PropLabelsItems, None]]
    ] = Field(default=UNSET)
    labels_url: Union[Unset, str] = Field(default=UNSET)
    locked: Union[Unset, bool] = Field(default=UNSET)
    milestone: Union[
        Unset, Union[WebhookIssuesOpenedPropIssueAllof1PropMilestone, None]
    ] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    number: Union[Unset, int] = Field(default=UNSET)
    performed_via_github_app: Union[
        Unset, Union[WebhookIssuesOpenedPropIssueAllof1PropPerformedViaGithubApp, None]
    ] = Field(default=UNSET)
    reactions: Union[Unset, WebhookIssuesOpenedPropIssueAllof1PropReactions] = Field(
        default=UNSET
    )
    repository_url: Union[Unset, str] = Field(default=UNSET)
    state: Literal["open", "closed"] = Field(default=...)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: Union[Unset, str] = Field(default=UNSET)
    updated_at: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)
    user: Union[Unset, WebhookIssuesOpenedPropIssueAllof1PropUser] = Field(
        default=UNSET
    )


class WebhookIssuesOpenedPropIssueAllof1PropAssignee(GitHubRestModel):
    """WebhookIssuesOpenedPropIssueAllof1PropAssignee"""


class WebhookIssuesOpenedPropIssueAllof1PropAssigneesItems(GitHubRestModel):
    """WebhookIssuesOpenedPropIssueAllof1PropAssigneesItems"""


class WebhookIssuesOpenedPropIssueAllof1PropLabelsItems(GitHubRestModel):
    """WebhookIssuesOpenedPropIssueAllof1PropLabelsItems"""


class WebhookIssuesOpenedPropIssueAllof1PropMilestone(GitHubRestModel):
    """WebhookIssuesOpenedPropIssueAllof1PropMilestone"""


class WebhookIssuesOpenedPropIssueAllof1PropPerformedViaGithubApp(GitHubRestModel):
    """WebhookIssuesOpenedPropIssueAllof1PropPerformedViaGithubApp"""


class WebhookIssuesOpenedPropIssueAllof1PropReactions(GitHubRestModel):
    """WebhookIssuesOpenedPropIssueAllof1PropReactions"""

    plus_one: Union[Unset, int] = Field(default=UNSET, alias="+1")
    minus_one: Union[Unset, int] = Field(default=UNSET, alias="-1")
    confused: Union[Unset, int] = Field(default=UNSET)
    eyes: Union[Unset, int] = Field(default=UNSET)
    heart: Union[Unset, int] = Field(default=UNSET)
    hooray: Union[Unset, int] = Field(default=UNSET)
    laugh: Union[Unset, int] = Field(default=UNSET)
    rocket: Union[Unset, int] = Field(default=UNSET)
    total_count: Union[Unset, int] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesOpenedPropIssueAllof1PropUser(GitHubRestModel):
    """WebhookIssuesOpenedPropIssueAllof1PropUser"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: Union[Unset, int] = Field(default=UNSET)
    login: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesOpenedPropIssueMergedAssignee(GitHubRestModel):
    """WebhookIssuesOpenedPropIssueMergedAssignee"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesOpenedPropIssueMergedAssignees(GitHubRestModel):
    """WebhookIssuesOpenedPropIssueMergedAssignees"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesOpenedPropIssueMergedLabels(GitHubRestModel):
    """WebhookIssuesOpenedPropIssueMergedLabels"""

    color: str = Field(
        description="6-character hex code, without the leading #, identifying the color",
        default=...,
    )
    default: bool = Field(default=...)
    description: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="The name of the label.", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the label", default=...)


class WebhookIssuesOpenedPropIssueMergedMilestone(GitHubRestModel):
    """WebhookIssuesOpenedPropIssueMergedMilestone"""

    closed_at: Union[datetime, None] = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[
        WebhookIssuesOpenedPropIssueAllof0PropMilestonePropCreator, None
    ] = Field(title="User", default=...)
    description: Union[str, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    open_issues: int = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default=...
    )
    title: str = Field(description="The title of the milestone.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesOpenedPropIssueMergedPerformedViaGithubApp(GitHubRestModel):
    """WebhookIssuesOpenedPropIssueMergedPerformedViaGithubApp"""

    created_at: Union[datetime, None] = Field(default=...)
    description: Union[str, None] = Field(default=...)
    events: Union[
        Unset,
        List[
            Literal[
                "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",
            ]
        ],
    ] = Field(description="The list of events for the GitHub app", default=UNSET)
    external_url: Union[str, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: Union[int, None] = Field(
        description="Unique identifier of the GitHub app", default=...
    )
    name: str = Field(description="The name of the GitHub app", default=...)
    node_id: str = Field(default=...)
    owner: Union[
        WebhookIssuesOpenedPropIssueAllof0PropPerformedViaGithubAppPropOwner, None
    ] = Field(title="User", default=...)
    permissions: Union[
        Unset,
        WebhookIssuesOpenedPropIssueAllof0PropPerformedViaGithubAppPropPermissions,
    ] = Field(description="The set of permissions for the GitHub app", default=UNSET)
    slug: Union[Unset, str] = Field(
        description="The slug name of the GitHub app", default=UNSET
    )
    updated_at: Union[datetime, None] = Field(default=...)


class WebhookIssuesOpenedPropIssueMergedReactions(GitHubRestModel):
    """WebhookIssuesOpenedPropIssueMergedReactions"""

    plus_one: int = Field(default=..., alias="+1")
    minus_one: int = Field(default=..., alias="-1")
    confused: int = Field(default=...)
    eyes: int = Field(default=...)
    heart: int = Field(default=...)
    hooray: int = Field(default=...)
    laugh: int = Field(default=...)
    rocket: int = Field(default=...)
    total_count: int = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesOpenedPropIssueMergedUser(GitHubRestModel):
    """WebhookIssuesOpenedPropIssueMergedUser"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesPinned(GitHubRestModel):
    """issues pinned event"""

    action: Literal["pinned"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    issue: WebhookIssuesPinnedPropIssue = Field(
        title="Issue",
        description="The [issue](https://docs.github.com/en/rest/reference/issues) itself.",
        default=...,
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookIssuesPinnedPropIssue(GitHubRestModel):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ] = Field(default=...)
    assignee: Union[
        Unset, Union[WebhookIssuesPinnedPropIssuePropAssignee, None]
    ] = Field(title="User", default=UNSET)
    assignees: List[
        Union[WebhookIssuesPinnedPropIssuePropAssigneesItems, None]
    ] = Field(default=...)
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="AuthorAssociation",
        description="How the author is associated with the repository.",
        default=...,
    )
    body: Union[str, None] = Field(description="Contents of the issue", default=...)
    closed_at: Union[datetime, None] = Field(default=...)
    comments: int = Field(default=...)
    comments_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    draft: Union[Unset, bool] = Field(default=UNSET)
    events_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels: Union[Unset, List[WebhookIssuesPinnedPropIssuePropLabelsItems]] = Field(
        default=UNSET
    )
    labels_url: str = Field(default=...)
    locked: Union[Unset, bool] = Field(default=UNSET)
    milestone: Union[WebhookIssuesPinnedPropIssuePropMilestone, None] = Field(
        title="Milestone",
        description="A collection of related issues and pull requests.",
        default=...,
    )
    node_id: str = Field(default=...)
    number: int = Field(default=...)
    performed_via_github_app: Union[
        Unset, Union[WebhookIssuesPinnedPropIssuePropPerformedViaGithubApp, None]
    ] = Field(
        title="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.",
        default=UNSET,
    )
    pull_request: Union[Unset, WebhookIssuesPinnedPropIssuePropPullRequest] = Field(
        default=UNSET
    )
    reactions: WebhookIssuesPinnedPropIssuePropReactions = Field(
        title="Reactions", default=...
    )
    repository_url: str = Field(default=...)
    state: Union[Unset, Literal["open", "closed"]] = Field(
        description="State of the issue; either 'open' or 'closed'", default=UNSET
    )
    state_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: str = Field(description="Title of the issue", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(description="URL for the issue", default=...)
    user: Union[WebhookIssuesPinnedPropIssuePropUser, None] = Field(
        title="User", default=...
    )


class WebhookIssuesPinnedPropIssuePropAssignee(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesPinnedPropIssuePropAssigneesItems(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesPinnedPropIssuePropLabelsItems(GitHubRestModel):
    """Label"""

    color: str = Field(
        description="6-character hex code, without the leading #, identifying the color",
        default=...,
    )
    default: bool = Field(default=...)
    description: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="The name of the label.", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the label", default=...)


class WebhookIssuesPinnedPropIssuePropMilestonePropCreator(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesPinnedPropIssuePropMilestone(GitHubRestModel):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None] = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[WebhookIssuesPinnedPropIssuePropMilestonePropCreator, None] = Field(
        title="User", default=...
    )
    description: Union[str, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    open_issues: int = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default=...
    )
    title: str = Field(description="The title of the milestone.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesPinnedPropIssuePropPerformedViaGithubAppPropOwner(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesPinnedPropIssuePropPerformedViaGithubAppPropPermissions(
    GitHubRestModel
):
    """WebhookIssuesPinnedPropIssuePropPerformedViaGithubAppPropPermissions

    The set of permissions for the GitHub app
    """

    actions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    administration: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    checks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    content_references: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    contents: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    deployments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    emails: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    environments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    issues: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    keys: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    members: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    metadata: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_administration: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_plan: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_projects: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_self_hosted_runners: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_user_blocking: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pull_requests: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_projects: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    secret_scanning_alerts: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_events: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_scanning_alert: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    single_file: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    statuses: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    team_discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    vulnerability_alerts: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    workflows: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)


class WebhookIssuesPinnedPropIssuePropPerformedViaGithubApp(GitHubRestModel):
    """App

    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.
    """

    created_at: Union[datetime, None] = Field(default=...)
    description: Union[str, None] = Field(default=...)
    events: Union[
        Unset,
        List[
            Literal[
                "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",
            ]
        ],
    ] = Field(description="The list of events for the GitHub app", default=UNSET)
    external_url: Union[str, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: Union[int, None] = Field(
        description="Unique identifier of the GitHub app", default=...
    )
    name: str = Field(description="The name of the GitHub app", default=...)
    node_id: str = Field(default=...)
    owner: Union[
        WebhookIssuesPinnedPropIssuePropPerformedViaGithubAppPropOwner, None
    ] = Field(title="User", default=...)
    permissions: Union[
        Unset, WebhookIssuesPinnedPropIssuePropPerformedViaGithubAppPropPermissions
    ] = Field(description="The set of permissions for the GitHub app", default=UNSET)
    slug: Union[Unset, str] = Field(
        description="The slug name of the GitHub app", default=UNSET
    )
    updated_at: Union[datetime, None] = Field(default=...)


class WebhookIssuesPinnedPropIssuePropPullRequest(GitHubRestModel):
    """WebhookIssuesPinnedPropIssuePropPullRequest"""

    diff_url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    merged_at: Union[Unset, Union[datetime, None]] = Field(default=UNSET)
    patch_url: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesPinnedPropIssuePropReactions(GitHubRestModel):
    """Reactions"""

    plus_one: int = Field(default=..., alias="+1")
    minus_one: int = Field(default=..., alias="-1")
    confused: int = Field(default=...)
    eyes: int = Field(default=...)
    heart: int = Field(default=...)
    hooray: int = Field(default=...)
    laugh: int = Field(default=...)
    rocket: int = Field(default=...)
    total_count: int = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesPinnedPropIssuePropUser(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesReopened(GitHubRestModel):
    """issues reopened event"""

    action: Literal["reopened"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    issue: WebhookIssuesReopenedPropIssue = Field(default=...)
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookIssuesReopenedPropIssue(GitHubRestModel):
    """WebhookIssuesReopenedPropIssue"""

    active_lock_reason: Union[
        Literal["resolved", "off-topic", "too heated", "spam"], None
    ] = Field(default=...)
    assignee: Union[
        Unset, Union[WebhookIssuesReopenedPropIssueMergedAssignee, None]
    ] = Field(default=UNSET)
    assignees: List[WebhookIssuesReopenedPropIssueMergedAssignees] = Field(default=...)
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="AuthorAssociation",
        description="How the author is associated with the repository.",
        default=...,
    )
    body: Union[Union[str, None], None] = Field(
        description="Contents of the issue", default=...
    )
    closed_at: Union[Union[datetime, None], None] = Field(default=...)
    comments: int = Field(default=...)
    comments_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    draft: Union[Unset, bool] = Field(default=UNSET)
    events_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels: Union[Unset, List[WebhookIssuesReopenedPropIssueMergedLabels]] = Field(
        default=UNSET
    )
    labels_url: str = Field(default=...)
    locked: Union[Unset, bool] = Field(default=UNSET)
    milestone: Union[WebhookIssuesReopenedPropIssueMergedMilestone, None] = Field(
        default=...
    )
    node_id: str = Field(default=...)
    number: int = Field(default=...)
    performed_via_github_app: Union[
        Unset, Union[WebhookIssuesReopenedPropIssueMergedPerformedViaGithubApp, None]
    ] = Field(default=UNSET)
    pull_request: Union[
        Unset, WebhookIssuesReopenedPropIssueAllof0PropPullRequest
    ] = Field(default=UNSET)
    reactions: WebhookIssuesReopenedPropIssueMergedReactions = Field(default=...)
    repository_url: str = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="State of the issue; either 'open' or 'closed'", default=...
    )
    state_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: str = Field(description="Title of the issue", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(description="URL for the issue", default=...)
    user: WebhookIssuesReopenedPropIssueMergedUser = Field(default=...)


class WebhookIssuesReopenedPropIssueAllof0(GitHubRestModel):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ] = Field(default=...)
    assignee: Union[
        Unset, Union[WebhookIssuesReopenedPropIssueAllof0PropAssignee, None]
    ] = Field(title="User", default=UNSET)
    assignees: List[
        Union[WebhookIssuesReopenedPropIssueAllof0PropAssigneesItems, None]
    ] = Field(default=...)
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="AuthorAssociation",
        description="How the author is associated with the repository.",
        default=...,
    )
    body: Union[str, None] = Field(description="Contents of the issue", default=...)
    closed_at: Union[datetime, None] = Field(default=...)
    comments: int = Field(default=...)
    comments_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    draft: Union[Unset, bool] = Field(default=UNSET)
    events_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels: Union[
        Unset, List[WebhookIssuesReopenedPropIssueAllof0PropLabelsItems]
    ] = Field(default=UNSET)
    labels_url: str = Field(default=...)
    locked: Union[Unset, bool] = Field(default=UNSET)
    milestone: Union[WebhookIssuesReopenedPropIssueAllof0PropMilestone, None] = Field(
        title="Milestone",
        description="A collection of related issues and pull requests.",
        default=...,
    )
    node_id: str = Field(default=...)
    number: int = Field(default=...)
    performed_via_github_app: Union[
        Unset,
        Union[WebhookIssuesReopenedPropIssueAllof0PropPerformedViaGithubApp, None],
    ] = Field(
        title="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.",
        default=UNSET,
    )
    pull_request: Union[
        Unset, WebhookIssuesReopenedPropIssueAllof0PropPullRequest
    ] = Field(default=UNSET)
    reactions: WebhookIssuesReopenedPropIssueAllof0PropReactions = Field(
        title="Reactions", default=...
    )
    repository_url: str = Field(default=...)
    state: Union[Unset, Literal["open", "closed"]] = Field(
        description="State of the issue; either 'open' or 'closed'", default=UNSET
    )
    state_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: str = Field(description="Title of the issue", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(description="URL for the issue", default=...)
    user: Union[WebhookIssuesReopenedPropIssueAllof0PropUser, None] = Field(
        title="User", default=...
    )


class WebhookIssuesReopenedPropIssueAllof0PropAssignee(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesReopenedPropIssueAllof0PropAssigneesItems(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesReopenedPropIssueAllof0PropLabelsItems(GitHubRestModel):
    """Label"""

    color: str = Field(
        description="6-character hex code, without the leading #, identifying the color",
        default=...,
    )
    default: bool = Field(default=...)
    description: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="The name of the label.", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the label", default=...)


class WebhookIssuesReopenedPropIssueAllof0PropMilestonePropCreator(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesReopenedPropIssueAllof0PropMilestone(GitHubRestModel):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None] = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[
        WebhookIssuesReopenedPropIssueAllof0PropMilestonePropCreator, None
    ] = Field(title="User", default=...)
    description: Union[str, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    open_issues: int = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default=...
    )
    title: str = Field(description="The title of the milestone.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesReopenedPropIssueAllof0PropPerformedViaGithubAppPropOwner(
    GitHubRestModel
):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesReopenedPropIssueAllof0PropPerformedViaGithubAppPropPermissions(
    GitHubRestModel
):
    """WebhookIssuesReopenedPropIssueAllof0PropPerformedViaGithubAppPropPermissions

    The set of permissions for the GitHub app
    """

    actions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    administration: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    checks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    content_references: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    contents: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    deployments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    emails: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    environments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    issues: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    keys: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    members: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    metadata: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_administration: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_plan: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_projects: Union[Unset, Literal["read", "write", "admin"]] = Field(
        default=UNSET
    )
    organization_secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_self_hosted_runners: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_user_blocking: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pull_requests: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_projects: Union[Unset, Literal["read", "write", "admin"]] = Field(
        default=UNSET
    )
    secret_scanning_alerts: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_events: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_scanning_alert: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    single_file: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    statuses: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    team_discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    vulnerability_alerts: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    workflows: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)


class WebhookIssuesReopenedPropIssueAllof0PropPerformedViaGithubApp(GitHubRestModel):
    """App

    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.
    """

    created_at: Union[datetime, None] = Field(default=...)
    description: Union[str, None] = Field(default=...)
    events: Union[
        Unset,
        List[
            Literal[
                "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",
            ]
        ],
    ] = Field(description="The list of events for the GitHub app", default=UNSET)
    external_url: Union[str, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: Union[int, None] = Field(
        description="Unique identifier of the GitHub app", default=...
    )
    name: str = Field(description="The name of the GitHub app", default=...)
    node_id: str = Field(default=...)
    owner: Union[
        WebhookIssuesReopenedPropIssueAllof0PropPerformedViaGithubAppPropOwner, None
    ] = Field(title="User", default=...)
    permissions: Union[
        Unset,
        WebhookIssuesReopenedPropIssueAllof0PropPerformedViaGithubAppPropPermissions,
    ] = Field(description="The set of permissions for the GitHub app", default=UNSET)
    slug: Union[Unset, str] = Field(
        description="The slug name of the GitHub app", default=UNSET
    )
    updated_at: Union[datetime, None] = Field(default=...)


class WebhookIssuesReopenedPropIssueAllof0PropPullRequest(GitHubRestModel):
    """WebhookIssuesReopenedPropIssueAllof0PropPullRequest"""

    diff_url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    merged_at: Union[Unset, Union[datetime, None]] = Field(default=UNSET)
    patch_url: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesReopenedPropIssueAllof0PropReactions(GitHubRestModel):
    """Reactions"""

    plus_one: int = Field(default=..., alias="+1")
    minus_one: int = Field(default=..., alias="-1")
    confused: int = Field(default=...)
    eyes: int = Field(default=...)
    heart: int = Field(default=...)
    hooray: int = Field(default=...)
    laugh: int = Field(default=...)
    rocket: int = Field(default=...)
    total_count: int = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesReopenedPropIssueAllof0PropUser(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesReopenedPropIssueAllof1(GitHubRestModel):
    """WebhookIssuesReopenedPropIssueAllof1"""

    active_lock_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    assignee: Union[
        Unset, Union[WebhookIssuesReopenedPropIssueAllof1PropAssignee, None]
    ] = Field(default=UNSET)
    assignees: Union[
        Unset, List[Union[WebhookIssuesReopenedPropIssueAllof1PropAssigneesItems, None]]
    ] = Field(default=UNSET)
    author_association: Union[Unset, str] = Field(default=UNSET)
    body: Union[Unset, Union[str, None]] = Field(default=UNSET)
    closed_at: Union[Unset, Union[str, None]] = Field(default=UNSET)
    comments: Union[Unset, int] = Field(default=UNSET)
    comments_url: Union[Unset, str] = Field(default=UNSET)
    created_at: Union[Unset, str] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: Union[Unset, int] = Field(default=UNSET)
    labels: Union[
        Unset, List[Union[WebhookIssuesReopenedPropIssueAllof1PropLabelsItems, None]]
    ] = Field(default=UNSET)
    labels_url: Union[Unset, str] = Field(default=UNSET)
    locked: Union[Unset, bool] = Field(default=UNSET)
    milestone: Union[
        Unset, Union[WebhookIssuesReopenedPropIssueAllof1PropMilestone, None]
    ] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    number: Union[Unset, int] = Field(default=UNSET)
    performed_via_github_app: Union[
        Unset,
        Union[WebhookIssuesReopenedPropIssueAllof1PropPerformedViaGithubApp, None],
    ] = Field(default=UNSET)
    reactions: Union[Unset, WebhookIssuesReopenedPropIssueAllof1PropReactions] = Field(
        default=UNSET
    )
    repository_url: Union[Unset, str] = Field(default=UNSET)
    state: Literal["open", "closed"] = Field(default=...)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: Union[Unset, str] = Field(default=UNSET)
    updated_at: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)
    user: Union[Unset, WebhookIssuesReopenedPropIssueAllof1PropUser] = Field(
        default=UNSET
    )


class WebhookIssuesReopenedPropIssueAllof1PropAssignee(GitHubRestModel):
    """WebhookIssuesReopenedPropIssueAllof1PropAssignee"""


class WebhookIssuesReopenedPropIssueAllof1PropAssigneesItems(GitHubRestModel):
    """WebhookIssuesReopenedPropIssueAllof1PropAssigneesItems"""


class WebhookIssuesReopenedPropIssueAllof1PropLabelsItems(GitHubRestModel):
    """WebhookIssuesReopenedPropIssueAllof1PropLabelsItems"""


class WebhookIssuesReopenedPropIssueAllof1PropMilestone(GitHubRestModel):
    """WebhookIssuesReopenedPropIssueAllof1PropMilestone"""


class WebhookIssuesReopenedPropIssueAllof1PropPerformedViaGithubApp(GitHubRestModel):
    """WebhookIssuesReopenedPropIssueAllof1PropPerformedViaGithubApp"""


class WebhookIssuesReopenedPropIssueAllof1PropReactions(GitHubRestModel):
    """WebhookIssuesReopenedPropIssueAllof1PropReactions"""

    plus_one: Union[Unset, int] = Field(default=UNSET, alias="+1")
    minus_one: Union[Unset, int] = Field(default=UNSET, alias="-1")
    confused: Union[Unset, int] = Field(default=UNSET)
    eyes: Union[Unset, int] = Field(default=UNSET)
    heart: Union[Unset, int] = Field(default=UNSET)
    hooray: Union[Unset, int] = Field(default=UNSET)
    laugh: Union[Unset, int] = Field(default=UNSET)
    rocket: Union[Unset, int] = Field(default=UNSET)
    total_count: Union[Unset, int] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesReopenedPropIssueAllof1PropUser(GitHubRestModel):
    """WebhookIssuesReopenedPropIssueAllof1PropUser"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: Union[Unset, int] = Field(default=UNSET)
    login: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesReopenedPropIssueMergedAssignee(GitHubRestModel):
    """WebhookIssuesReopenedPropIssueMergedAssignee"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesReopenedPropIssueMergedAssignees(GitHubRestModel):
    """WebhookIssuesReopenedPropIssueMergedAssignees"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesReopenedPropIssueMergedLabels(GitHubRestModel):
    """WebhookIssuesReopenedPropIssueMergedLabels"""

    color: str = Field(
        description="6-character hex code, without the leading #, identifying the color",
        default=...,
    )
    default: bool = Field(default=...)
    description: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="The name of the label.", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the label", default=...)


class WebhookIssuesReopenedPropIssueMergedMilestone(GitHubRestModel):
    """WebhookIssuesReopenedPropIssueMergedMilestone"""

    closed_at: Union[datetime, None] = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[
        WebhookIssuesReopenedPropIssueAllof0PropMilestonePropCreator, None
    ] = Field(title="User", default=...)
    description: Union[str, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    open_issues: int = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default=...
    )
    title: str = Field(description="The title of the milestone.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesReopenedPropIssueMergedPerformedViaGithubApp(GitHubRestModel):
    """WebhookIssuesReopenedPropIssueMergedPerformedViaGithubApp"""

    created_at: Union[datetime, None] = Field(default=...)
    description: Union[str, None] = Field(default=...)
    events: Union[
        Unset,
        List[
            Literal[
                "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",
            ]
        ],
    ] = Field(description="The list of events for the GitHub app", default=UNSET)
    external_url: Union[str, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: Union[int, None] = Field(
        description="Unique identifier of the GitHub app", default=...
    )
    name: str = Field(description="The name of the GitHub app", default=...)
    node_id: str = Field(default=...)
    owner: Union[
        WebhookIssuesReopenedPropIssueAllof0PropPerformedViaGithubAppPropOwner, None
    ] = Field(title="User", default=...)
    permissions: Union[
        Unset,
        WebhookIssuesReopenedPropIssueAllof0PropPerformedViaGithubAppPropPermissions,
    ] = Field(description="The set of permissions for the GitHub app", default=UNSET)
    slug: Union[Unset, str] = Field(
        description="The slug name of the GitHub app", default=UNSET
    )
    updated_at: Union[datetime, None] = Field(default=...)


class WebhookIssuesReopenedPropIssueMergedReactions(GitHubRestModel):
    """WebhookIssuesReopenedPropIssueMergedReactions"""

    plus_one: int = Field(default=..., alias="+1")
    minus_one: int = Field(default=..., alias="-1")
    confused: int = Field(default=...)
    eyes: int = Field(default=...)
    heart: int = Field(default=...)
    hooray: int = Field(default=...)
    laugh: int = Field(default=...)
    rocket: int = Field(default=...)
    total_count: int = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesReopenedPropIssueMergedUser(GitHubRestModel):
    """WebhookIssuesReopenedPropIssueMergedUser"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesTransferred(GitHubRestModel):
    """issues transferred event"""

    action: Literal["transferred"] = Field(default=...)
    changes: WebhookIssuesTransferredPropChanges = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    issue: WebhookIssuesTransferredPropIssue = Field(
        title="Issue",
        description="The [issue](https://docs.github.com/en/rest/reference/issues) itself.",
        default=...,
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookIssuesTransferredPropChanges(GitHubRestModel):
    """WebhookIssuesTransferredPropChanges"""

    new_issue: WebhookIssuesTransferredPropChangesPropNewIssue = Field(
        title="Issue",
        description="The [issue](https://docs.github.com/en/rest/reference/issues) itself.",
        default=...,
    )
    new_repository: WebhookIssuesTransferredPropChangesPropNewRepository = Field(
        title="Repository", description="A git repository", default=...
    )


class WebhookIssuesTransferredPropChangesPropNewIssue(GitHubRestModel):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ] = Field(default=...)
    assignee: Union[
        Unset, Union[WebhookIssuesTransferredPropChangesPropNewIssuePropAssignee, None]
    ] = Field(title="User", default=UNSET)
    assignees: List[
        Union[WebhookIssuesTransferredPropChangesPropNewIssuePropAssigneesItems, None]
    ] = Field(default=...)
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="AuthorAssociation",
        description="How the author is associated with the repository.",
        default=...,
    )
    body: Union[str, None] = Field(description="Contents of the issue", default=...)
    closed_at: Union[datetime, None] = Field(default=...)
    comments: int = Field(default=...)
    comments_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    draft: Union[Unset, bool] = Field(default=UNSET)
    events_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels: Union[
        Unset, List[WebhookIssuesTransferredPropChangesPropNewIssuePropLabelsItems]
    ] = Field(default=UNSET)
    labels_url: str = Field(default=...)
    locked: Union[Unset, bool] = Field(default=UNSET)
    milestone: Union[
        WebhookIssuesTransferredPropChangesPropNewIssuePropMilestone, None
    ] = Field(
        title="Milestone",
        description="A collection of related issues and pull requests.",
        default=...,
    )
    node_id: str = Field(default=...)
    number: int = Field(default=...)
    performed_via_github_app: Union[
        Unset,
        Union[
            WebhookIssuesTransferredPropChangesPropNewIssuePropPerformedViaGithubApp,
            None,
        ],
    ] = Field(
        title="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.",
        default=UNSET,
    )
    pull_request: Union[
        Unset, WebhookIssuesTransferredPropChangesPropNewIssuePropPullRequest
    ] = Field(default=UNSET)
    reactions: WebhookIssuesTransferredPropChangesPropNewIssuePropReactions = Field(
        title="Reactions", default=...
    )
    repository_url: str = Field(default=...)
    state: Union[Unset, Literal["open", "closed"]] = Field(
        description="State of the issue; either 'open' or 'closed'", default=UNSET
    )
    state_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: str = Field(description="Title of the issue", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(description="URL for the issue", default=...)
    user: Union[WebhookIssuesTransferredPropChangesPropNewIssuePropUser, None] = Field(
        title="User", default=...
    )


class WebhookIssuesTransferredPropChangesPropNewIssuePropAssignee(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesTransferredPropChangesPropNewIssuePropAssigneesItems(
    GitHubRestModel
):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesTransferredPropChangesPropNewIssuePropLabelsItems(GitHubRestModel):
    """Label"""

    color: str = Field(
        description="6-character hex code, without the leading #, identifying the color",
        default=...,
    )
    default: bool = Field(default=...)
    description: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="The name of the label.", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the label", default=...)


class WebhookIssuesTransferredPropChangesPropNewIssuePropMilestonePropCreator(
    GitHubRestModel
):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesTransferredPropChangesPropNewIssuePropMilestone(GitHubRestModel):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None] = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[
        WebhookIssuesTransferredPropChangesPropNewIssuePropMilestonePropCreator, None
    ] = Field(title="User", default=...)
    description: Union[str, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    open_issues: int = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default=...
    )
    title: str = Field(description="The title of the milestone.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesTransferredPropChangesPropNewIssuePropPerformedViaGithubAppPropOwner(
    GitHubRestModel
):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesTransferredPropChangesPropNewIssuePropPerformedViaGithubAppPropPermissions(
    GitHubRestModel
):
    """WebhookIssuesTransferredPropChangesPropNewIssuePropPerformedViaGithubAppPropPerm
    issions

    The set of permissions for the GitHub app
    """

    actions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    administration: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    checks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    content_references: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    contents: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    deployments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    emails: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    environments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    issues: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    keys: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    members: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    metadata: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_administration: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_plan: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_projects: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_self_hosted_runners: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_user_blocking: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pull_requests: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_projects: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    secret_scanning_alerts: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_events: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_scanning_alert: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    single_file: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    statuses: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    team_discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    vulnerability_alerts: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    workflows: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)


class WebhookIssuesTransferredPropChangesPropNewIssuePropPerformedViaGithubApp(
    GitHubRestModel
):
    """App

    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.
    """

    created_at: Union[datetime, None] = Field(default=...)
    description: Union[str, None] = Field(default=...)
    events: Union[
        Unset,
        List[
            Literal[
                "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",
            ]
        ],
    ] = Field(description="The list of events for the GitHub app", default=UNSET)
    external_url: Union[str, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: Union[int, None] = Field(
        description="Unique identifier of the GitHub app", default=...
    )
    name: str = Field(description="The name of the GitHub app", default=...)
    node_id: str = Field(default=...)
    owner: Union[
        WebhookIssuesTransferredPropChangesPropNewIssuePropPerformedViaGithubAppPropOwner,
        None,
    ] = Field(title="User", default=...)
    permissions: Union[
        Unset,
        WebhookIssuesTransferredPropChangesPropNewIssuePropPerformedViaGithubAppPropPermissions,
    ] = Field(description="The set of permissions for the GitHub app", default=UNSET)
    slug: Union[Unset, str] = Field(
        description="The slug name of the GitHub app", default=UNSET
    )
    updated_at: Union[datetime, None] = Field(default=...)


class WebhookIssuesTransferredPropChangesPropNewIssuePropPullRequest(GitHubRestModel):
    """WebhookIssuesTransferredPropChangesPropNewIssuePropPullRequest"""

    diff_url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    merged_at: Union[Unset, Union[datetime, None]] = Field(default=UNSET)
    patch_url: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesTransferredPropChangesPropNewIssuePropReactions(GitHubRestModel):
    """Reactions"""

    plus_one: int = Field(default=..., alias="+1")
    minus_one: int = Field(default=..., alias="-1")
    confused: int = Field(default=...)
    eyes: int = Field(default=...)
    heart: int = Field(default=...)
    hooray: int = Field(default=...)
    laugh: int = Field(default=...)
    rocket: int = Field(default=...)
    total_count: int = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesTransferredPropChangesPropNewIssuePropUser(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesTransferredPropChangesPropNewRepository(GitHubRestModel):
    """Repository

    A git repository
    """

    allow_auto_merge: Union[Unset, bool] = Field(
        description="Whether to allow auto-merge for pull requests.", default=False
    )
    allow_forking: Union[Unset, bool] = Field(
        description="Whether to allow private forks", default=UNSET
    )
    allow_merge_commit: Union[Unset, bool] = Field(
        description="Whether to allow merge commits for pull requests.", default=True
    )
    allow_rebase_merge: Union[Unset, bool] = Field(
        description="Whether to allow rebase merges for pull requests.", default=True
    )
    allow_squash_merge: Union[Unset, bool] = Field(
        description="Whether to allow squash merges for pull requests.", default=True
    )
    allow_update_branch: Union[Unset, bool] = Field(default=UNSET)
    archive_url: str = Field(default=...)
    archived: bool = Field(
        description="Whether the repository is archived.", default=False
    )
    assignees_url: str = Field(default=...)
    blobs_url: str = Field(default=...)
    branches_url: str = Field(default=...)
    clone_url: str = Field(default=...)
    collaborators_url: str = Field(default=...)
    comments_url: str = Field(default=...)
    commits_url: str = Field(default=...)
    compare_url: str = Field(default=...)
    contents_url: str = Field(default=...)
    contributors_url: str = Field(default=...)
    created_at: Union[int, datetime] = Field(default=...)
    default_branch: str = Field(
        description="The default branch of the repository.", default=...
    )
    delete_branch_on_merge: Union[Unset, bool] = Field(
        description="Whether to delete head branches when pull requests are merged",
        default=False,
    )
    deployments_url: str = Field(default=...)
    description: Union[str, None] = Field(default=...)
    disabled: Union[Unset, bool] = Field(
        description="Returns whether or not this repository is disabled.", default=UNSET
    )
    downloads_url: str = Field(default=...)
    events_url: str = Field(default=...)
    fork: bool = Field(default=...)
    forks: int = Field(default=...)
    forks_count: int = Field(default=...)
    forks_url: str = Field(default=...)
    full_name: str = Field(default=...)
    git_commits_url: str = Field(default=...)
    git_refs_url: str = Field(default=...)
    git_tags_url: str = Field(default=...)
    git_url: str = Field(default=...)
    has_downloads: bool = Field(
        description="Whether downloads are enabled.", default=True
    )
    has_issues: bool = Field(description="Whether issues are enabled.", default=True)
    has_pages: bool = Field(default=...)
    has_projects: bool = Field(
        description="Whether projects are enabled.", default=True
    )
    has_wiki: bool = Field(description="Whether the wiki is enabled.", default=True)
    homepage: Union[str, None] = Field(default=...)
    hooks_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(description="Unique identifier of the repository", default=...)
    is_template: Union[Unset, bool] = Field(default=UNSET)
    issue_comment_url: str = Field(default=...)
    issue_events_url: str = Field(default=...)
    issues_url: str = Field(default=...)
    keys_url: str = Field(default=...)
    labels_url: str = Field(default=...)
    language: Union[str, None] = Field(default=...)
    languages_url: str = Field(default=...)
    license_: Union[
        WebhookIssuesTransferredPropChangesPropNewRepositoryPropLicense, None
    ] = Field(title="License", default=..., alias="license")
    master_branch: Union[Unset, str] = Field(default=UNSET)
    merges_url: str = Field(default=...)
    milestones_url: str = Field(default=...)
    mirror_url: Union[str, None] = Field(default=...)
    name: str = Field(description="The name of the repository.", default=...)
    node_id: str = Field(default=...)
    notifications_url: str = Field(default=...)
    open_issues: int = Field(default=...)
    open_issues_count: int = Field(default=...)
    organization: Union[Unset, str] = Field(default=UNSET)
    owner: Union[
        WebhookIssuesTransferredPropChangesPropNewRepositoryPropOwner, None
    ] = Field(title="User", default=...)
    permissions: Union[
        Unset, WebhookIssuesTransferredPropChangesPropNewRepositoryPropPermissions
    ] = Field(default=UNSET)
    private: bool = Field(
        description="Whether the repository is private or public.", default=...
    )
    public: Union[Unset, bool] = Field(default=UNSET)
    pulls_url: str = Field(default=...)
    pushed_at: Union[int, datetime, None] = Field(default=...)
    releases_url: str = Field(default=...)
    role_name: Union[Unset, Union[str, None]] = Field(default=UNSET)
    size: int = Field(default=...)
    ssh_url: str = Field(default=...)
    stargazers: Union[Unset, int] = Field(default=UNSET)
    stargazers_count: int = Field(default=...)
    stargazers_url: str = Field(default=...)
    statuses_url: str = Field(default=...)
    subscribers_url: str = Field(default=...)
    subscription_url: str = Field(default=...)
    svn_url: str = Field(default=...)
    tags_url: str = Field(default=...)
    teams_url: str = Field(default=...)
    topics: List[str] = Field(default=...)
    trees_url: str = Field(default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)
    visibility: Literal["public", "private", "internal"] = Field(default=...)
    watchers: int = Field(default=...)
    watchers_count: int = Field(default=...)
    web_commit_signoff_required: Union[Unset, bool] = Field(
        description="Whether to require contributors to sign off on web-based commits",
        default=UNSET,
    )


class WebhookIssuesTransferredPropChangesPropNewRepositoryPropLicense(GitHubRestModel):
    """License"""

    key: str = Field(default=...)
    name: str = Field(default=...)
    node_id: str = Field(default=...)
    spdx_id: str = Field(default=...)
    url: Union[str, None] = Field(default=...)


class WebhookIssuesTransferredPropChangesPropNewRepositoryPropOwner(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesTransferredPropChangesPropNewRepositoryPropPermissions(
    GitHubRestModel
):
    """WebhookIssuesTransferredPropChangesPropNewRepositoryPropPermissions"""

    admin: bool = Field(default=...)
    maintain: Union[Unset, bool] = Field(default=UNSET)
    pull: bool = Field(default=...)
    push: bool = Field(default=...)
    triage: Union[Unset, bool] = Field(default=UNSET)


class WebhookIssuesTransferredPropIssue(GitHubRestModel):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ] = Field(default=...)
    assignee: Union[
        Unset, Union[WebhookIssuesTransferredPropIssuePropAssignee, None]
    ] = Field(title="User", default=UNSET)
    assignees: List[
        Union[WebhookIssuesTransferredPropIssuePropAssigneesItems, None]
    ] = Field(default=...)
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="AuthorAssociation",
        description="How the author is associated with the repository.",
        default=...,
    )
    body: Union[str, None] = Field(description="Contents of the issue", default=...)
    closed_at: Union[datetime, None] = Field(default=...)
    comments: int = Field(default=...)
    comments_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    draft: Union[Unset, bool] = Field(default=UNSET)
    events_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels: Union[
        Unset, List[WebhookIssuesTransferredPropIssuePropLabelsItems]
    ] = Field(default=UNSET)
    labels_url: str = Field(default=...)
    locked: Union[Unset, bool] = Field(default=UNSET)
    milestone: Union[WebhookIssuesTransferredPropIssuePropMilestone, None] = Field(
        title="Milestone",
        description="A collection of related issues and pull requests.",
        default=...,
    )
    node_id: str = Field(default=...)
    number: int = Field(default=...)
    performed_via_github_app: Union[
        Unset, Union[WebhookIssuesTransferredPropIssuePropPerformedViaGithubApp, None]
    ] = Field(
        title="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.",
        default=UNSET,
    )
    pull_request: Union[
        Unset, WebhookIssuesTransferredPropIssuePropPullRequest
    ] = Field(default=UNSET)
    reactions: WebhookIssuesTransferredPropIssuePropReactions = Field(
        title="Reactions", default=...
    )
    repository_url: str = Field(default=...)
    state: Union[Unset, Literal["open", "closed"]] = Field(
        description="State of the issue; either 'open' or 'closed'", default=UNSET
    )
    state_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: str = Field(description="Title of the issue", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(description="URL for the issue", default=...)
    user: Union[WebhookIssuesTransferredPropIssuePropUser, None] = Field(
        title="User", default=...
    )


class WebhookIssuesTransferredPropIssuePropAssignee(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesTransferredPropIssuePropAssigneesItems(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesTransferredPropIssuePropLabelsItems(GitHubRestModel):
    """Label"""

    color: str = Field(
        description="6-character hex code, without the leading #, identifying the color",
        default=...,
    )
    default: bool = Field(default=...)
    description: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="The name of the label.", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the label", default=...)


class WebhookIssuesTransferredPropIssuePropMilestonePropCreator(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesTransferredPropIssuePropMilestone(GitHubRestModel):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None] = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[
        WebhookIssuesTransferredPropIssuePropMilestonePropCreator, None
    ] = Field(title="User", default=...)
    description: Union[str, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    open_issues: int = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default=...
    )
    title: str = Field(description="The title of the milestone.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesTransferredPropIssuePropPerformedViaGithubAppPropOwner(
    GitHubRestModel
):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesTransferredPropIssuePropPerformedViaGithubAppPropPermissions(
    GitHubRestModel
):
    """WebhookIssuesTransferredPropIssuePropPerformedViaGithubAppPropPermissions

    The set of permissions for the GitHub app
    """

    actions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    administration: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    checks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    content_references: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    contents: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    deployments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    emails: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    environments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    issues: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    keys: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    members: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    metadata: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_administration: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_plan: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_projects: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_self_hosted_runners: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_user_blocking: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pull_requests: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_projects: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    secret_scanning_alerts: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_events: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_scanning_alert: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    single_file: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    statuses: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    team_discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    vulnerability_alerts: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    workflows: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)


class WebhookIssuesTransferredPropIssuePropPerformedViaGithubApp(GitHubRestModel):
    """App

    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.
    """

    created_at: Union[datetime, None] = Field(default=...)
    description: Union[str, None] = Field(default=...)
    events: Union[
        Unset,
        List[
            Literal[
                "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",
            ]
        ],
    ] = Field(description="The list of events for the GitHub app", default=UNSET)
    external_url: Union[str, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: Union[int, None] = Field(
        description="Unique identifier of the GitHub app", default=...
    )
    name: str = Field(description="The name of the GitHub app", default=...)
    node_id: str = Field(default=...)
    owner: Union[
        WebhookIssuesTransferredPropIssuePropPerformedViaGithubAppPropOwner, None
    ] = Field(title="User", default=...)
    permissions: Union[
        Unset, WebhookIssuesTransferredPropIssuePropPerformedViaGithubAppPropPermissions
    ] = Field(description="The set of permissions for the GitHub app", default=UNSET)
    slug: Union[Unset, str] = Field(
        description="The slug name of the GitHub app", default=UNSET
    )
    updated_at: Union[datetime, None] = Field(default=...)


class WebhookIssuesTransferredPropIssuePropPullRequest(GitHubRestModel):
    """WebhookIssuesTransferredPropIssuePropPullRequest"""

    diff_url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    merged_at: Union[Unset, Union[datetime, None]] = Field(default=UNSET)
    patch_url: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesTransferredPropIssuePropReactions(GitHubRestModel):
    """Reactions"""

    plus_one: int = Field(default=..., alias="+1")
    minus_one: int = Field(default=..., alias="-1")
    confused: int = Field(default=...)
    eyes: int = Field(default=...)
    heart: int = Field(default=...)
    hooray: int = Field(default=...)
    laugh: int = Field(default=...)
    rocket: int = Field(default=...)
    total_count: int = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesTransferredPropIssuePropUser(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesUnassigned(GitHubRestModel):
    """issues unassigned event"""

    action: Literal["unassigned"] = Field(
        description="The action that was performed.", default=...
    )
    assignee: Union[Unset, Union[WebhookIssuesUnassignedPropAssignee, None]] = Field(
        title="User", default=UNSET
    )
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    issue: WebhookIssuesUnassignedPropIssue = Field(
        title="Issue",
        description="The [issue](https://docs.github.com/en/rest/reference/issues) itself.",
        default=...,
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookIssuesUnassignedPropAssignee(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesUnassignedPropIssue(GitHubRestModel):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ] = Field(default=...)
    assignee: Union[
        Unset, Union[WebhookIssuesUnassignedPropIssuePropAssignee, None]
    ] = Field(title="User", default=UNSET)
    assignees: List[
        Union[WebhookIssuesUnassignedPropIssuePropAssigneesItems, None]
    ] = Field(default=...)
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="AuthorAssociation",
        description="How the author is associated with the repository.",
        default=...,
    )
    body: Union[str, None] = Field(description="Contents of the issue", default=...)
    closed_at: Union[datetime, None] = Field(default=...)
    comments: int = Field(default=...)
    comments_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    draft: Union[Unset, bool] = Field(default=UNSET)
    events_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels: Union[Unset, List[WebhookIssuesUnassignedPropIssuePropLabelsItems]] = Field(
        default=UNSET
    )
    labels_url: str = Field(default=...)
    locked: Union[Unset, bool] = Field(default=UNSET)
    milestone: Union[WebhookIssuesUnassignedPropIssuePropMilestone, None] = Field(
        title="Milestone",
        description="A collection of related issues and pull requests.",
        default=...,
    )
    node_id: str = Field(default=...)
    number: int = Field(default=...)
    performed_via_github_app: Union[
        Unset, Union[WebhookIssuesUnassignedPropIssuePropPerformedViaGithubApp, None]
    ] = Field(
        title="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.",
        default=UNSET,
    )
    pull_request: Union[Unset, WebhookIssuesUnassignedPropIssuePropPullRequest] = Field(
        default=UNSET
    )
    reactions: WebhookIssuesUnassignedPropIssuePropReactions = Field(
        title="Reactions", default=...
    )
    repository_url: str = Field(default=...)
    state: Union[Unset, Literal["open", "closed"]] = Field(
        description="State of the issue; either 'open' or 'closed'", default=UNSET
    )
    state_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: str = Field(description="Title of the issue", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(description="URL for the issue", default=...)
    user: Union[WebhookIssuesUnassignedPropIssuePropUser, None] = Field(
        title="User", default=...
    )


class WebhookIssuesUnassignedPropIssuePropAssignee(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesUnassignedPropIssuePropAssigneesItems(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesUnassignedPropIssuePropLabelsItems(GitHubRestModel):
    """Label"""

    color: str = Field(
        description="6-character hex code, without the leading #, identifying the color",
        default=...,
    )
    default: bool = Field(default=...)
    description: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="The name of the label.", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the label", default=...)


class WebhookIssuesUnassignedPropIssuePropMilestonePropCreator(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesUnassignedPropIssuePropMilestone(GitHubRestModel):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None] = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[
        WebhookIssuesUnassignedPropIssuePropMilestonePropCreator, None
    ] = Field(title="User", default=...)
    description: Union[str, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    open_issues: int = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default=...
    )
    title: str = Field(description="The title of the milestone.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesUnassignedPropIssuePropPerformedViaGithubAppPropOwner(
    GitHubRestModel
):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesUnassignedPropIssuePropPerformedViaGithubAppPropPermissions(
    GitHubRestModel
):
    """WebhookIssuesUnassignedPropIssuePropPerformedViaGithubAppPropPermissions

    The set of permissions for the GitHub app
    """

    actions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    administration: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    checks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    content_references: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    contents: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    deployments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    emails: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    environments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    issues: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    keys: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    members: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    metadata: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_administration: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_plan: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_projects: Union[Unset, Literal["read", "write", "admin"]] = Field(
        default=UNSET
    )
    organization_secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_self_hosted_runners: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_user_blocking: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pull_requests: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_projects: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    secret_scanning_alerts: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_events: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_scanning_alert: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    single_file: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    statuses: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    team_discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    vulnerability_alerts: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    workflows: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)


class WebhookIssuesUnassignedPropIssuePropPerformedViaGithubApp(GitHubRestModel):
    """App

    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.
    """

    created_at: Union[datetime, None] = Field(default=...)
    description: Union[str, None] = Field(default=...)
    events: Union[
        Unset,
        List[
            Literal[
                "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",
            ]
        ],
    ] = Field(description="The list of events for the GitHub app", default=UNSET)
    external_url: Union[str, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: Union[int, None] = Field(
        description="Unique identifier of the GitHub app", default=...
    )
    name: str = Field(description="The name of the GitHub app", default=...)
    node_id: str = Field(default=...)
    owner: Union[
        WebhookIssuesUnassignedPropIssuePropPerformedViaGithubAppPropOwner, None
    ] = Field(title="User", default=...)
    permissions: Union[
        Unset, WebhookIssuesUnassignedPropIssuePropPerformedViaGithubAppPropPermissions
    ] = Field(description="The set of permissions for the GitHub app", default=UNSET)
    slug: Union[Unset, str] = Field(
        description="The slug name of the GitHub app", default=UNSET
    )
    updated_at: Union[datetime, None] = Field(default=...)


class WebhookIssuesUnassignedPropIssuePropPullRequest(GitHubRestModel):
    """WebhookIssuesUnassignedPropIssuePropPullRequest"""

    diff_url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    merged_at: Union[Unset, Union[datetime, None]] = Field(default=UNSET)
    patch_url: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesUnassignedPropIssuePropReactions(GitHubRestModel):
    """Reactions"""

    plus_one: int = Field(default=..., alias="+1")
    minus_one: int = Field(default=..., alias="-1")
    confused: int = Field(default=...)
    eyes: int = Field(default=...)
    heart: int = Field(default=...)
    hooray: int = Field(default=...)
    laugh: int = Field(default=...)
    rocket: int = Field(default=...)
    total_count: int = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesUnassignedPropIssuePropUser(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesUnlabeled(GitHubRestModel):
    """issues unlabeled event"""

    action: Literal["unlabeled"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    issue: WebhookIssuesUnlabeledPropIssue = Field(
        title="Issue",
        description="The [issue](https://docs.github.com/en/rest/reference/issues) itself.",
        default=...,
    )
    label: Union[Unset, WebhookIssuesUnlabeledPropLabel] = Field(
        title="Label", default=UNSET
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookIssuesUnlabeledPropIssue(GitHubRestModel):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ] = Field(default=...)
    assignee: Union[
        Unset, Union[WebhookIssuesUnlabeledPropIssuePropAssignee, None]
    ] = Field(title="User", default=UNSET)
    assignees: List[
        Union[WebhookIssuesUnlabeledPropIssuePropAssigneesItems, None]
    ] = Field(default=...)
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="AuthorAssociation",
        description="How the author is associated with the repository.",
        default=...,
    )
    body: Union[str, None] = Field(description="Contents of the issue", default=...)
    closed_at: Union[datetime, None] = Field(default=...)
    comments: int = Field(default=...)
    comments_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    draft: Union[Unset, bool] = Field(default=UNSET)
    events_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels: Union[Unset, List[WebhookIssuesUnlabeledPropIssuePropLabelsItems]] = Field(
        default=UNSET
    )
    labels_url: str = Field(default=...)
    locked: Union[Unset, bool] = Field(default=UNSET)
    milestone: Union[WebhookIssuesUnlabeledPropIssuePropMilestone, None] = Field(
        title="Milestone",
        description="A collection of related issues and pull requests.",
        default=...,
    )
    node_id: str = Field(default=...)
    number: int = Field(default=...)
    performed_via_github_app: Union[
        Unset, Union[WebhookIssuesUnlabeledPropIssuePropPerformedViaGithubApp, None]
    ] = Field(
        title="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.",
        default=UNSET,
    )
    pull_request: Union[Unset, WebhookIssuesUnlabeledPropIssuePropPullRequest] = Field(
        default=UNSET
    )
    reactions: WebhookIssuesUnlabeledPropIssuePropReactions = Field(
        title="Reactions", default=...
    )
    repository_url: str = Field(default=...)
    state: Union[Unset, Literal["open", "closed"]] = Field(
        description="State of the issue; either 'open' or 'closed'", default=UNSET
    )
    state_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: str = Field(description="Title of the issue", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(description="URL for the issue", default=...)
    user: Union[WebhookIssuesUnlabeledPropIssuePropUser, None] = Field(
        title="User", default=...
    )


class WebhookIssuesUnlabeledPropIssuePropAssignee(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesUnlabeledPropIssuePropAssigneesItems(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesUnlabeledPropIssuePropLabelsItems(GitHubRestModel):
    """Label"""

    color: str = Field(
        description="6-character hex code, without the leading #, identifying the color",
        default=...,
    )
    default: bool = Field(default=...)
    description: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="The name of the label.", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the label", default=...)


class WebhookIssuesUnlabeledPropIssuePropMilestonePropCreator(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesUnlabeledPropIssuePropMilestone(GitHubRestModel):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None] = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[
        WebhookIssuesUnlabeledPropIssuePropMilestonePropCreator, None
    ] = Field(title="User", default=...)
    description: Union[str, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    open_issues: int = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default=...
    )
    title: str = Field(description="The title of the milestone.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesUnlabeledPropIssuePropPerformedViaGithubAppPropOwner(
    GitHubRestModel
):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesUnlabeledPropIssuePropPerformedViaGithubAppPropPermissions(
    GitHubRestModel
):
    """WebhookIssuesUnlabeledPropIssuePropPerformedViaGithubAppPropPermissions

    The set of permissions for the GitHub app
    """

    actions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    administration: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    checks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    content_references: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    contents: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    deployments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    emails: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    environments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    issues: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    keys: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    members: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    metadata: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_administration: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_plan: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_projects: Union[Unset, Literal["read", "write", "admin"]] = Field(
        default=UNSET
    )
    organization_secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_self_hosted_runners: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_user_blocking: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pull_requests: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_projects: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    secret_scanning_alerts: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_events: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_scanning_alert: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    single_file: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    statuses: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    team_discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    vulnerability_alerts: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    workflows: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)


class WebhookIssuesUnlabeledPropIssuePropPerformedViaGithubApp(GitHubRestModel):
    """App

    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.
    """

    created_at: Union[datetime, None] = Field(default=...)
    description: Union[str, None] = Field(default=...)
    events: Union[
        Unset,
        List[
            Literal[
                "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",
            ]
        ],
    ] = Field(description="The list of events for the GitHub app", default=UNSET)
    external_url: Union[str, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: Union[int, None] = Field(
        description="Unique identifier of the GitHub app", default=...
    )
    name: str = Field(description="The name of the GitHub app", default=...)
    node_id: str = Field(default=...)
    owner: Union[
        WebhookIssuesUnlabeledPropIssuePropPerformedViaGithubAppPropOwner, None
    ] = Field(title="User", default=...)
    permissions: Union[
        Unset, WebhookIssuesUnlabeledPropIssuePropPerformedViaGithubAppPropPermissions
    ] = Field(description="The set of permissions for the GitHub app", default=UNSET)
    slug: Union[Unset, str] = Field(
        description="The slug name of the GitHub app", default=UNSET
    )
    updated_at: Union[datetime, None] = Field(default=...)


class WebhookIssuesUnlabeledPropIssuePropPullRequest(GitHubRestModel):
    """WebhookIssuesUnlabeledPropIssuePropPullRequest"""

    diff_url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    merged_at: Union[Unset, Union[datetime, None]] = Field(default=UNSET)
    patch_url: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesUnlabeledPropIssuePropReactions(GitHubRestModel):
    """Reactions"""

    plus_one: int = Field(default=..., alias="+1")
    minus_one: int = Field(default=..., alias="-1")
    confused: int = Field(default=...)
    eyes: int = Field(default=...)
    heart: int = Field(default=...)
    hooray: int = Field(default=...)
    laugh: int = Field(default=...)
    rocket: int = Field(default=...)
    total_count: int = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesUnlabeledPropIssuePropUser(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesUnlabeledPropLabel(GitHubRestModel):
    """Label"""

    color: str = Field(
        description="6-character hex code, without the leading #, identifying the color",
        default=...,
    )
    default: bool = Field(default=...)
    description: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="The name of the label.", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the label", default=...)


class WebhookIssuesUnlocked(GitHubRestModel):
    """issues unlocked event"""

    action: Literal["unlocked"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    issue: WebhookIssuesUnlockedPropIssue = Field(default=...)
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookIssuesUnlockedPropIssue(GitHubRestModel):
    """WebhookIssuesUnlockedPropIssue"""

    active_lock_reason: Union[None, None] = Field(default=...)
    assignee: Union[
        Unset, Union[WebhookIssuesUnlockedPropIssueMergedAssignee, None]
    ] = Field(default=UNSET)
    assignees: List[WebhookIssuesUnlockedPropIssueMergedAssignees] = Field(default=...)
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="AuthorAssociation",
        description="How the author is associated with the repository.",
        default=...,
    )
    body: Union[Union[str, None], None] = Field(
        description="Contents of the issue", default=...
    )
    closed_at: Union[Union[datetime, None], None] = Field(default=...)
    comments: int = Field(default=...)
    comments_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    draft: Union[Unset, bool] = Field(default=UNSET)
    events_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels: Union[Unset, List[WebhookIssuesUnlockedPropIssueMergedLabels]] = Field(
        default=UNSET
    )
    labels_url: str = Field(default=...)
    locked: Literal[False] = Field(default=...)
    milestone: Union[WebhookIssuesUnlockedPropIssueMergedMilestone, None] = Field(
        default=...
    )
    node_id: str = Field(default=...)
    number: int = Field(default=...)
    performed_via_github_app: Union[Unset, Union[None, None]] = Field(default=UNSET)
    pull_request: Union[
        Unset, WebhookIssuesUnlockedPropIssueAllof0PropPullRequest
    ] = Field(default=UNSET)
    reactions: WebhookIssuesUnlockedPropIssueMergedReactions = Field(default=...)
    repository_url: str = Field(default=...)
    state: Union[Unset, Literal["open", "closed"]] = Field(
        description="State of the issue; either 'open' or 'closed'", default=UNSET
    )
    state_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: str = Field(description="Title of the issue", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(description="URL for the issue", default=...)
    user: WebhookIssuesUnlockedPropIssueMergedUser = Field(default=...)


class WebhookIssuesUnlockedPropIssueAllof0(GitHubRestModel):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ] = Field(default=...)
    assignee: Union[
        Unset, Union[WebhookIssuesUnlockedPropIssueAllof0PropAssignee, None]
    ] = Field(title="User", default=UNSET)
    assignees: List[
        Union[WebhookIssuesUnlockedPropIssueAllof0PropAssigneesItems, None]
    ] = Field(default=...)
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="AuthorAssociation",
        description="How the author is associated with the repository.",
        default=...,
    )
    body: Union[str, None] = Field(description="Contents of the issue", default=...)
    closed_at: Union[datetime, None] = Field(default=...)
    comments: int = Field(default=...)
    comments_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    draft: Union[Unset, bool] = Field(default=UNSET)
    events_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels: Union[
        Unset, List[WebhookIssuesUnlockedPropIssueAllof0PropLabelsItems]
    ] = Field(default=UNSET)
    labels_url: str = Field(default=...)
    locked: Union[Unset, bool] = Field(default=UNSET)
    milestone: Union[WebhookIssuesUnlockedPropIssueAllof0PropMilestone, None] = Field(
        title="Milestone",
        description="A collection of related issues and pull requests.",
        default=...,
    )
    node_id: str = Field(default=...)
    number: int = Field(default=...)
    performed_via_github_app: Union[
        Unset,
        Union[WebhookIssuesUnlockedPropIssueAllof0PropPerformedViaGithubApp, None],
    ] = Field(
        title="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.",
        default=UNSET,
    )
    pull_request: Union[
        Unset, WebhookIssuesUnlockedPropIssueAllof0PropPullRequest
    ] = Field(default=UNSET)
    reactions: WebhookIssuesUnlockedPropIssueAllof0PropReactions = Field(
        title="Reactions", default=...
    )
    repository_url: str = Field(default=...)
    state: Union[Unset, Literal["open", "closed"]] = Field(
        description="State of the issue; either 'open' or 'closed'", default=UNSET
    )
    state_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: str = Field(description="Title of the issue", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(description="URL for the issue", default=...)
    user: Union[WebhookIssuesUnlockedPropIssueAllof0PropUser, None] = Field(
        title="User", default=...
    )


class WebhookIssuesUnlockedPropIssueAllof0PropAssignee(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesUnlockedPropIssueAllof0PropAssigneesItems(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesUnlockedPropIssueAllof0PropLabelsItems(GitHubRestModel):
    """Label"""

    color: str = Field(
        description="6-character hex code, without the leading #, identifying the color",
        default=...,
    )
    default: bool = Field(default=...)
    description: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="The name of the label.", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the label", default=...)


class WebhookIssuesUnlockedPropIssueAllof0PropMilestonePropCreator(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesUnlockedPropIssueAllof0PropMilestone(GitHubRestModel):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None] = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[
        WebhookIssuesUnlockedPropIssueAllof0PropMilestonePropCreator, None
    ] = Field(title="User", default=...)
    description: Union[str, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    open_issues: int = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default=...
    )
    title: str = Field(description="The title of the milestone.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesUnlockedPropIssueAllof0PropPerformedViaGithubAppPropOwner(
    GitHubRestModel
):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesUnlockedPropIssueAllof0PropPerformedViaGithubAppPropPermissions(
    GitHubRestModel
):
    """WebhookIssuesUnlockedPropIssueAllof0PropPerformedViaGithubAppPropPermissions

    The set of permissions for the GitHub app
    """

    actions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    administration: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    checks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    content_references: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    contents: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    deployments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    emails: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    environments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    issues: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    keys: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    members: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    metadata: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_administration: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_plan: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_projects: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_self_hosted_runners: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_user_blocking: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pull_requests: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_projects: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    secret_scanning_alerts: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_events: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_scanning_alert: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    single_file: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    statuses: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    team_discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    vulnerability_alerts: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    workflows: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)


class WebhookIssuesUnlockedPropIssueAllof0PropPerformedViaGithubApp(GitHubRestModel):
    """App

    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.
    """

    created_at: Union[datetime, None] = Field(default=...)
    description: Union[str, None] = Field(default=...)
    events: Union[
        Unset,
        List[
            Literal[
                "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",
            ]
        ],
    ] = Field(description="The list of events for the GitHub app", default=UNSET)
    external_url: Union[str, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: Union[int, None] = Field(
        description="Unique identifier of the GitHub app", default=...
    )
    name: str = Field(description="The name of the GitHub app", default=...)
    node_id: str = Field(default=...)
    owner: Union[
        WebhookIssuesUnlockedPropIssueAllof0PropPerformedViaGithubAppPropOwner, None
    ] = Field(title="User", default=...)
    permissions: Union[
        Unset,
        WebhookIssuesUnlockedPropIssueAllof0PropPerformedViaGithubAppPropPermissions,
    ] = Field(description="The set of permissions for the GitHub app", default=UNSET)
    slug: Union[Unset, str] = Field(
        description="The slug name of the GitHub app", default=UNSET
    )
    updated_at: Union[datetime, None] = Field(default=...)


class WebhookIssuesUnlockedPropIssueAllof0PropPullRequest(GitHubRestModel):
    """WebhookIssuesUnlockedPropIssueAllof0PropPullRequest"""

    diff_url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    merged_at: Union[Unset, Union[datetime, None]] = Field(default=UNSET)
    patch_url: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesUnlockedPropIssueAllof0PropReactions(GitHubRestModel):
    """Reactions"""

    plus_one: int = Field(default=..., alias="+1")
    minus_one: int = Field(default=..., alias="-1")
    confused: int = Field(default=...)
    eyes: int = Field(default=...)
    heart: int = Field(default=...)
    hooray: int = Field(default=...)
    laugh: int = Field(default=...)
    rocket: int = Field(default=...)
    total_count: int = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesUnlockedPropIssueAllof0PropUser(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesUnlockedPropIssueAllof1(GitHubRestModel):
    """WebhookIssuesUnlockedPropIssueAllof1"""

    active_lock_reason: None = Field(default=...)
    assignee: Union[
        Unset, Union[WebhookIssuesUnlockedPropIssueAllof1PropAssignee, None]
    ] = Field(default=UNSET)
    assignees: Union[
        Unset, List[Union[WebhookIssuesUnlockedPropIssueAllof1PropAssigneesItems, None]]
    ] = Field(default=UNSET)
    author_association: Union[Unset, str] = Field(default=UNSET)
    body: Union[Unset, Union[str, None]] = Field(default=UNSET)
    closed_at: Union[Unset, Union[str, None]] = Field(default=UNSET)
    comments: Union[Unset, int] = Field(default=UNSET)
    comments_url: Union[Unset, str] = Field(default=UNSET)
    created_at: Union[Unset, str] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: Union[Unset, int] = Field(default=UNSET)
    labels: Union[
        Unset, List[Union[WebhookIssuesUnlockedPropIssueAllof1PropLabelsItems, None]]
    ] = Field(default=UNSET)
    labels_url: Union[Unset, str] = Field(default=UNSET)
    locked: Literal[False] = Field(default=...)
    milestone: Union[
        Unset, Union[WebhookIssuesUnlockedPropIssueAllof1PropMilestone, None]
    ] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    number: Union[Unset, int] = Field(default=UNSET)
    performed_via_github_app: Union[Unset, None] = Field(default=UNSET)
    reactions: Union[Unset, WebhookIssuesUnlockedPropIssueAllof1PropReactions] = Field(
        default=UNSET
    )
    repository_url: Union[Unset, str] = Field(default=UNSET)
    state: Union[Unset, str] = Field(default=UNSET)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: Union[Unset, str] = Field(default=UNSET)
    updated_at: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)
    user: Union[Unset, WebhookIssuesUnlockedPropIssueAllof1PropUser] = Field(
        default=UNSET
    )


class WebhookIssuesUnlockedPropIssueAllof1PropAssignee(GitHubRestModel):
    """WebhookIssuesUnlockedPropIssueAllof1PropAssignee"""


class WebhookIssuesUnlockedPropIssueAllof1PropAssigneesItems(GitHubRestModel):
    """WebhookIssuesUnlockedPropIssueAllof1PropAssigneesItems"""


class WebhookIssuesUnlockedPropIssueAllof1PropLabelsItems(GitHubRestModel):
    """WebhookIssuesUnlockedPropIssueAllof1PropLabelsItems"""


class WebhookIssuesUnlockedPropIssueAllof1PropMilestone(GitHubRestModel):
    """WebhookIssuesUnlockedPropIssueAllof1PropMilestone"""


class WebhookIssuesUnlockedPropIssueAllof1PropReactions(GitHubRestModel):
    """WebhookIssuesUnlockedPropIssueAllof1PropReactions"""

    plus_one: Union[Unset, int] = Field(default=UNSET, alias="+1")
    minus_one: Union[Unset, int] = Field(default=UNSET, alias="-1")
    confused: Union[Unset, int] = Field(default=UNSET)
    eyes: Union[Unset, int] = Field(default=UNSET)
    heart: Union[Unset, int] = Field(default=UNSET)
    hooray: Union[Unset, int] = Field(default=UNSET)
    laugh: Union[Unset, int] = Field(default=UNSET)
    rocket: Union[Unset, int] = Field(default=UNSET)
    total_count: Union[Unset, int] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesUnlockedPropIssueAllof1PropUser(GitHubRestModel):
    """WebhookIssuesUnlockedPropIssueAllof1PropUser"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: Union[Unset, int] = Field(default=UNSET)
    login: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesUnlockedPropIssueMergedAssignee(GitHubRestModel):
    """WebhookIssuesUnlockedPropIssueMergedAssignee"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesUnlockedPropIssueMergedAssignees(GitHubRestModel):
    """WebhookIssuesUnlockedPropIssueMergedAssignees"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesUnlockedPropIssueMergedLabels(GitHubRestModel):
    """WebhookIssuesUnlockedPropIssueMergedLabels"""

    color: str = Field(
        description="6-character hex code, without the leading #, identifying the color",
        default=...,
    )
    default: bool = Field(default=...)
    description: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="The name of the label.", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the label", default=...)


class WebhookIssuesUnlockedPropIssueMergedMilestone(GitHubRestModel):
    """WebhookIssuesUnlockedPropIssueMergedMilestone"""

    closed_at: Union[datetime, None] = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[
        WebhookIssuesUnlockedPropIssueAllof0PropMilestonePropCreator, None
    ] = Field(title="User", default=...)
    description: Union[str, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    open_issues: int = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default=...
    )
    title: str = Field(description="The title of the milestone.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesUnlockedPropIssueMergedReactions(GitHubRestModel):
    """WebhookIssuesUnlockedPropIssueMergedReactions"""

    plus_one: int = Field(default=..., alias="+1")
    minus_one: int = Field(default=..., alias="-1")
    confused: int = Field(default=...)
    eyes: int = Field(default=...)
    heart: int = Field(default=...)
    hooray: int = Field(default=...)
    laugh: int = Field(default=...)
    rocket: int = Field(default=...)
    total_count: int = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesUnlockedPropIssueMergedUser(GitHubRestModel):
    """WebhookIssuesUnlockedPropIssueMergedUser"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesUnpinned(GitHubRestModel):
    """issues unpinned event"""

    action: Literal["unpinned"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    issue: WebhookIssuesUnpinnedPropIssue = Field(
        title="Issue",
        description="The [issue](https://docs.github.com/en/rest/reference/issues) itself.",
        default=...,
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookIssuesUnpinnedPropIssue(GitHubRestModel):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ] = Field(default=...)
    assignee: Union[
        Unset, Union[WebhookIssuesUnpinnedPropIssuePropAssignee, None]
    ] = Field(title="User", default=UNSET)
    assignees: List[
        Union[WebhookIssuesUnpinnedPropIssuePropAssigneesItems, None]
    ] = Field(default=...)
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ] = Field(
        title="AuthorAssociation",
        description="How the author is associated with the repository.",
        default=...,
    )
    body: Union[str, None] = Field(description="Contents of the issue", default=...)
    closed_at: Union[datetime, None] = Field(default=...)
    comments: int = Field(default=...)
    comments_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    draft: Union[Unset, bool] = Field(default=UNSET)
    events_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels: Union[Unset, List[WebhookIssuesUnpinnedPropIssuePropLabelsItems]] = Field(
        default=UNSET
    )
    labels_url: str = Field(default=...)
    locked: Union[Unset, bool] = Field(default=UNSET)
    milestone: Union[WebhookIssuesUnpinnedPropIssuePropMilestone, None] = Field(
        title="Milestone",
        description="A collection of related issues and pull requests.",
        default=...,
    )
    node_id: str = Field(default=...)
    number: int = Field(default=...)
    performed_via_github_app: Union[
        Unset, Union[WebhookIssuesUnpinnedPropIssuePropPerformedViaGithubApp, None]
    ] = Field(
        title="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.",
        default=UNSET,
    )
    pull_request: Union[Unset, WebhookIssuesUnpinnedPropIssuePropPullRequest] = Field(
        default=UNSET
    )
    reactions: WebhookIssuesUnpinnedPropIssuePropReactions = Field(
        title="Reactions", default=...
    )
    repository_url: str = Field(default=...)
    state: Union[Unset, Literal["open", "closed"]] = Field(
        description="State of the issue; either 'open' or 'closed'", default=UNSET
    )
    state_reason: Union[Unset, Union[str, None]] = Field(default=UNSET)
    timeline_url: Union[Unset, str] = Field(default=UNSET)
    title: str = Field(description="Title of the issue", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(description="URL for the issue", default=...)
    user: Union[WebhookIssuesUnpinnedPropIssuePropUser, None] = Field(
        title="User", default=...
    )


class WebhookIssuesUnpinnedPropIssuePropAssignee(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesUnpinnedPropIssuePropAssigneesItems(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesUnpinnedPropIssuePropLabelsItems(GitHubRestModel):
    """Label"""

    color: str = Field(
        description="6-character hex code, without the leading #, identifying the color",
        default=...,
    )
    default: bool = Field(default=...)
    description: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="The name of the label.", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the label", default=...)


class WebhookIssuesUnpinnedPropIssuePropMilestonePropCreator(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesUnpinnedPropIssuePropMilestone(GitHubRestModel):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None] = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[
        WebhookIssuesUnpinnedPropIssuePropMilestonePropCreator, None
    ] = Field(title="User", default=...)
    description: Union[str, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    open_issues: int = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default=...
    )
    title: str = Field(description="The title of the milestone.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesUnpinnedPropIssuePropPerformedViaGithubAppPropOwner(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesUnpinnedPropIssuePropPerformedViaGithubAppPropPermissions(
    GitHubRestModel
):
    """WebhookIssuesUnpinnedPropIssuePropPerformedViaGithubAppPropPermissions

    The set of permissions for the GitHub app
    """

    actions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    administration: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    checks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    content_references: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    contents: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    deployments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    emails: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    environments: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    issues: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    keys: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    members: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    metadata: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_administration: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_plan: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_projects: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    organization_self_hosted_runners: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    organization_user_blocking: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    packages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pages: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    pull_requests: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_hooks: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    repository_projects: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    secret_scanning_alerts: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    secrets: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_events: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    security_scanning_alert: Union[Unset, Literal["read", "write"]] = Field(
        default=UNSET
    )
    single_file: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    statuses: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    team_discussions: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    vulnerability_alerts: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)
    workflows: Union[Unset, Literal["read", "write"]] = Field(default=UNSET)


class WebhookIssuesUnpinnedPropIssuePropPerformedViaGithubApp(GitHubRestModel):
    """App

    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.
    """

    created_at: Union[datetime, None] = Field(default=...)
    description: Union[str, None] = Field(default=...)
    events: Union[
        Unset,
        List[
            Literal[
                "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",
            ]
        ],
    ] = Field(description="The list of events for the GitHub app", default=UNSET)
    external_url: Union[str, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: Union[int, None] = Field(
        description="Unique identifier of the GitHub app", default=...
    )
    name: str = Field(description="The name of the GitHub app", default=...)
    node_id: str = Field(default=...)
    owner: Union[
        WebhookIssuesUnpinnedPropIssuePropPerformedViaGithubAppPropOwner, None
    ] = Field(title="User", default=...)
    permissions: Union[
        Unset, WebhookIssuesUnpinnedPropIssuePropPerformedViaGithubAppPropPermissions
    ] = Field(description="The set of permissions for the GitHub app", default=UNSET)
    slug: Union[Unset, str] = Field(
        description="The slug name of the GitHub app", default=UNSET
    )
    updated_at: Union[datetime, None] = Field(default=...)


class WebhookIssuesUnpinnedPropIssuePropPullRequest(GitHubRestModel):
    """WebhookIssuesUnpinnedPropIssuePropPullRequest"""

    diff_url: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    merged_at: Union[Unset, Union[datetime, None]] = Field(default=UNSET)
    patch_url: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookIssuesUnpinnedPropIssuePropReactions(GitHubRestModel):
    """Reactions"""

    plus_one: int = Field(default=..., alias="+1")
    minus_one: int = Field(default=..., alias="-1")
    confused: int = Field(default=...)
    eyes: int = Field(default=...)
    heart: int = Field(default=...)
    hooray: int = Field(default=...)
    laugh: int = Field(default=...)
    rocket: int = Field(default=...)
    total_count: int = Field(default=...)
    url: str = Field(default=...)


class WebhookIssuesUnpinnedPropIssuePropUser(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookLabelCreated(GitHubRestModel):
    """label created event"""

    action: Literal["created"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    label: WebhookLabelCreatedPropLabel = Field(title="Label", default=...)
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: Union[Unset, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )


class WebhookLabelCreatedPropLabel(GitHubRestModel):
    """Label"""

    color: str = Field(
        description="6-character hex code, without the leading #, identifying the color",
        default=...,
    )
    default: bool = Field(default=...)
    description: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="The name of the label.", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the label", default=...)


class WebhookLabelDeleted(GitHubRestModel):
    """label deleted event"""

    action: Literal["deleted"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    label: WebhookLabelDeletedPropLabel = Field(title="Label", default=...)
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookLabelDeletedPropLabel(GitHubRestModel):
    """Label"""

    color: str = Field(
        description="6-character hex code, without the leading #, identifying the color",
        default=...,
    )
    default: bool = Field(default=...)
    description: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="The name of the label.", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the label", default=...)


class WebhookLabelEdited(GitHubRestModel):
    """label edited event"""

    action: Literal["edited"] = Field(default=...)
    changes: Union[Unset, WebhookLabelEditedPropChanges] = Field(
        description="The changes to the label if the action was `edited`.",
        default=UNSET,
    )
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    label: WebhookLabelEditedPropLabel = Field(title="Label", default=...)
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookLabelEditedPropChanges(GitHubRestModel):
    """WebhookLabelEditedPropChanges

    The changes to the label if the action was `edited`.
    """

    color: Union[Unset, WebhookLabelEditedPropChangesPropColor] = Field(default=UNSET)
    description: Union[Unset, WebhookLabelEditedPropChangesPropDescription] = Field(
        default=UNSET
    )
    name: Union[Unset, WebhookLabelEditedPropChangesPropName] = Field(default=UNSET)


class WebhookLabelEditedPropChangesPropColor(GitHubRestModel):
    """WebhookLabelEditedPropChangesPropColor"""

    from_: str = Field(
        description="The previous version of the color if the action was `edited`.",
        default=...,
        alias="from",
    )


class WebhookLabelEditedPropChangesPropDescription(GitHubRestModel):
    """WebhookLabelEditedPropChangesPropDescription"""

    from_: str = Field(
        description="The previous version of the description if the action was `edited`.",
        default=...,
        alias="from",
    )


class WebhookLabelEditedPropChangesPropName(GitHubRestModel):
    """WebhookLabelEditedPropChangesPropName"""

    from_: str = Field(
        description="The previous version of the name if the action was `edited`.",
        default=...,
        alias="from",
    )


class WebhookLabelEditedPropLabel(GitHubRestModel):
    """Label"""

    color: str = Field(
        description="6-character hex code, without the leading #, identifying the color",
        default=...,
    )
    default: bool = Field(default=...)
    description: Union[str, None] = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="The name of the label.", default=...)
    node_id: str = Field(default=...)
    url: str = Field(description="URL for the label", default=...)


class WebhookMemberAdded(GitHubRestModel):
    """member added event

    Activity related to repository collaborators. The type of activity is specified
    in the action property.
    """

    action: Literal["added"] = Field(default=...)
    changes: Union[Unset, WebhookMemberAddedPropChanges] = Field(default=UNSET)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    member: Union[WebhookMemberAddedPropMember, None] = Field(title="User", default=...)
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookMemberAddedPropChanges(GitHubRestModel):
    """WebhookMemberAddedPropChanges"""

    permission: Union[Unset, WebhookMemberAddedPropChangesPropPermission] = Field(
        default=UNSET
    )


class WebhookMemberAddedPropChangesPropPermission(GitHubRestModel):
    """WebhookMemberAddedPropChangesPropPermission"""

    to: Literal["write", "admin", "read"] = Field(default=...)


class WebhookMemberAddedPropMember(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookMemberEdited(GitHubRestModel):
    """member edited event"""

    action: Literal["edited"] = Field(default=...)
    changes: WebhookMemberEditedPropChanges = Field(
        description="The changes to the collaborator permissions", default=...
    )
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    member: Union[WebhookMemberEditedPropMember, None] = Field(
        title="User", default=...
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookMemberEditedPropChanges(GitHubRestModel):
    """WebhookMemberEditedPropChanges

    The changes to the collaborator permissions
    """

    old_permission: Union[
        Unset, WebhookMemberEditedPropChangesPropOldPermission
    ] = Field(default=UNSET)
    permission: Union[Unset, WebhookMemberEditedPropChangesPropPermission] = Field(
        default=UNSET
    )


class WebhookMemberEditedPropChangesPropOldPermission(GitHubRestModel):
    """WebhookMemberEditedPropChangesPropOldPermission"""

    from_: str = Field(
        description="The previous permissions of the collaborator if the action was edited.",
        default=...,
        alias="from",
    )


class WebhookMemberEditedPropChangesPropPermission(GitHubRestModel):
    """WebhookMemberEditedPropChangesPropPermission"""

    from_: Union[Unset, Union[str, None]] = Field(default=UNSET, alias="from")
    to: Union[Unset, Union[str, None]] = Field(default=UNSET)


class WebhookMemberEditedPropMember(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookMemberRemoved(GitHubRestModel):
    """member removed event"""

    action: Literal["removed"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    member: Union[WebhookMemberRemovedPropMember, None] = Field(
        title="User", default=...
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookMemberRemovedPropMember(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookMembershipAdded(GitHubRestModel):
    """membership added event"""

    action: Literal["added"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    member: Union[WebhookMembershipAddedPropMember, None] = Field(
        title="User", default=...
    )
    organization: OrganizationSimple = Field(
        title="Organization Simple", description="Organization Simple", default=...
    )
    repository: Union[Unset, Repository] = Field(
        title="Repository", description="A git repository", default=UNSET
    )
    scope: Literal["team"] = Field(
        description="The scope of the membership. Currently, can only be `team`.",
        default=...,
    )
    sender: Union[WebhookMembershipAddedPropSender, None] = Field(
        title="User", default=...
    )
    team: WebhookMembershipAddedPropTeam = Field(
        title="Team",
        description="Groups of organization members that gives permissions on specified repositories.",
        default=...,
    )


class WebhookMembershipAddedPropMember(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookMembershipAddedPropSender(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookMembershipAddedPropTeam(GitHubRestModel):
    """Team

    Groups of organization members that gives permissions on specified repositories.
    """

    deleted: Union[Unset, bool] = Field(default=UNSET)
    description: Union[Unset, Union[str, None]] = Field(
        description="Description of the team", default=UNSET
    )
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(description="Unique identifier of the team", default=...)
    members_url: Union[Unset, str] = Field(default=UNSET)
    name: str = Field(description="Name of the team", default=...)
    node_id: Union[Unset, str] = Field(default=UNSET)
    parent: Union[Unset, Union[WebhookMembershipAddedPropTeamPropParent, None]] = Field(
        default=UNSET
    )
    permission: Union[Unset, str] = Field(
        description="Permission that the team will have for its repositories",
        default=UNSET,
    )
    privacy: Union[Unset, Literal["open", "closed", "secret"]] = Field(default=UNSET)
    repositories_url: Union[Unset, str] = Field(default=UNSET)
    slug: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(description="URL for the team", default=UNSET)


class WebhookMembershipAddedPropTeamPropParent(GitHubRestModel):
    """WebhookMembershipAddedPropTeamPropParent"""

    description: Union[str, None] = Field(
        description="Description of the team", default=...
    )
    html_url: str = Field(default=...)
    id: int = Field(description="Unique identifier of the team", default=...)
    members_url: str = Field(default=...)
    name: str = Field(description="Name of the team", default=...)
    node_id: str = Field(default=...)
    permission: str = Field(
        description="Permission that the team will have for its repositories",
        default=...,
    )
    privacy: Literal["open", "closed", "secret"] = Field(default=...)
    repositories_url: str = Field(default=...)
    slug: str = Field(default=...)
    url: str = Field(description="URL for the team", default=...)


class WebhookMembershipRemoved(GitHubRestModel):
    """membership removed event"""

    action: Literal["removed"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    member: Union[WebhookMembershipRemovedPropMember, None] = Field(
        title="User", default=...
    )
    organization: OrganizationSimple = Field(
        title="Organization Simple", description="Organization Simple", default=...
    )
    repository: Union[Unset, Repository] = Field(
        title="Repository", description="A git repository", default=UNSET
    )
    scope: Literal["team", "organization"] = Field(
        description="The scope of the membership. Currently, can only be `team`.",
        default=...,
    )
    sender: Union[WebhookMembershipRemovedPropSender, None] = Field(
        title="User", default=...
    )
    team: WebhookMembershipRemovedPropTeam = Field(
        title="Team",
        description="Groups of organization members that gives permissions on specified repositories.",
        default=...,
    )


class WebhookMembershipRemovedPropMember(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookMembershipRemovedPropSender(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookMembershipRemovedPropTeam(GitHubRestModel):
    """Team

    Groups of organization members that gives permissions on specified repositories.
    """

    deleted: Union[Unset, bool] = Field(default=UNSET)
    description: Union[Unset, Union[str, None]] = Field(
        description="Description of the team", default=UNSET
    )
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(description="Unique identifier of the team", default=...)
    members_url: Union[Unset, str] = Field(default=UNSET)
    name: str = Field(description="Name of the team", default=...)
    node_id: Union[Unset, str] = Field(default=UNSET)
    parent: Union[
        Unset, Union[WebhookMembershipRemovedPropTeamPropParent, None]
    ] = Field(default=UNSET)
    permission: Union[Unset, str] = Field(
        description="Permission that the team will have for its repositories",
        default=UNSET,
    )
    privacy: Union[Unset, Literal["open", "closed", "secret"]] = Field(default=UNSET)
    repositories_url: Union[Unset, str] = Field(default=UNSET)
    slug: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(description="URL for the team", default=UNSET)


class WebhookMembershipRemovedPropTeamPropParent(GitHubRestModel):
    """WebhookMembershipRemovedPropTeamPropParent"""

    description: Union[str, None] = Field(
        description="Description of the team", default=...
    )
    html_url: str = Field(default=...)
    id: int = Field(description="Unique identifier of the team", default=...)
    members_url: str = Field(default=...)
    name: str = Field(description="Name of the team", default=...)
    node_id: str = Field(default=...)
    permission: str = Field(
        description="Permission that the team will have for its repositories",
        default=...,
    )
    privacy: Literal["open", "closed", "secret"] = Field(default=...)
    repositories_url: str = Field(default=...)
    slug: str = Field(default=...)
    url: str = Field(description="URL for the team", default=...)


class WebhookMergeGroupChecksRequested(GitHubRestModel):
    """WebhookMergeGroupChecksRequested"""

    action: str = Field(default=...)
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    merge_group: WebhookMergeGroupChecksRequestedPropMergeGroup = Field(
        title="MergeGroup", default=...
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Union[Unset, Repository] = Field(
        title="Repository", description="A git repository", default=UNSET
    )
    sender: Union[Unset, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )


class WebhookMergeGroupChecksRequestedPropMergeGroup(GitHubRestModel):
    """MergeGroup"""

    head_sha: str = Field(description="The SHA of the merge group.", default=...)
    head_ref: str = Field(description="The full ref of the merge group.", default=...)
    base_sha: str = Field(
        description="The SHA of the merge group's parent commit.", default=...
    )
    base_ref: str = Field(
        description="The full ref of the branch the merge group will be merged into.",
        default=...,
    )
    head_commit: WebhookMergeGroupChecksRequestedPropMergeGroupPropHeadCommit = Field(
        title="SimpleCommit", default=...
    )


class WebhookMergeGroupChecksRequestedPropMergeGroupPropHeadCommit(GitHubRestModel):
    """SimpleCommit"""

    author: WebhookMergeGroupChecksRequestedPropMergeGroupPropHeadCommitPropAuthor = (
        Field(
            title="Committer",
            description="Metaproperties for Git author/committer information.",
            default=...,
        )
    )
    committer: WebhookMergeGroupChecksRequestedPropMergeGroupPropHeadCommitPropCommitter = Field(
        title="Committer",
        description="Metaproperties for Git author/committer information.",
        default=...,
    )
    id: str = Field(default=...)
    message: str = Field(default=...)
    timestamp: str = Field(default=...)
    tree_id: str = Field(default=...)


class WebhookMergeGroupChecksRequestedPropMergeGroupPropHeadCommitPropAuthor(
    GitHubRestModel
):
    """Committer

    Metaproperties for Git author/committer information.
    """

    date: Union[Unset, datetime] = Field(default=UNSET)
    email: Union[str, None] = Field(default=...)
    name: str = Field(description="The git author's name.", default=...)
    username: Union[Unset, str] = Field(default=UNSET)


class WebhookMergeGroupChecksRequestedPropMergeGroupPropHeadCommitPropCommitter(
    GitHubRestModel
):
    """Committer

    Metaproperties for Git author/committer information.
    """

    date: Union[Unset, datetime] = Field(default=UNSET)
    email: Union[str, None] = Field(default=...)
    name: str = Field(description="The git author's name.", default=...)
    username: Union[Unset, str] = Field(default=UNSET)


class WebhookMetaDeleted(GitHubRestModel):
    """meta deleted event"""

    action: Literal["deleted"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    hook: WebhookMetaDeletedPropHook = Field(
        description="The modified webhook. This will contain different keys based on the type of webhook it is: repository, organization, business, app, or GitHub Marketplace.",
        default=...,
    )
    hook_id: int = Field(description="The id of the modified webhook.", default=...)
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Union[Unset, Union[None, Repository]] = Field(
        title="Repository", description="A git repository", default=UNSET
    )
    sender: Union[Unset, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )


class WebhookMetaDeletedPropHook(GitHubRestModel):
    """WebhookMetaDeletedPropHook

    The modified webhook. This will contain different keys based on the type of
    webhook it is: repository, organization, business, app, or GitHub Marketplace.
    """

    active: bool = Field(default=...)
    config: WebhookMetaDeletedPropHookPropConfig = Field(default=...)
    created_at: str = Field(default=...)
    events: List[
        Literal[
            "*",
            "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",
        ]
    ] = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(default=...)
    type: str = Field(default=...)
    updated_at: str = Field(default=...)


class WebhookMetaDeletedPropHookPropConfig(GitHubRestModel):
    """WebhookMetaDeletedPropHookPropConfig"""

    content_type: Literal["json", "form"] = Field(default=...)
    insecure_ssl: str = Field(default=...)
    secret: Union[Unset, str] = Field(default=UNSET)
    url: str = Field(default=...)


class WebhookMilestoneClosed(GitHubRestModel):
    """milestone closed event"""

    action: Literal["closed"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    milestone: WebhookMilestoneClosedPropMilestone = Field(
        title="Milestone",
        description="A collection of related issues and pull requests.",
        default=...,
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookMilestoneClosedPropMilestone(GitHubRestModel):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None] = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[WebhookMilestoneClosedPropMilestonePropCreator, None] = Field(
        title="User", default=...
    )
    description: Union[str, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    open_issues: int = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default=...
    )
    title: str = Field(description="The title of the milestone.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookMilestoneClosedPropMilestonePropCreator(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookMilestoneCreated(GitHubRestModel):
    """milestone created event"""

    action: Literal["created"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    milestone: WebhookMilestoneCreatedPropMilestone = Field(
        title="Milestone",
        description="A collection of related issues and pull requests.",
        default=...,
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookMilestoneCreatedPropMilestone(GitHubRestModel):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None] = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[WebhookMilestoneCreatedPropMilestonePropCreator, None] = Field(
        title="User", default=...
    )
    description: Union[str, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    open_issues: int = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default=...
    )
    title: str = Field(description="The title of the milestone.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookMilestoneCreatedPropMilestonePropCreator(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookMilestoneDeleted(GitHubRestModel):
    """milestone deleted event"""

    action: Literal["deleted"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    milestone: WebhookMilestoneDeletedPropMilestone = Field(
        title="Milestone",
        description="A collection of related issues and pull requests.",
        default=...,
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookMilestoneDeletedPropMilestone(GitHubRestModel):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None] = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[WebhookMilestoneDeletedPropMilestonePropCreator, None] = Field(
        title="User", default=...
    )
    description: Union[str, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    open_issues: int = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default=...
    )
    title: str = Field(description="The title of the milestone.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookMilestoneDeletedPropMilestonePropCreator(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookMilestoneEdited(GitHubRestModel):
    """milestone edited event"""

    action: Literal["edited"] = Field(default=...)
    changes: WebhookMilestoneEditedPropChanges = Field(
        description="The changes to the milestone if the action was `edited`.",
        default=...,
    )
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    milestone: WebhookMilestoneEditedPropMilestone = Field(
        title="Milestone",
        description="A collection of related issues and pull requests.",
        default=...,
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookMilestoneEditedPropChanges(GitHubRestModel):
    """WebhookMilestoneEditedPropChanges

    The changes to the milestone if the action was `edited`.
    """

    description: Union[Unset, WebhookMilestoneEditedPropChangesPropDescription] = Field(
        default=UNSET
    )
    due_on: Union[Unset, WebhookMilestoneEditedPropChangesPropDueOn] = Field(
        default=UNSET
    )
    title: Union[Unset, WebhookMilestoneEditedPropChangesPropTitle] = Field(
        default=UNSET
    )


class WebhookMilestoneEditedPropChangesPropDescription(GitHubRestModel):
    """WebhookMilestoneEditedPropChangesPropDescription"""

    from_: str = Field(
        description="The previous version of the description if the action was `edited`.",
        default=...,
        alias="from",
    )


class WebhookMilestoneEditedPropChangesPropDueOn(GitHubRestModel):
    """WebhookMilestoneEditedPropChangesPropDueOn"""

    from_: str = Field(
        description="The previous version of the due date if the action was `edited`.",
        default=...,
        alias="from",
    )


class WebhookMilestoneEditedPropChangesPropTitle(GitHubRestModel):
    """WebhookMilestoneEditedPropChangesPropTitle"""

    from_: str = Field(
        description="The previous version of the title if the action was `edited`.",
        default=...,
        alias="from",
    )


class WebhookMilestoneEditedPropMilestone(GitHubRestModel):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None] = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[WebhookMilestoneEditedPropMilestonePropCreator, None] = Field(
        title="User", default=...
    )
    description: Union[str, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    open_issues: int = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default=...
    )
    title: str = Field(description="The title of the milestone.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookMilestoneEditedPropMilestonePropCreator(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookMilestoneOpened(GitHubRestModel):
    """milestone opened event"""

    action: Literal["opened"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    milestone: WebhookMilestoneOpenedPropMilestone = Field(
        title="Milestone",
        description="A collection of related issues and pull requests.",
        default=...,
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookMilestoneOpenedPropMilestone(GitHubRestModel):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None] = Field(default=...)
    closed_issues: int = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[WebhookMilestoneOpenedPropMilestonePropCreator, None] = Field(
        title="User", default=...
    )
    description: Union[str, None] = Field(default=...)
    due_on: Union[datetime, None] = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    labels_url: str = Field(default=...)
    node_id: str = Field(default=...)
    number: int = Field(description="The number of the milestone.", default=...)
    open_issues: int = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="The state of the milestone.", default=...
    )
    title: str = Field(description="The title of the milestone.", default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookMilestoneOpenedPropMilestonePropCreator(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookOrgBlockBlocked(GitHubRestModel):
    """org_block blocked event"""

    action: Literal["blocked"] = Field(default=...)
    blocked_user: Union[WebhookOrgBlockBlockedPropBlockedUser, None] = Field(
        title="User", default=...
    )
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    organization: OrganizationSimple = Field(
        title="Organization Simple", description="Organization Simple", default=...
    )
    repository: Union[Unset, Repository] = Field(
        title="Repository", description="A git repository", default=UNSET
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookOrgBlockBlockedPropBlockedUser(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookOrgBlockUnblocked(GitHubRestModel):
    """org_block unblocked event"""

    action: Literal["unblocked"] = Field(default=...)
    blocked_user: Union[WebhookOrgBlockUnblockedPropBlockedUser, None] = Field(
        title="User", default=...
    )
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    organization: OrganizationSimple = Field(
        title="Organization Simple", description="Organization Simple", default=...
    )
    repository: Union[Unset, Repository] = Field(
        title="Repository", description="A git repository", default=UNSET
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookOrgBlockUnblockedPropBlockedUser(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookOrganizationDeleted(GitHubRestModel):
    """organization deleted event"""

    action: Literal["deleted"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    membership: Union[Unset, WebhookOrganizationDeletedPropMembership] = Field(
        title="Membership",
        description="The membership between the user and the organization. Not present when the action is `member_invited`.",
        default=UNSET,
    )
    organization: OrganizationSimple = Field(
        title="Organization Simple", description="Organization Simple", default=...
    )
    repository: Union[Unset, Repository] = Field(
        title="Repository", description="A git repository", default=UNSET
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookOrganizationDeletedPropMembership(GitHubRestModel):
    """Membership

    The membership between the user and the organization. Not present when the
    action is `member_invited`.
    """

    organization_url: str = Field(default=...)
    role: str = Field(default=...)
    state: str = Field(default=...)
    url: str = Field(default=...)
    user: Union[WebhookOrganizationDeletedPropMembershipPropUser, None] = Field(
        title="User", default=...
    )


class WebhookOrganizationDeletedPropMembershipPropUser(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookOrganizationMemberAdded(GitHubRestModel):
    """organization member_added event"""

    action: Literal["member_added"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    membership: WebhookOrganizationMemberAddedPropMembership = Field(
        title="Membership",
        description="The membership between the user and the organization. Not present when the action is `member_invited`.",
        default=...,
    )
    organization: OrganizationSimple = Field(
        title="Organization Simple", description="Organization Simple", default=...
    )
    repository: Union[Unset, Repository] = Field(
        title="Repository", description="A git repository", default=UNSET
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookOrganizationMemberAddedPropMembership(GitHubRestModel):
    """Membership

    The membership between the user and the organization. Not present when the
    action is `member_invited`.
    """

    organization_url: str = Field(default=...)
    role: str = Field(default=...)
    state: str = Field(default=...)
    url: str = Field(default=...)
    user: Union[WebhookOrganizationMemberAddedPropMembershipPropUser, None] = Field(
        title="User", default=...
    )


class WebhookOrganizationMemberAddedPropMembershipPropUser(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookOrganizationMemberInvited(GitHubRestModel):
    """organization member_invited event"""

    action: Literal["member_invited"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    invitation: WebhookOrganizationMemberInvitedPropInvitation = Field(
        description="The invitation for the user or email if the action is `member_invited`.",
        default=...,
    )
    organization: OrganizationSimple = Field(
        title="Organization Simple", description="Organization Simple", default=...
    )
    repository: Union[Unset, Repository] = Field(
        title="Repository", description="A git repository", default=UNSET
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    user: Union[Unset, Union[WebhookOrganizationMemberInvitedPropUser, None]] = Field(
        title="User", default=UNSET
    )


class WebhookOrganizationMemberInvitedPropInvitation(GitHubRestModel):
    """WebhookOrganizationMemberInvitedPropInvitation

    The invitation for the user or email if the action is `member_invited`.
    """

    created_at: datetime = Field(default=...)
    email: Union[str, None] = Field(default=...)
    failed_at: Union[datetime, None] = Field(default=...)
    failed_reason: Union[str, None] = Field(default=...)
    id: float = Field(default=...)
    invitation_teams_url: str = Field(default=...)
    inviter: Union[
        WebhookOrganizationMemberInvitedPropInvitationPropInviter, None
    ] = Field(title="User", default=...)
    login: Union[str, None] = Field(default=...)
    node_id: str = Field(default=...)
    role: str = Field(default=...)
    team_count: float = Field(default=...)


class WebhookOrganizationMemberInvitedPropInvitationPropInviter(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookOrganizationMemberInvitedPropUser(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookOrganizationMemberRemoved(GitHubRestModel):
    """organization member_removed event"""

    action: Literal["member_removed"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    membership: WebhookOrganizationMemberRemovedPropMembership = Field(
        title="Membership",
        description="The membership between the user and the organization. Not present when the action is `member_invited`.",
        default=...,
    )
    organization: OrganizationSimple = Field(
        title="Organization Simple", description="Organization Simple", default=...
    )
    repository: Union[Unset, Repository] = Field(
        title="Repository", description="A git repository", default=UNSET
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookOrganizationMemberRemovedPropMembership(GitHubRestModel):
    """Membership

    The membership between the user and the organization. Not present when the
    action is `member_invited`.
    """

    organization_url: str = Field(default=...)
    role: str = Field(default=...)
    state: str = Field(default=...)
    url: str = Field(default=...)
    user: Union[WebhookOrganizationMemberRemovedPropMembershipPropUser, None] = Field(
        title="User", default=...
    )


class WebhookOrganizationMemberRemovedPropMembershipPropUser(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookOrganizationRenamed(GitHubRestModel):
    """organization renamed event"""

    action: Literal["renamed"] = Field(default=...)
    changes: Union[Unset, WebhookOrganizationRenamedPropChanges] = Field(default=UNSET)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    membership: Union[Unset, WebhookOrganizationRenamedPropMembership] = Field(
        title="Membership",
        description="The membership between the user and the organization. Not present when the action is `member_invited`.",
        default=UNSET,
    )
    organization: OrganizationSimple = Field(
        title="Organization Simple", description="Organization Simple", default=...
    )
    repository: Union[Unset, Repository] = Field(
        title="Repository", description="A git repository", default=UNSET
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookOrganizationRenamedPropChanges(GitHubRestModel):
    """WebhookOrganizationRenamedPropChanges"""

    login: Union[Unset, WebhookOrganizationRenamedPropChangesPropLogin] = Field(
        default=UNSET
    )


class WebhookOrganizationRenamedPropChangesPropLogin(GitHubRestModel):
    """WebhookOrganizationRenamedPropChangesPropLogin"""

    from_: Union[Unset, str] = Field(default=UNSET, alias="from")


class WebhookOrganizationRenamedPropMembership(GitHubRestModel):
    """Membership

    The membership between the user and the organization. Not present when the
    action is `member_invited`.
    """

    organization_url: str = Field(default=...)
    role: str = Field(default=...)
    state: str = Field(default=...)
    url: str = Field(default=...)
    user: Union[WebhookOrganizationRenamedPropMembershipPropUser, None] = Field(
        title="User", default=...
    )


class WebhookOrganizationRenamedPropMembershipPropUser(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookPing(GitHubRestModel):
    """WebhookPing

    The webhooks ping payload
    """

    hook: Union[Unset, WebhookPingPropHook] = Field(
        title="Webhook", description="The webhook that is being pinged", default=UNSET
    )
    hook_id: Union[Unset, int] = Field(
        description="The ID of the webhook that triggered the ping.", default=UNSET
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Union[Unset, Repository] = Field(
        title="Repository", description="A git repository", default=UNSET
    )
    sender: Union[Unset, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )
    zen: Union[Unset, str] = Field(
        description="Random string of GitHub zen.", default=UNSET
    )


class WebhookPingPropHook(GitHubRestModel):
    """Webhook

    The webhook that is being pinged
    """

    active: bool = Field(
        description="Determines whether the hook is actually triggered for the events it subscribes to.",
        default=...,
    )
    app_id: Union[Unset, int] = Field(
        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.",
        default=UNSET,
    )
    config: WebhookPingPropHookPropConfig = Field(default=...)
    created_at: datetime = Field(default=...)
    deliveries_url: Union[Unset, str] = Field(default=UNSET)
    events: List[str] = Field(
        description="Determines what events the hook is triggered for. Default: ['push'].",
        default=...,
    )
    id: int = Field(description="Unique identifier of the webhook.", default=...)
    last_response: Union[Unset, HookResponse] = Field(
        title="Hook Response", default=UNSET
    )
    name: Literal["web"] = Field(
        description="The type of webhook. The only valid value is 'web'.", default=...
    )
    ping_url: Union[Unset, str] = Field(default=UNSET)
    test_url: Union[Unset, str] = Field(default=UNSET)
    type: str = Field(default=...)
    updated_at: datetime = Field(default=...)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookPingPropHookPropConfig(GitHubRestModel):
    """WebhookPingPropHookPropConfig"""

    content_type: Union[Unset, str] = Field(
        description="The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`.",
        default=UNSET,
    )
    insecure_ssl: Union[Unset, Union[str, float]] = Field(
        description="Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**",
        default=UNSET,
    )
    secret: Union[Unset, str] = Field(
        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).",
        default=UNSET,
    )
    url: Union[Unset, str] = Field(
        description="The URL to which the payloads will be delivered.", default=UNSET
    )


class WebhookPingFormEncoded(GitHubRestModel):
    """WebhookPingFormEncoded

    The webhooks ping payload encoded with URL encoding.
    """

    payload: str = Field(
        description="A URL-encoded string of the ping JSON payload. The decoded payload is a JSON object.",
        default=...,
    )


class WebhookProjectCardConverted(GitHubRestModel):
    """project_card converted event"""

    action: Literal["converted"] = Field(default=...)
    changes: WebhookProjectCardConvertedPropChanges = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    project_card: WebhookProjectCardConvertedPropProjectCard = Field(
        title="Project Card", default=...
    )
    repository: Union[Unset, Repository] = Field(
        title="Repository", description="A git repository", default=UNSET
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookProjectCardConvertedPropChanges(GitHubRestModel):
    """WebhookProjectCardConvertedPropChanges"""

    note: WebhookProjectCardConvertedPropChangesPropNote = Field(default=...)


class WebhookProjectCardConvertedPropChangesPropNote(GitHubRestModel):
    """WebhookProjectCardConvertedPropChangesPropNote"""

    from_: str = Field(default=..., alias="from")


class WebhookProjectCardConvertedPropProjectCard(GitHubRestModel):
    """Project Card"""

    after_id: Union[Unset, Union[int, None]] = Field(default=UNSET)
    archived: bool = Field(
        description="Whether or not the card is archived", default=...
    )
    column_id: int = Field(default=...)
    column_url: str = Field(default=...)
    content_url: Union[Unset, str] = Field(default=UNSET)
    created_at: datetime = Field(default=...)
    creator: Union[WebhookProjectCardConvertedPropProjectCardPropCreator, None] = Field(
        title="User", default=...
    )
    id: int = Field(description="The project card's ID", default=...)
    node_id: str = Field(default=...)
    note: Union[str, None] = Field(default=...)
    project_url: str = Field(default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookProjectCardConvertedPropProjectCardPropCreator(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookProjectCardCreated(GitHubRestModel):
    """project_card created event"""

    action: Literal["created"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    project_card: WebhookProjectCardCreatedPropProjectCard = Field(
        title="Project Card", default=...
    )
    repository: Union[Unset, Repository] = Field(
        title="Repository", description="A git repository", default=UNSET
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookProjectCardCreatedPropProjectCard(GitHubRestModel):
    """Project Card"""

    after_id: Union[Unset, Union[int, None]] = Field(default=UNSET)
    archived: bool = Field(
        description="Whether or not the card is archived", default=...
    )
    column_id: int = Field(default=...)
    column_url: str = Field(default=...)
    content_url: Union[Unset, str] = Field(default=UNSET)
    created_at: datetime = Field(default=...)
    creator: Union[WebhookProjectCardCreatedPropProjectCardPropCreator, None] = Field(
        title="User", default=...
    )
    id: int = Field(description="The project card's ID", default=...)
    node_id: str = Field(default=...)
    note: Union[str, None] = Field(default=...)
    project_url: str = Field(default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookProjectCardCreatedPropProjectCardPropCreator(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookProjectCardDeleted(GitHubRestModel):
    """project_card deleted event"""

    action: Literal["deleted"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    project_card: WebhookProjectCardDeletedPropProjectCard = Field(
        title="Project Card", default=...
    )
    repository: Union[Unset, Union[None, Repository]] = Field(
        title="Repository", description="A git repository", default=UNSET
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookProjectCardDeletedPropProjectCard(GitHubRestModel):
    """Project Card"""

    after_id: Union[Unset, Union[int, None]] = Field(default=UNSET)
    archived: bool = Field(
        description="Whether or not the card is archived", default=...
    )
    column_id: Union[int, None] = Field(default=...)
    column_url: str = Field(default=...)
    content_url: Union[Unset, str] = Field(default=UNSET)
    created_at: datetime = Field(default=...)
    creator: Union[WebhookProjectCardDeletedPropProjectCardPropCreator, None] = Field(
        title="User", default=...
    )
    id: int = Field(description="The project card's ID", default=...)
    node_id: str = Field(default=...)
    note: Union[str, None] = Field(default=...)
    project_url: str = Field(default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookProjectCardDeletedPropProjectCardPropCreator(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookProjectCardEdited(GitHubRestModel):
    """project_card edited event"""

    action: Literal["edited"] = Field(default=...)
    changes: WebhookProjectCardEditedPropChanges = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    project_card: WebhookProjectCardEditedPropProjectCard = Field(
        title="Project Card", default=...
    )
    repository: Union[Unset, Repository] = Field(
        title="Repository", description="A git repository", default=UNSET
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookProjectCardEditedPropChanges(GitHubRestModel):
    """WebhookProjectCardEditedPropChanges"""

    note: WebhookProjectCardEditedPropChangesPropNote = Field(default=...)


class WebhookProjectCardEditedPropChangesPropNote(GitHubRestModel):
    """WebhookProjectCardEditedPropChangesPropNote"""

    from_: Union[str, None] = Field(default=..., alias="from")


class WebhookProjectCardEditedPropProjectCard(GitHubRestModel):
    """Project Card"""

    after_id: Union[Unset, Union[int, None]] = Field(default=UNSET)
    archived: bool = Field(
        description="Whether or not the card is archived", default=...
    )
    column_id: int = Field(default=...)
    column_url: str = Field(default=...)
    content_url: Union[Unset, str] = Field(default=UNSET)
    created_at: datetime = Field(default=...)
    creator: Union[WebhookProjectCardEditedPropProjectCardPropCreator, None] = Field(
        title="User", default=...
    )
    id: int = Field(description="The project card's ID", default=...)
    node_id: str = Field(default=...)
    note: Union[str, None] = Field(default=...)
    project_url: str = Field(default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookProjectCardEditedPropProjectCardPropCreator(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookProjectCardMoved(GitHubRestModel):
    """project_card moved event"""

    action: Literal["moved"] = Field(default=...)
    changes: Union[Unset, WebhookProjectCardMovedPropChanges] = Field(default=UNSET)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    project_card: WebhookProjectCardMovedPropProjectCard = Field(default=...)
    repository: Union[Unset, Repository] = Field(
        title="Repository", description="A git repository", default=UNSET
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookProjectCardMovedPropChanges(GitHubRestModel):
    """WebhookProjectCardMovedPropChanges"""

    column_id: WebhookProjectCardMovedPropChangesPropColumnId = Field(default=...)


class WebhookProjectCardMovedPropChangesPropColumnId(GitHubRestModel):
    """WebhookProjectCardMovedPropChangesPropColumnId"""

    from_: int = Field(default=..., alias="from")


class WebhookProjectCardMovedPropProjectCard(GitHubRestModel):
    """WebhookProjectCardMovedPropProjectCard"""

    after_id: Union[Union[int, None], None] = Field(default=...)
    archived: bool = Field(
        description="Whether or not the card is archived", default=...
    )
    column_id: int = Field(default=...)
    column_url: str = Field(default=...)
    content_url: Union[Unset, str] = Field(default=UNSET)
    created_at: datetime = Field(default=...)
    creator: Union[WebhookProjectCardMovedPropProjectCardMergedCreator, None] = Field(
        default=...
    )
    id: int = Field(description="The project card's ID", default=...)
    node_id: str = Field(default=...)
    note: Union[Union[str, None], None] = Field(default=...)
    project_url: str = Field(default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookProjectCardMovedPropProjectCardAllof0(GitHubRestModel):
    """Project Card"""

    after_id: Union[Unset, Union[int, None]] = Field(default=UNSET)
    archived: bool = Field(
        description="Whether or not the card is archived", default=...
    )
    column_id: int = Field(default=...)
    column_url: str = Field(default=...)
    content_url: Union[Unset, str] = Field(default=UNSET)
    created_at: datetime = Field(default=...)
    creator: Union[
        WebhookProjectCardMovedPropProjectCardAllof0PropCreator, None
    ] = Field(title="User", default=...)
    id: int = Field(description="The project card's ID", default=...)
    node_id: str = Field(default=...)
    note: Union[str, None] = Field(default=...)
    project_url: str = Field(default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookProjectCardMovedPropProjectCardAllof0PropCreator(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookProjectCardMovedPropProjectCardAllof1(GitHubRestModel):
    """WebhookProjectCardMovedPropProjectCardAllof1"""

    after_id: Union[float, None] = Field(default=...)
    archived: Union[Unset, bool] = Field(default=UNSET)
    column_id: Union[Unset, int] = Field(default=UNSET)
    column_url: Union[Unset, str] = Field(default=UNSET)
    created_at: Union[Unset, str] = Field(default=UNSET)
    creator: Union[
        Unset, Union[WebhookProjectCardMovedPropProjectCardAllof1PropCreator, None]
    ] = Field(default=UNSET)
    id: Union[Unset, int] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    note: Union[Unset, Union[str, None]] = Field(default=UNSET)
    project_url: Union[Unset, str] = Field(default=UNSET)
    updated_at: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookProjectCardMovedPropProjectCardAllof1PropCreator(GitHubRestModel):
    """WebhookProjectCardMovedPropProjectCardAllof1PropCreator"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: Union[Unset, int] = Field(default=UNSET)
    login: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookProjectCardMovedPropProjectCardMergedCreator(GitHubRestModel):
    """WebhookProjectCardMovedPropProjectCardMergedCreator"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization", "Mannequin"]] = Field(
        default=UNSET
    )
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookProjectClosed(GitHubRestModel):
    """project closed event"""

    action: Literal["closed"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    project: WebhookProjectClosedPropProject = Field(title="Project", default=...)
    repository: Union[Unset, Repository] = Field(
        title="Repository", description="A git repository", default=UNSET
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookProjectClosedPropProject(GitHubRestModel):
    """Project"""

    body: Union[str, None] = Field(description="Body of the project", default=...)
    columns_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[WebhookProjectClosedPropProjectPropCreator, None] = Field(
        title="User", default=...
    )
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="Name of the project", default=...)
    node_id: str = Field(default=...)
    number: int = Field(default=...)
    owner_url: str = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="State of the project; either 'open' or 'closed'", default=...
    )
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookProjectClosedPropProjectPropCreator(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookProjectColumnCreated(GitHubRestModel):
    """project_column created event"""

    action: Literal["created"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    project_column: WebhookProjectColumnCreatedPropProjectColumn = Field(
        title="Project Column", default=...
    )
    repository: Union[Unset, Repository] = Field(
        title="Repository", description="A git repository", default=UNSET
    )
    sender: Union[Unset, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )


class WebhookProjectColumnCreatedPropProjectColumn(GitHubRestModel):
    """Project Column"""

    after_id: Union[Unset, Union[int, None]] = Field(default=UNSET)
    cards_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    id: int = Field(
        description="The unique identifier of the project column", default=...
    )
    name: str = Field(description="Name of the project column", default=...)
    node_id: str = Field(default=...)
    project_url: str = Field(default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookProjectColumnDeleted(GitHubRestModel):
    """project_column deleted event"""

    action: Literal["deleted"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    project_column: WebhookProjectColumnDeletedPropProjectColumn = Field(
        title="Project Column", default=...
    )
    repository: Union[Unset, Union[None, Repository]] = Field(
        title="Repository", description="A git repository", default=UNSET
    )
    sender: Union[Unset, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )


class WebhookProjectColumnDeletedPropProjectColumn(GitHubRestModel):
    """Project Column"""

    after_id: Union[Unset, Union[int, None]] = Field(default=UNSET)
    cards_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    id: int = Field(
        description="The unique identifier of the project column", default=...
    )
    name: str = Field(description="Name of the project column", default=...)
    node_id: str = Field(default=...)
    project_url: str = Field(default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookProjectColumnEdited(GitHubRestModel):
    """project_column edited event"""

    action: Literal["edited"] = Field(default=...)
    changes: WebhookProjectColumnEditedPropChanges = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    project_column: WebhookProjectColumnEditedPropProjectColumn = Field(
        title="Project Column", default=...
    )
    repository: Union[Unset, Repository] = Field(
        title="Repository", description="A git repository", default=UNSET
    )
    sender: Union[Unset, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )


class WebhookProjectColumnEditedPropChanges(GitHubRestModel):
    """WebhookProjectColumnEditedPropChanges"""

    name: Union[Unset, WebhookProjectColumnEditedPropChangesPropName] = Field(
        default=UNSET
    )


class WebhookProjectColumnEditedPropChangesPropName(GitHubRestModel):
    """WebhookProjectColumnEditedPropChangesPropName"""

    from_: str = Field(default=..., alias="from")


class WebhookProjectColumnEditedPropProjectColumn(GitHubRestModel):
    """Project Column"""

    after_id: Union[Unset, Union[int, None]] = Field(default=UNSET)
    cards_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    id: int = Field(
        description="The unique identifier of the project column", default=...
    )
    name: str = Field(description="Name of the project column", default=...)
    node_id: str = Field(default=...)
    project_url: str = Field(default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookProjectColumnMoved(GitHubRestModel):
    """project_column moved event"""

    action: Literal["moved"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    project_column: WebhookProjectColumnMovedPropProjectColumn = Field(
        title="Project Column", default=...
    )
    repository: Union[Unset, Repository] = Field(
        title="Repository", description="A git repository", default=UNSET
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookProjectColumnMovedPropProjectColumn(GitHubRestModel):
    """Project Column"""

    after_id: Union[Unset, Union[int, None]] = Field(default=UNSET)
    cards_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    id: int = Field(
        description="The unique identifier of the project column", default=...
    )
    name: str = Field(description="Name of the project column", default=...)
    node_id: str = Field(default=...)
    project_url: str = Field(default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookProjectCreated(GitHubRestModel):
    """project created event"""

    action: Literal["created"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    project: WebhookProjectCreatedPropProject = Field(title="Project", default=...)
    repository: Union[Unset, Repository] = Field(
        title="Repository", description="A git repository", default=UNSET
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookProjectCreatedPropProject(GitHubRestModel):
    """Project"""

    body: Union[str, None] = Field(description="Body of the project", default=...)
    columns_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[WebhookProjectCreatedPropProjectPropCreator, None] = Field(
        title="User", default=...
    )
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="Name of the project", default=...)
    node_id: str = Field(default=...)
    number: int = Field(default=...)
    owner_url: str = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="State of the project; either 'open' or 'closed'", default=...
    )
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookProjectCreatedPropProjectPropCreator(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookProjectDeleted(GitHubRestModel):
    """project deleted event"""

    action: Literal["deleted"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    project: WebhookProjectDeletedPropProject = Field(title="Project", default=...)
    repository: Union[Unset, Union[None, Repository]] = Field(
        title="Repository", description="A git repository", default=UNSET
    )
    sender: Union[Unset, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )


class WebhookProjectDeletedPropProject(GitHubRestModel):
    """Project"""

    body: Union[str, None] = Field(description="Body of the project", default=...)
    columns_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[WebhookProjectDeletedPropProjectPropCreator, None] = Field(
        title="User", default=...
    )
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="Name of the project", default=...)
    node_id: str = Field(default=...)
    number: int = Field(default=...)
    owner_url: str = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="State of the project; either 'open' or 'closed'", default=...
    )
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookProjectDeletedPropProjectPropCreator(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookProjectEdited(GitHubRestModel):
    """project edited event"""

    action: Literal["edited"] = Field(default=...)
    changes: Union[Unset, WebhookProjectEditedPropChanges] = Field(
        description="The changes to the project if the action was `edited`.",
        default=UNSET,
    )
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    project: WebhookProjectEditedPropProject = Field(title="Project", default=...)
    repository: Union[Unset, Repository] = Field(
        title="Repository", description="A git repository", default=UNSET
    )
    sender: Union[Unset, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )


class WebhookProjectEditedPropChanges(GitHubRestModel):
    """WebhookProjectEditedPropChanges

    The changes to the project if the action was `edited`.
    """

    body: Union[Unset, WebhookProjectEditedPropChangesPropBody] = Field(default=UNSET)
    name: Union[Unset, WebhookProjectEditedPropChangesPropName] = Field(default=UNSET)


class WebhookProjectEditedPropChangesPropBody(GitHubRestModel):
    """WebhookProjectEditedPropChangesPropBody"""

    from_: str = Field(
        description="The previous version of the body if the action was `edited`.",
        default=...,
        alias="from",
    )


class WebhookProjectEditedPropChangesPropName(GitHubRestModel):
    """WebhookProjectEditedPropChangesPropName"""

    from_: str = Field(
        description="The changes to the project if the action was `edited`.",
        default=...,
        alias="from",
    )


class WebhookProjectEditedPropProject(GitHubRestModel):
    """Project"""

    body: Union[str, None] = Field(description="Body of the project", default=...)
    columns_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[WebhookProjectEditedPropProjectPropCreator, None] = Field(
        title="User", default=...
    )
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="Name of the project", default=...)
    node_id: str = Field(default=...)
    number: int = Field(default=...)
    owner_url: str = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="State of the project; either 'open' or 'closed'", default=...
    )
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookProjectEditedPropProjectPropCreator(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookProjectReopened(GitHubRestModel):
    """project reopened event"""

    action: Literal["reopened"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    project: WebhookProjectReopenedPropProject = Field(title="Project", default=...)
    repository: Union[Unset, Repository] = Field(
        title="Repository", description="A git repository", default=UNSET
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookProjectReopenedPropProject(GitHubRestModel):
    """Project"""

    body: Union[str, None] = Field(description="Body of the project", default=...)
    columns_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    creator: Union[WebhookProjectReopenedPropProjectPropCreator, None] = Field(
        title="User", default=...
    )
    html_url: str = Field(default=...)
    id: int = Field(default=...)
    name: str = Field(description="Name of the project", default=...)
    node_id: str = Field(default=...)
    number: int = Field(default=...)
    owner_url: str = Field(default=...)
    state: Literal["open", "closed"] = Field(
        description="State of the project; either 'open' or 'closed'", default=...
    )
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)


class WebhookProjectReopenedPropProjectPropCreator(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookSecretScanningAlertCreated(GitHubRestModel):
    """secret_scanning_alert created event"""

    action: Literal["created"] = Field(default=...)
    alert: SecretScanningAlert = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: Union[Unset, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )


class WebhookSecretScanningAlertLocationCreated(GitHubRestModel):
    """Secret Scanning Alert Location Created Event"""

    action: Union[Unset, Literal["created"]] = Field(default=UNSET)
    alert: SecretScanningAlert = Field(default=...)
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    location: SecretScanningLocation = Field(default=...)
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )


class WebhookSecretScanningAlertLocationCreatedFormEncoded(GitHubRestModel):
    """Secret Scanning Alert Location Created Event"""

    payload: str = Field(
        description="A URL-encoded string of the secret_scanning_alert_location.created JSON payload. The decoded payload is a JSON object.",
        default=...,
    )


class WebhookSecretScanningAlertReopened(GitHubRestModel):
    """secret_scanning_alert reopened event"""

    action: Literal["reopened"] = Field(default=...)
    alert: SecretScanningAlert = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: Union[Unset, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )


class WebhookSecretScanningAlertResolved(GitHubRestModel):
    """secret_scanning_alert resolved event"""

    action: Literal["resolved"] = Field(default=...)
    alert: WebhookSecretScanningAlertResolvedPropAlert = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: Union[Unset, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )


class WebhookSecretScanningAlertResolvedPropAlert(GitHubRestModel):
    """WebhookSecretScanningAlertResolvedPropAlert"""

    created_at: Union[Unset, datetime] = Field(
        description="The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=UNSET,
    )
    html_url: Union[Unset, str] = Field(
        description="The GitHub URL of the alert resource.", default=UNSET
    )
    locations_url: Union[Unset, str] = Field(
        description="The REST API URL of the code locations for this alert.",
        default=UNSET,
    )
    number: Union[Unset, int] = Field(
        description="The security alert number.", default=UNSET
    )
    push_protection_bypassed: Union[Unset, Union[bool, None]] = Field(
        description="Whether push protection was bypassed for the detected secret.",
        default=UNSET,
    )
    push_protection_bypassed_at: Union[Unset, Union[datetime, None]] = Field(
        description="The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=UNSET,
    )
    push_protection_bypassed_by: Union[Unset, Union[None, SimpleUser]] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )
    resolution: Union[
        Unset,
        Union[
            None,
            Literal[
                "false_positive",
                "wont_fix",
                "revoked",
                "used_in_tests",
                "pattern_deleted",
                "pattern_edited",
            ],
        ],
    ] = Field(
        description="**Required when the `state` is `resolved`.** The reason for resolving the alert.",
        default=UNSET,
    )
    resolved_at: Union[Unset, Union[datetime, None]] = Field(
        description="The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=UNSET,
    )
    resolved_by: Union[Unset, Union[None, SimpleUser]] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )
    resolution_comment: Union[Unset, Union[str, None]] = Field(
        description="An optional comment to resolve an alert.", default=UNSET
    )
    secret: Union[Unset, str] = Field(
        description="The secret that was detected.", default=UNSET
    )
    secret_type: Union[Unset, str] = Field(
        description="The type of secret that secret scanning detected.", default=UNSET
    )
    secret_type_display_name: Union[Unset, str] = Field(
        description='User-friendly name for the detected secret, matching the `secret_type`.\nFor 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)."',
        default=UNSET,
    )
    state: Union[Unset, Literal["open", "resolved"]] = Field(
        description="Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`.",
        default=UNSET,
    )
    updated_at: Union[Unset, datetime] = Field(
        description="The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=UNSET,
    )
    url: Union[Unset, str] = Field(
        description="The REST API URL of the alert resource.", default=UNSET
    )


class WebhookSecretScanningAlertRevoked(GitHubRestModel):
    """secret_scanning_alert revoked event"""

    action: Literal["revoked"] = Field(default=...)
    alert: SecretScanningAlert = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: Union[Unset, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )


class WebhookTeamAdd(GitHubRestModel):
    """team_add event"""

    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Repository = Field(
        title="Repository", description="A git repository", default=...
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    team: WebhookTeamAddPropTeam = Field(
        title="Team",
        description="Groups of organization members that gives permissions on specified repositories.",
        default=...,
    )


class WebhookTeamAddPropTeam(GitHubRestModel):
    """Team

    Groups of organization members that gives permissions on specified repositories.
    """

    deleted: Union[Unset, bool] = Field(default=UNSET)
    description: Union[Unset, Union[str, None]] = Field(
        description="Description of the team", default=UNSET
    )
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(description="Unique identifier of the team", default=...)
    members_url: Union[Unset, str] = Field(default=UNSET)
    name: str = Field(description="Name of the team", default=...)
    node_id: Union[Unset, str] = Field(default=UNSET)
    parent: Union[Unset, Union[WebhookTeamAddPropTeamPropParent, None]] = Field(
        default=UNSET
    )
    permission: Union[Unset, str] = Field(
        description="Permission that the team will have for its repositories",
        default=UNSET,
    )
    privacy: Union[Unset, Literal["open", "closed", "secret"]] = Field(default=UNSET)
    repositories_url: Union[Unset, str] = Field(default=UNSET)
    slug: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(description="URL for the team", default=UNSET)


class WebhookTeamAddPropTeamPropParent(GitHubRestModel):
    """WebhookTeamAddPropTeamPropParent"""

    description: Union[str, None] = Field(
        description="Description of the team", default=...
    )
    html_url: str = Field(default=...)
    id: int = Field(description="Unique identifier of the team", default=...)
    members_url: str = Field(default=...)
    name: str = Field(description="Name of the team", default=...)
    node_id: str = Field(default=...)
    permission: str = Field(
        description="Permission that the team will have for its repositories",
        default=...,
    )
    privacy: Literal["open", "closed", "secret"] = Field(default=...)
    repositories_url: str = Field(default=...)
    slug: str = Field(default=...)
    url: str = Field(description="URL for the team", default=...)


class WebhookTeamAddedToRepository(GitHubRestModel):
    """team added_to_repository event"""

    action: Literal["added_to_repository"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    organization: OrganizationSimple = Field(
        title="Organization Simple", description="Organization Simple", default=...
    )
    repository: Union[Unset, WebhookTeamAddedToRepositoryPropRepository] = Field(
        title="Repository", description="A git repository", default=UNSET
    )
    sender: Union[Unset, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )
    team: WebhookTeamAddedToRepositoryPropTeam = Field(
        title="Team",
        description="Groups of organization members that gives permissions on specified repositories.",
        default=...,
    )


class WebhookTeamAddedToRepositoryPropRepository(GitHubRestModel):
    """Repository

    A git repository
    """

    allow_auto_merge: Union[Unset, bool] = Field(
        description="Whether to allow auto-merge for pull requests.", default=False
    )
    allow_forking: Union[Unset, bool] = Field(
        description="Whether to allow private forks", default=UNSET
    )
    allow_merge_commit: Union[Unset, bool] = Field(
        description="Whether to allow merge commits for pull requests.", default=True
    )
    allow_rebase_merge: Union[Unset, bool] = Field(
        description="Whether to allow rebase merges for pull requests.", default=True
    )
    allow_squash_merge: Union[Unset, bool] = Field(
        description="Whether to allow squash merges for pull requests.", default=True
    )
    allow_update_branch: Union[Unset, bool] = Field(default=UNSET)
    archive_url: str = Field(default=...)
    archived: bool = Field(
        description="Whether the repository is archived.", default=False
    )
    assignees_url: str = Field(default=...)
    blobs_url: str = Field(default=...)
    branches_url: str = Field(default=...)
    clone_url: str = Field(default=...)
    collaborators_url: str = Field(default=...)
    comments_url: str = Field(default=...)
    commits_url: str = Field(default=...)
    compare_url: str = Field(default=...)
    contents_url: str = Field(default=...)
    contributors_url: str = Field(default=...)
    created_at: Union[int, datetime] = Field(default=...)
    default_branch: str = Field(
        description="The default branch of the repository.", default=...
    )
    delete_branch_on_merge: Union[Unset, bool] = Field(
        description="Whether to delete head branches when pull requests are merged",
        default=False,
    )
    deployments_url: str = Field(default=...)
    description: Union[str, None] = Field(default=...)
    disabled: Union[Unset, bool] = Field(
        description="Returns whether or not this repository is disabled.", default=UNSET
    )
    downloads_url: str = Field(default=...)
    events_url: str = Field(default=...)
    fork: bool = Field(default=...)
    forks: int = Field(default=...)
    forks_count: int = Field(default=...)
    forks_url: str = Field(default=...)
    full_name: str = Field(default=...)
    git_commits_url: str = Field(default=...)
    git_refs_url: str = Field(default=...)
    git_tags_url: str = Field(default=...)
    git_url: str = Field(default=...)
    has_downloads: bool = Field(
        description="Whether downloads are enabled.", default=True
    )
    has_issues: bool = Field(description="Whether issues are enabled.", default=True)
    has_pages: bool = Field(default=...)
    has_projects: bool = Field(
        description="Whether projects are enabled.", default=True
    )
    has_wiki: bool = Field(description="Whether the wiki is enabled.", default=True)
    homepage: Union[str, None] = Field(default=...)
    hooks_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(description="Unique identifier of the repository", default=...)
    is_template: Union[Unset, bool] = Field(default=UNSET)
    issue_comment_url: str = Field(default=...)
    issue_events_url: str = Field(default=...)
    issues_url: str = Field(default=...)
    keys_url: str = Field(default=...)
    labels_url: str = Field(default=...)
    language: Union[str, None] = Field(default=...)
    languages_url: str = Field(default=...)
    license_: Union[
        WebhookTeamAddedToRepositoryPropRepositoryPropLicense, None
    ] = Field(title="License", default=..., alias="license")
    master_branch: Union[Unset, str] = Field(default=UNSET)
    merges_url: str = Field(default=...)
    milestones_url: str = Field(default=...)
    mirror_url: Union[str, None] = Field(default=...)
    name: str = Field(description="The name of the repository.", default=...)
    node_id: str = Field(default=...)
    notifications_url: str = Field(default=...)
    open_issues: int = Field(default=...)
    open_issues_count: int = Field(default=...)
    organization: Union[Unset, str] = Field(default=UNSET)
    owner: Union[WebhookTeamAddedToRepositoryPropRepositoryPropOwner, None] = Field(
        title="User", default=...
    )
    permissions: Union[
        Unset, WebhookTeamAddedToRepositoryPropRepositoryPropPermissions
    ] = Field(default=UNSET)
    private: bool = Field(
        description="Whether the repository is private or public.", default=...
    )
    public: Union[Unset, bool] = Field(default=UNSET)
    pulls_url: str = Field(default=...)
    pushed_at: Union[int, datetime, None] = Field(default=...)
    releases_url: str = Field(default=...)
    role_name: Union[Unset, Union[str, None]] = Field(default=UNSET)
    size: int = Field(default=...)
    ssh_url: str = Field(default=...)
    stargazers: Union[Unset, int] = Field(default=UNSET)
    stargazers_count: int = Field(default=...)
    stargazers_url: str = Field(default=...)
    statuses_url: str = Field(default=...)
    subscribers_url: str = Field(default=...)
    subscription_url: str = Field(default=...)
    svn_url: str = Field(default=...)
    tags_url: str = Field(default=...)
    teams_url: str = Field(default=...)
    topics: List[str] = Field(default=...)
    trees_url: str = Field(default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)
    visibility: Literal["public", "private", "internal"] = Field(default=...)
    watchers: int = Field(default=...)
    watchers_count: int = Field(default=...)


class WebhookTeamAddedToRepositoryPropRepositoryPropLicense(GitHubRestModel):
    """License"""

    key: str = Field(default=...)
    name: str = Field(default=...)
    node_id: str = Field(default=...)
    spdx_id: str = Field(default=...)
    url: Union[str, None] = Field(default=...)


class WebhookTeamAddedToRepositoryPropRepositoryPropOwner(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookTeamAddedToRepositoryPropRepositoryPropPermissions(GitHubRestModel):
    """WebhookTeamAddedToRepositoryPropRepositoryPropPermissions"""

    admin: bool = Field(default=...)
    maintain: Union[Unset, bool] = Field(default=UNSET)
    pull: bool = Field(default=...)
    push: bool = Field(default=...)
    triage: Union[Unset, bool] = Field(default=UNSET)


class WebhookTeamAddedToRepositoryPropTeam(GitHubRestModel):
    """Team

    Groups of organization members that gives permissions on specified repositories.
    """

    deleted: Union[Unset, bool] = Field(default=UNSET)
    description: Union[Unset, Union[str, None]] = Field(
        description="Description of the team", default=UNSET
    )
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(description="Unique identifier of the team", default=...)
    members_url: Union[Unset, str] = Field(default=UNSET)
    name: str = Field(description="Name of the team", default=...)
    node_id: Union[Unset, str] = Field(default=UNSET)
    parent: Union[
        Unset, Union[WebhookTeamAddedToRepositoryPropTeamPropParent, None]
    ] = Field(default=UNSET)
    permission: Union[Unset, str] = Field(
        description="Permission that the team will have for its repositories",
        default=UNSET,
    )
    privacy: Union[Unset, Literal["open", "closed", "secret"]] = Field(default=UNSET)
    repositories_url: Union[Unset, str] = Field(default=UNSET)
    slug: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(description="URL for the team", default=UNSET)


class WebhookTeamAddedToRepositoryPropTeamPropParent(GitHubRestModel):
    """WebhookTeamAddedToRepositoryPropTeamPropParent"""

    description: Union[str, None] = Field(
        description="Description of the team", default=...
    )
    html_url: str = Field(default=...)
    id: int = Field(description="Unique identifier of the team", default=...)
    members_url: str = Field(default=...)
    name: str = Field(description="Name of the team", default=...)
    node_id: str = Field(default=...)
    permission: str = Field(
        description="Permission that the team will have for its repositories",
        default=...,
    )
    privacy: Literal["open", "closed", "secret"] = Field(default=...)
    repositories_url: str = Field(default=...)
    slug: str = Field(default=...)
    url: str = Field(description="URL for the team", default=...)


class WebhookTeamCreated(GitHubRestModel):
    """team created event"""

    action: Literal["created"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    organization: OrganizationSimple = Field(
        title="Organization Simple", description="Organization Simple", default=...
    )
    repository: Union[Unset, WebhookTeamCreatedPropRepository] = Field(
        title="Repository", description="A git repository", default=UNSET
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    team: WebhookTeamCreatedPropTeam = Field(
        title="Team",
        description="Groups of organization members that gives permissions on specified repositories.",
        default=...,
    )


class WebhookTeamCreatedPropRepository(GitHubRestModel):
    """Repository

    A git repository
    """

    allow_auto_merge: Union[Unset, bool] = Field(
        description="Whether to allow auto-merge for pull requests.", default=False
    )
    allow_forking: Union[Unset, bool] = Field(
        description="Whether to allow private forks", default=UNSET
    )
    allow_merge_commit: Union[Unset, bool] = Field(
        description="Whether to allow merge commits for pull requests.", default=True
    )
    allow_rebase_merge: Union[Unset, bool] = Field(
        description="Whether to allow rebase merges for pull requests.", default=True
    )
    allow_squash_merge: Union[Unset, bool] = Field(
        description="Whether to allow squash merges for pull requests.", default=True
    )
    allow_update_branch: Union[Unset, bool] = Field(default=UNSET)
    archive_url: str = Field(default=...)
    archived: bool = Field(
        description="Whether the repository is archived.", default=False
    )
    assignees_url: str = Field(default=...)
    blobs_url: str = Field(default=...)
    branches_url: str = Field(default=...)
    clone_url: str = Field(default=...)
    collaborators_url: str = Field(default=...)
    comments_url: str = Field(default=...)
    commits_url: str = Field(default=...)
    compare_url: str = Field(default=...)
    contents_url: str = Field(default=...)
    contributors_url: str = Field(default=...)
    created_at: Union[int, datetime] = Field(default=...)
    default_branch: str = Field(
        description="The default branch of the repository.", default=...
    )
    delete_branch_on_merge: Union[Unset, bool] = Field(
        description="Whether to delete head branches when pull requests are merged",
        default=False,
    )
    deployments_url: str = Field(default=...)
    description: Union[str, None] = Field(default=...)
    disabled: Union[Unset, bool] = Field(
        description="Returns whether or not this repository is disabled.", default=UNSET
    )
    downloads_url: str = Field(default=...)
    events_url: str = Field(default=...)
    fork: bool = Field(default=...)
    forks: int = Field(default=...)
    forks_count: int = Field(default=...)
    forks_url: str = Field(default=...)
    full_name: str = Field(default=...)
    git_commits_url: str = Field(default=...)
    git_refs_url: str = Field(default=...)
    git_tags_url: str = Field(default=...)
    git_url: str = Field(default=...)
    has_downloads: bool = Field(
        description="Whether downloads are enabled.", default=True
    )
    has_issues: bool = Field(description="Whether issues are enabled.", default=True)
    has_pages: bool = Field(default=...)
    has_projects: bool = Field(
        description="Whether projects are enabled.", default=True
    )
    has_wiki: bool = Field(description="Whether the wiki is enabled.", default=True)
    homepage: Union[str, None] = Field(default=...)
    hooks_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(description="Unique identifier of the repository", default=...)
    is_template: Union[Unset, bool] = Field(default=UNSET)
    issue_comment_url: str = Field(default=...)
    issue_events_url: str = Field(default=...)
    issues_url: str = Field(default=...)
    keys_url: str = Field(default=...)
    labels_url: str = Field(default=...)
    language: Union[str, None] = Field(default=...)
    languages_url: str = Field(default=...)
    license_: Union[WebhookTeamCreatedPropRepositoryPropLicense, None] = Field(
        title="License", default=..., alias="license"
    )
    master_branch: Union[Unset, str] = Field(default=UNSET)
    merges_url: str = Field(default=...)
    milestones_url: str = Field(default=...)
    mirror_url: Union[str, None] = Field(default=...)
    name: str = Field(description="The name of the repository.", default=...)
    node_id: str = Field(default=...)
    notifications_url: str = Field(default=...)
    open_issues: int = Field(default=...)
    open_issues_count: int = Field(default=...)
    organization: Union[Unset, str] = Field(default=UNSET)
    owner: Union[WebhookTeamCreatedPropRepositoryPropOwner, None] = Field(
        title="User", default=...
    )
    permissions: Union[Unset, WebhookTeamCreatedPropRepositoryPropPermissions] = Field(
        default=UNSET
    )
    private: bool = Field(
        description="Whether the repository is private or public.", default=...
    )
    public: Union[Unset, bool] = Field(default=UNSET)
    pulls_url: str = Field(default=...)
    pushed_at: Union[int, datetime, None] = Field(default=...)
    releases_url: str = Field(default=...)
    role_name: Union[Unset, Union[str, None]] = Field(default=UNSET)
    size: int = Field(default=...)
    ssh_url: str = Field(default=...)
    stargazers: Union[Unset, int] = Field(default=UNSET)
    stargazers_count: int = Field(default=...)
    stargazers_url: str = Field(default=...)
    statuses_url: str = Field(default=...)
    subscribers_url: str = Field(default=...)
    subscription_url: str = Field(default=...)
    svn_url: str = Field(default=...)
    tags_url: str = Field(default=...)
    teams_url: str = Field(default=...)
    topics: List[str] = Field(default=...)
    trees_url: str = Field(default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)
    visibility: Literal["public", "private", "internal"] = Field(default=...)
    watchers: int = Field(default=...)
    watchers_count: int = Field(default=...)


class WebhookTeamCreatedPropRepositoryPropLicense(GitHubRestModel):
    """License"""

    key: str = Field(default=...)
    name: str = Field(default=...)
    node_id: str = Field(default=...)
    spdx_id: str = Field(default=...)
    url: Union[str, None] = Field(default=...)


class WebhookTeamCreatedPropRepositoryPropOwner(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookTeamCreatedPropRepositoryPropPermissions(GitHubRestModel):
    """WebhookTeamCreatedPropRepositoryPropPermissions"""

    admin: bool = Field(default=...)
    maintain: Union[Unset, bool] = Field(default=UNSET)
    pull: bool = Field(default=...)
    push: bool = Field(default=...)
    triage: Union[Unset, bool] = Field(default=UNSET)


class WebhookTeamCreatedPropTeam(GitHubRestModel):
    """Team

    Groups of organization members that gives permissions on specified repositories.
    """

    deleted: Union[Unset, bool] = Field(default=UNSET)
    description: Union[Unset, Union[str, None]] = Field(
        description="Description of the team", default=UNSET
    )
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(description="Unique identifier of the team", default=...)
    members_url: Union[Unset, str] = Field(default=UNSET)
    name: str = Field(description="Name of the team", default=...)
    node_id: Union[Unset, str] = Field(default=UNSET)
    parent: Union[Unset, Union[WebhookTeamCreatedPropTeamPropParent, None]] = Field(
        default=UNSET
    )
    permission: Union[Unset, str] = Field(
        description="Permission that the team will have for its repositories",
        default=UNSET,
    )
    privacy: Union[Unset, Literal["open", "closed", "secret"]] = Field(default=UNSET)
    repositories_url: Union[Unset, str] = Field(default=UNSET)
    slug: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(description="URL for the team", default=UNSET)


class WebhookTeamCreatedPropTeamPropParent(GitHubRestModel):
    """WebhookTeamCreatedPropTeamPropParent"""

    description: Union[str, None] = Field(
        description="Description of the team", default=...
    )
    html_url: str = Field(default=...)
    id: int = Field(description="Unique identifier of the team", default=...)
    members_url: str = Field(default=...)
    name: str = Field(description="Name of the team", default=...)
    node_id: str = Field(default=...)
    permission: str = Field(
        description="Permission that the team will have for its repositories",
        default=...,
    )
    privacy: Literal["open", "closed", "secret"] = Field(default=...)
    repositories_url: str = Field(default=...)
    slug: str = Field(default=...)
    url: str = Field(description="URL for the team", default=...)


class WebhookTeamDeleted(GitHubRestModel):
    """team deleted event"""

    action: Literal["deleted"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    organization: OrganizationSimple = Field(
        title="Organization Simple", description="Organization Simple", default=...
    )
    repository: Union[Unset, WebhookTeamDeletedPropRepository] = Field(
        title="Repository", description="A git repository", default=UNSET
    )
    sender: Union[Unset, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )
    team: WebhookTeamDeletedPropTeam = Field(
        title="Team",
        description="Groups of organization members that gives permissions on specified repositories.",
        default=...,
    )


class WebhookTeamDeletedPropRepository(GitHubRestModel):
    """Repository

    A git repository
    """

    allow_auto_merge: Union[Unset, bool] = Field(
        description="Whether to allow auto-merge for pull requests.", default=False
    )
    allow_forking: Union[Unset, bool] = Field(
        description="Whether to allow private forks", default=UNSET
    )
    allow_merge_commit: Union[Unset, bool] = Field(
        description="Whether to allow merge commits for pull requests.", default=True
    )
    allow_rebase_merge: Union[Unset, bool] = Field(
        description="Whether to allow rebase merges for pull requests.", default=True
    )
    allow_squash_merge: Union[Unset, bool] = Field(
        description="Whether to allow squash merges for pull requests.", default=True
    )
    allow_update_branch: Union[Unset, bool] = Field(default=UNSET)
    archive_url: str = Field(default=...)
    archived: bool = Field(
        description="Whether the repository is archived.", default=False
    )
    assignees_url: str = Field(default=...)
    blobs_url: str = Field(default=...)
    branches_url: str = Field(default=...)
    clone_url: str = Field(default=...)
    collaborators_url: str = Field(default=...)
    comments_url: str = Field(default=...)
    commits_url: str = Field(default=...)
    compare_url: str = Field(default=...)
    contents_url: str = Field(default=...)
    contributors_url: str = Field(default=...)
    created_at: Union[int, datetime] = Field(default=...)
    default_branch: str = Field(
        description="The default branch of the repository.", default=...
    )
    delete_branch_on_merge: Union[Unset, bool] = Field(
        description="Whether to delete head branches when pull requests are merged",
        default=False,
    )
    deployments_url: str = Field(default=...)
    description: Union[str, None] = Field(default=...)
    disabled: Union[Unset, bool] = Field(
        description="Returns whether or not this repository is disabled.", default=UNSET
    )
    downloads_url: str = Field(default=...)
    events_url: str = Field(default=...)
    fork: bool = Field(default=...)
    forks: int = Field(default=...)
    forks_count: int = Field(default=...)
    forks_url: str = Field(default=...)
    full_name: str = Field(default=...)
    git_commits_url: str = Field(default=...)
    git_refs_url: str = Field(default=...)
    git_tags_url: str = Field(default=...)
    git_url: str = Field(default=...)
    has_downloads: bool = Field(
        description="Whether downloads are enabled.", default=True
    )
    has_issues: bool = Field(description="Whether issues are enabled.", default=True)
    has_pages: bool = Field(default=...)
    has_projects: bool = Field(
        description="Whether projects are enabled.", default=True
    )
    has_wiki: bool = Field(description="Whether the wiki is enabled.", default=True)
    homepage: Union[str, None] = Field(default=...)
    hooks_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(description="Unique identifier of the repository", default=...)
    is_template: Union[Unset, bool] = Field(default=UNSET)
    issue_comment_url: str = Field(default=...)
    issue_events_url: str = Field(default=...)
    issues_url: str = Field(default=...)
    keys_url: str = Field(default=...)
    labels_url: str = Field(default=...)
    language: Union[str, None] = Field(default=...)
    languages_url: str = Field(default=...)
    license_: Union[WebhookTeamDeletedPropRepositoryPropLicense, None] = Field(
        title="License", default=..., alias="license"
    )
    master_branch: Union[Unset, str] = Field(default=UNSET)
    merges_url: str = Field(default=...)
    milestones_url: str = Field(default=...)
    mirror_url: Union[str, None] = Field(default=...)
    name: str = Field(description="The name of the repository.", default=...)
    node_id: str = Field(default=...)
    notifications_url: str = Field(default=...)
    open_issues: int = Field(default=...)
    open_issues_count: int = Field(default=...)
    organization: Union[Unset, str] = Field(default=UNSET)
    owner: Union[WebhookTeamDeletedPropRepositoryPropOwner, None] = Field(
        title="User", default=...
    )
    permissions: Union[Unset, WebhookTeamDeletedPropRepositoryPropPermissions] = Field(
        default=UNSET
    )
    private: bool = Field(
        description="Whether the repository is private or public.", default=...
    )
    public: Union[Unset, bool] = Field(default=UNSET)
    pulls_url: str = Field(default=...)
    pushed_at: Union[int, datetime, None] = Field(default=...)
    releases_url: str = Field(default=...)
    role_name: Union[Unset, Union[str, None]] = Field(default=UNSET)
    size: int = Field(default=...)
    ssh_url: str = Field(default=...)
    stargazers: Union[Unset, int] = Field(default=UNSET)
    stargazers_count: int = Field(default=...)
    stargazers_url: str = Field(default=...)
    statuses_url: str = Field(default=...)
    subscribers_url: str = Field(default=...)
    subscription_url: str = Field(default=...)
    svn_url: str = Field(default=...)
    tags_url: str = Field(default=...)
    teams_url: str = Field(default=...)
    topics: List[str] = Field(default=...)
    trees_url: str = Field(default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)
    visibility: Literal["public", "private", "internal"] = Field(default=...)
    watchers: int = Field(default=...)
    watchers_count: int = Field(default=...)


class WebhookTeamDeletedPropRepositoryPropLicense(GitHubRestModel):
    """License"""

    key: str = Field(default=...)
    name: str = Field(default=...)
    node_id: str = Field(default=...)
    spdx_id: str = Field(default=...)
    url: Union[str, None] = Field(default=...)


class WebhookTeamDeletedPropRepositoryPropOwner(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookTeamDeletedPropRepositoryPropPermissions(GitHubRestModel):
    """WebhookTeamDeletedPropRepositoryPropPermissions"""

    admin: bool = Field(default=...)
    maintain: Union[Unset, bool] = Field(default=UNSET)
    pull: bool = Field(default=...)
    push: bool = Field(default=...)
    triage: Union[Unset, bool] = Field(default=UNSET)


class WebhookTeamDeletedPropTeam(GitHubRestModel):
    """Team

    Groups of organization members that gives permissions on specified repositories.
    """

    deleted: Union[Unset, bool] = Field(default=UNSET)
    description: Union[Unset, Union[str, None]] = Field(
        description="Description of the team", default=UNSET
    )
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(description="Unique identifier of the team", default=...)
    members_url: Union[Unset, str] = Field(default=UNSET)
    name: str = Field(description="Name of the team", default=...)
    node_id: Union[Unset, str] = Field(default=UNSET)
    parent: Union[Unset, Union[WebhookTeamDeletedPropTeamPropParent, None]] = Field(
        default=UNSET
    )
    permission: Union[Unset, str] = Field(
        description="Permission that the team will have for its repositories",
        default=UNSET,
    )
    privacy: Union[Unset, Literal["open", "closed", "secret"]] = Field(default=UNSET)
    repositories_url: Union[Unset, str] = Field(default=UNSET)
    slug: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(description="URL for the team", default=UNSET)


class WebhookTeamDeletedPropTeamPropParent(GitHubRestModel):
    """WebhookTeamDeletedPropTeamPropParent"""

    description: Union[str, None] = Field(
        description="Description of the team", default=...
    )
    html_url: str = Field(default=...)
    id: int = Field(description="Unique identifier of the team", default=...)
    members_url: str = Field(default=...)
    name: str = Field(description="Name of the team", default=...)
    node_id: str = Field(default=...)
    permission: str = Field(
        description="Permission that the team will have for its repositories",
        default=...,
    )
    privacy: Literal["open", "closed", "secret"] = Field(default=...)
    repositories_url: str = Field(default=...)
    slug: str = Field(default=...)
    url: str = Field(description="URL for the team", default=...)


class WebhookTeamEdited(GitHubRestModel):
    """team edited event"""

    action: Literal["edited"] = Field(default=...)
    changes: WebhookTeamEditedPropChanges = Field(
        description="The changes to the team if the action was `edited`.", default=...
    )
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    organization: OrganizationSimple = Field(
        title="Organization Simple", description="Organization Simple", default=...
    )
    repository: Union[Unset, WebhookTeamEditedPropRepository] = Field(
        title="Repository", description="A git repository", default=UNSET
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    team: WebhookTeamEditedPropTeam = Field(
        title="Team",
        description="Groups of organization members that gives permissions on specified repositories.",
        default=...,
    )


class WebhookTeamEditedPropChanges(GitHubRestModel):
    """WebhookTeamEditedPropChanges

    The changes to the team if the action was `edited`.
    """

    description: Union[Unset, WebhookTeamEditedPropChangesPropDescription] = Field(
        default=UNSET
    )
    name: Union[Unset, WebhookTeamEditedPropChangesPropName] = Field(default=UNSET)
    privacy: Union[Unset, WebhookTeamEditedPropChangesPropPrivacy] = Field(
        default=UNSET
    )
    repository: Union[Unset, WebhookTeamEditedPropChangesPropRepository] = Field(
        default=UNSET
    )


class WebhookTeamEditedPropChangesPropDescription(GitHubRestModel):
    """WebhookTeamEditedPropChangesPropDescription"""

    from_: str = Field(
        description="The previous version of the description if the action was `edited`.",
        default=...,
        alias="from",
    )


class WebhookTeamEditedPropChangesPropName(GitHubRestModel):
    """WebhookTeamEditedPropChangesPropName"""

    from_: str = Field(
        description="The previous version of the name if the action was `edited`.",
        default=...,
        alias="from",
    )


class WebhookTeamEditedPropChangesPropPrivacy(GitHubRestModel):
    """WebhookTeamEditedPropChangesPropPrivacy"""

    from_: str = Field(
        description="The previous version of the team's privacy if the action was `edited`.",
        default=...,
        alias="from",
    )


class WebhookTeamEditedPropChangesPropRepository(GitHubRestModel):
    """WebhookTeamEditedPropChangesPropRepository"""

    permissions: WebhookTeamEditedPropChangesPropRepositoryPropPermissions = Field(
        default=...
    )


class WebhookTeamEditedPropChangesPropRepositoryPropPermissions(GitHubRestModel):
    """WebhookTeamEditedPropChangesPropRepositoryPropPermissions"""

    from_: WebhookTeamEditedPropChangesPropRepositoryPropPermissionsPropFrom = Field(
        default=..., alias="from"
    )


class WebhookTeamEditedPropChangesPropRepositoryPropPermissionsPropFrom(
    GitHubRestModel
):
    """WebhookTeamEditedPropChangesPropRepositoryPropPermissionsPropFrom"""

    admin: Union[Unset, bool] = Field(
        description="The previous version of the team member's `admin` permission on a repository, if the action was `edited`.",
        default=UNSET,
    )
    pull: Union[Unset, bool] = Field(
        description="The previous version of the team member's `pull` permission on a repository, if the action was `edited`.",
        default=UNSET,
    )
    push: Union[Unset, bool] = Field(
        description="The previous version of the team member's `push` permission on a repository, if the action was `edited`.",
        default=UNSET,
    )


class WebhookTeamEditedPropRepository(GitHubRestModel):
    """Repository

    A git repository
    """

    allow_auto_merge: Union[Unset, bool] = Field(
        description="Whether to allow auto-merge for pull requests.", default=False
    )
    allow_forking: Union[Unset, bool] = Field(
        description="Whether to allow private forks", default=UNSET
    )
    allow_merge_commit: Union[Unset, bool] = Field(
        description="Whether to allow merge commits for pull requests.", default=True
    )
    allow_rebase_merge: Union[Unset, bool] = Field(
        description="Whether to allow rebase merges for pull requests.", default=True
    )
    allow_squash_merge: Union[Unset, bool] = Field(
        description="Whether to allow squash merges for pull requests.", default=True
    )
    allow_update_branch: Union[Unset, bool] = Field(default=UNSET)
    archive_url: str = Field(default=...)
    archived: bool = Field(
        description="Whether the repository is archived.", default=False
    )
    assignees_url: str = Field(default=...)
    blobs_url: str = Field(default=...)
    branches_url: str = Field(default=...)
    clone_url: str = Field(default=...)
    collaborators_url: str = Field(default=...)
    comments_url: str = Field(default=...)
    commits_url: str = Field(default=...)
    compare_url: str = Field(default=...)
    contents_url: str = Field(default=...)
    contributors_url: str = Field(default=...)
    created_at: Union[int, datetime] = Field(default=...)
    default_branch: str = Field(
        description="The default branch of the repository.", default=...
    )
    delete_branch_on_merge: Union[Unset, bool] = Field(
        description="Whether to delete head branches when pull requests are merged",
        default=False,
    )
    deployments_url: str = Field(default=...)
    description: Union[str, None] = Field(default=...)
    disabled: Union[Unset, bool] = Field(
        description="Returns whether or not this repository is disabled.", default=UNSET
    )
    downloads_url: str = Field(default=...)
    events_url: str = Field(default=...)
    fork: bool = Field(default=...)
    forks: int = Field(default=...)
    forks_count: int = Field(default=...)
    forks_url: str = Field(default=...)
    full_name: str = Field(default=...)
    git_commits_url: str = Field(default=...)
    git_refs_url: str = Field(default=...)
    git_tags_url: str = Field(default=...)
    git_url: str = Field(default=...)
    has_downloads: bool = Field(
        description="Whether downloads are enabled.", default=True
    )
    has_issues: bool = Field(description="Whether issues are enabled.", default=True)
    has_pages: bool = Field(default=...)
    has_projects: bool = Field(
        description="Whether projects are enabled.", default=True
    )
    has_wiki: bool = Field(description="Whether the wiki is enabled.", default=True)
    homepage: Union[str, None] = Field(default=...)
    hooks_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(description="Unique identifier of the repository", default=...)
    is_template: Union[Unset, bool] = Field(default=UNSET)
    issue_comment_url: str = Field(default=...)
    issue_events_url: str = Field(default=...)
    issues_url: str = Field(default=...)
    keys_url: str = Field(default=...)
    labels_url: str = Field(default=...)
    language: Union[str, None] = Field(default=...)
    languages_url: str = Field(default=...)
    license_: Union[WebhookTeamEditedPropRepositoryPropLicense, None] = Field(
        title="License", default=..., alias="license"
    )
    master_branch: Union[Unset, str] = Field(default=UNSET)
    merges_url: str = Field(default=...)
    milestones_url: str = Field(default=...)
    mirror_url: Union[str, None] = Field(default=...)
    name: str = Field(description="The name of the repository.", default=...)
    node_id: str = Field(default=...)
    notifications_url: str = Field(default=...)
    open_issues: int = Field(default=...)
    open_issues_count: int = Field(default=...)
    organization: Union[Unset, str] = Field(default=UNSET)
    owner: Union[WebhookTeamEditedPropRepositoryPropOwner, None] = Field(
        title="User", default=...
    )
    permissions: Union[Unset, WebhookTeamEditedPropRepositoryPropPermissions] = Field(
        default=UNSET
    )
    private: bool = Field(
        description="Whether the repository is private or public.", default=...
    )
    public: Union[Unset, bool] = Field(default=UNSET)
    pulls_url: str = Field(default=...)
    pushed_at: Union[int, datetime, None] = Field(default=...)
    releases_url: str = Field(default=...)
    role_name: Union[Unset, Union[str, None]] = Field(default=UNSET)
    size: int = Field(default=...)
    ssh_url: str = Field(default=...)
    stargazers: Union[Unset, int] = Field(default=UNSET)
    stargazers_count: int = Field(default=...)
    stargazers_url: str = Field(default=...)
    statuses_url: str = Field(default=...)
    subscribers_url: str = Field(default=...)
    subscription_url: str = Field(default=...)
    svn_url: str = Field(default=...)
    tags_url: str = Field(default=...)
    teams_url: str = Field(default=...)
    topics: List[str] = Field(default=...)
    trees_url: str = Field(default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)
    visibility: Literal["public", "private", "internal"] = Field(default=...)
    watchers: int = Field(default=...)
    watchers_count: int = Field(default=...)


class WebhookTeamEditedPropRepositoryPropLicense(GitHubRestModel):
    """License"""

    key: str = Field(default=...)
    name: str = Field(default=...)
    node_id: str = Field(default=...)
    spdx_id: str = Field(default=...)
    url: Union[str, None] = Field(default=...)


class WebhookTeamEditedPropRepositoryPropOwner(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookTeamEditedPropRepositoryPropPermissions(GitHubRestModel):
    """WebhookTeamEditedPropRepositoryPropPermissions"""

    admin: bool = Field(default=...)
    maintain: Union[Unset, bool] = Field(default=UNSET)
    pull: bool = Field(default=...)
    push: bool = Field(default=...)
    triage: Union[Unset, bool] = Field(default=UNSET)


class WebhookTeamEditedPropTeam(GitHubRestModel):
    """Team

    Groups of organization members that gives permissions on specified repositories.
    """

    deleted: Union[Unset, bool] = Field(default=UNSET)
    description: Union[Unset, Union[str, None]] = Field(
        description="Description of the team", default=UNSET
    )
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(description="Unique identifier of the team", default=...)
    members_url: Union[Unset, str] = Field(default=UNSET)
    name: str = Field(description="Name of the team", default=...)
    node_id: Union[Unset, str] = Field(default=UNSET)
    parent: Union[Unset, Union[WebhookTeamEditedPropTeamPropParent, None]] = Field(
        default=UNSET
    )
    permission: Union[Unset, str] = Field(
        description="Permission that the team will have for its repositories",
        default=UNSET,
    )
    privacy: Union[Unset, Literal["open", "closed", "secret"]] = Field(default=UNSET)
    repositories_url: Union[Unset, str] = Field(default=UNSET)
    slug: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(description="URL for the team", default=UNSET)


class WebhookTeamEditedPropTeamPropParent(GitHubRestModel):
    """WebhookTeamEditedPropTeamPropParent"""

    description: Union[str, None] = Field(
        description="Description of the team", default=...
    )
    html_url: str = Field(default=...)
    id: int = Field(description="Unique identifier of the team", default=...)
    members_url: str = Field(default=...)
    name: str = Field(description="Name of the team", default=...)
    node_id: str = Field(default=...)
    permission: str = Field(
        description="Permission that the team will have for its repositories",
        default=...,
    )
    privacy: Literal["open", "closed", "secret"] = Field(default=...)
    repositories_url: str = Field(default=...)
    slug: str = Field(default=...)
    url: str = Field(description="URL for the team", default=...)


class WebhookTeamRemovedFromRepository(GitHubRestModel):
    """team removed_from_repository event"""

    action: Literal["removed_from_repository"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    organization: OrganizationSimple = Field(
        title="Organization Simple", description="Organization Simple", default=...
    )
    repository: Union[Unset, WebhookTeamRemovedFromRepositoryPropRepository] = Field(
        title="Repository", description="A git repository", default=UNSET
    )
    sender: SimpleUser = Field(
        title="Simple User", description="Simple User", default=...
    )
    team: WebhookTeamRemovedFromRepositoryPropTeam = Field(
        title="Team",
        description="Groups of organization members that gives permissions on specified repositories.",
        default=...,
    )


class WebhookTeamRemovedFromRepositoryPropRepository(GitHubRestModel):
    """Repository

    A git repository
    """

    allow_auto_merge: Union[Unset, bool] = Field(
        description="Whether to allow auto-merge for pull requests.", default=False
    )
    allow_forking: Union[Unset, bool] = Field(
        description="Whether to allow private forks", default=UNSET
    )
    allow_merge_commit: Union[Unset, bool] = Field(
        description="Whether to allow merge commits for pull requests.", default=True
    )
    allow_rebase_merge: Union[Unset, bool] = Field(
        description="Whether to allow rebase merges for pull requests.", default=True
    )
    allow_squash_merge: Union[Unset, bool] = Field(
        description="Whether to allow squash merges for pull requests.", default=True
    )
    allow_update_branch: Union[Unset, bool] = Field(default=UNSET)
    archive_url: str = Field(default=...)
    archived: bool = Field(
        description="Whether the repository is archived.", default=False
    )
    assignees_url: str = Field(default=...)
    blobs_url: str = Field(default=...)
    branches_url: str = Field(default=...)
    clone_url: str = Field(default=...)
    collaborators_url: str = Field(default=...)
    comments_url: str = Field(default=...)
    commits_url: str = Field(default=...)
    compare_url: str = Field(default=...)
    contents_url: str = Field(default=...)
    contributors_url: str = Field(default=...)
    created_at: Union[int, datetime] = Field(default=...)
    default_branch: str = Field(
        description="The default branch of the repository.", default=...
    )
    delete_branch_on_merge: Union[Unset, bool] = Field(
        description="Whether to delete head branches when pull requests are merged",
        default=False,
    )
    deployments_url: str = Field(default=...)
    description: Union[str, None] = Field(default=...)
    disabled: Union[Unset, bool] = Field(
        description="Returns whether or not this repository is disabled.", default=UNSET
    )
    downloads_url: str = Field(default=...)
    events_url: str = Field(default=...)
    fork: bool = Field(default=...)
    forks: int = Field(default=...)
    forks_count: int = Field(default=...)
    forks_url: str = Field(default=...)
    full_name: str = Field(default=...)
    git_commits_url: str = Field(default=...)
    git_refs_url: str = Field(default=...)
    git_tags_url: str = Field(default=...)
    git_url: str = Field(default=...)
    has_downloads: bool = Field(
        description="Whether downloads are enabled.", default=True
    )
    has_issues: bool = Field(description="Whether issues are enabled.", default=True)
    has_pages: bool = Field(default=...)
    has_projects: bool = Field(
        description="Whether projects are enabled.", default=True
    )
    has_wiki: bool = Field(description="Whether the wiki is enabled.", default=True)
    homepage: Union[str, None] = Field(default=...)
    hooks_url: str = Field(default=...)
    html_url: str = Field(default=...)
    id: int = Field(description="Unique identifier of the repository", default=...)
    is_template: Union[Unset, bool] = Field(default=UNSET)
    issue_comment_url: str = Field(default=...)
    issue_events_url: str = Field(default=...)
    issues_url: str = Field(default=...)
    keys_url: str = Field(default=...)
    labels_url: str = Field(default=...)
    language: Union[str, None] = Field(default=...)
    languages_url: str = Field(default=...)
    license_: Union[
        WebhookTeamRemovedFromRepositoryPropRepositoryPropLicense, None
    ] = Field(title="License", default=..., alias="license")
    master_branch: Union[Unset, str] = Field(default=UNSET)
    merges_url: str = Field(default=...)
    milestones_url: str = Field(default=...)
    mirror_url: Union[str, None] = Field(default=...)
    name: str = Field(description="The name of the repository.", default=...)
    node_id: str = Field(default=...)
    notifications_url: str = Field(default=...)
    open_issues: int = Field(default=...)
    open_issues_count: int = Field(default=...)
    organization: Union[Unset, str] = Field(default=UNSET)
    owner: Union[WebhookTeamRemovedFromRepositoryPropRepositoryPropOwner, None] = Field(
        title="User", default=...
    )
    permissions: Union[
        Unset, WebhookTeamRemovedFromRepositoryPropRepositoryPropPermissions
    ] = Field(default=UNSET)
    private: bool = Field(
        description="Whether the repository is private or public.", default=...
    )
    public: Union[Unset, bool] = Field(default=UNSET)
    pulls_url: str = Field(default=...)
    pushed_at: Union[int, datetime, None] = Field(default=...)
    releases_url: str = Field(default=...)
    role_name: Union[Unset, Union[str, None]] = Field(default=UNSET)
    size: int = Field(default=...)
    ssh_url: str = Field(default=...)
    stargazers: Union[Unset, int] = Field(default=UNSET)
    stargazers_count: int = Field(default=...)
    stargazers_url: str = Field(default=...)
    statuses_url: str = Field(default=...)
    subscribers_url: str = Field(default=...)
    subscription_url: str = Field(default=...)
    svn_url: str = Field(default=...)
    tags_url: str = Field(default=...)
    teams_url: str = Field(default=...)
    topics: List[str] = Field(default=...)
    trees_url: str = Field(default=...)
    updated_at: datetime = Field(default=...)
    url: str = Field(default=...)
    visibility: Literal["public", "private", "internal"] = Field(default=...)
    watchers: int = Field(default=...)
    watchers_count: int = Field(default=...)


class WebhookTeamRemovedFromRepositoryPropRepositoryPropLicense(GitHubRestModel):
    """License"""

    key: str = Field(default=...)
    name: str = Field(default=...)
    node_id: str = Field(default=...)
    spdx_id: str = Field(default=...)
    url: Union[str, None] = Field(default=...)


class WebhookTeamRemovedFromRepositoryPropRepositoryPropOwner(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class WebhookTeamRemovedFromRepositoryPropRepositoryPropPermissions(GitHubRestModel):
    """WebhookTeamRemovedFromRepositoryPropRepositoryPropPermissions"""

    admin: bool = Field(default=...)
    maintain: Union[Unset, bool] = Field(default=UNSET)
    pull: bool = Field(default=...)
    push: bool = Field(default=...)
    triage: Union[Unset, bool] = Field(default=UNSET)


class WebhookTeamRemovedFromRepositoryPropTeam(GitHubRestModel):
    """Team

    Groups of organization members that gives permissions on specified repositories.
    """

    deleted: Union[Unset, bool] = Field(default=UNSET)
    description: Union[Unset, Union[str, None]] = Field(
        description="Description of the team", default=UNSET
    )
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(description="Unique identifier of the team", default=...)
    members_url: Union[Unset, str] = Field(default=UNSET)
    name: str = Field(description="Name of the team", default=...)
    node_id: Union[Unset, str] = Field(default=UNSET)
    parent: Union[
        Unset, Union[WebhookTeamRemovedFromRepositoryPropTeamPropParent, None]
    ] = Field(default=UNSET)
    permission: Union[Unset, str] = Field(
        description="Permission that the team will have for its repositories",
        default=UNSET,
    )
    privacy: Union[Unset, Literal["open", "closed", "secret"]] = Field(default=UNSET)
    repositories_url: Union[Unset, str] = Field(default=UNSET)
    slug: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(description="URL for the team", default=UNSET)


class WebhookTeamRemovedFromRepositoryPropTeamPropParent(GitHubRestModel):
    """WebhookTeamRemovedFromRepositoryPropTeamPropParent"""

    description: Union[str, None] = Field(
        description="Description of the team", default=...
    )
    html_url: str = Field(default=...)
    id: int = Field(description="Unique identifier of the team", default=...)
    members_url: str = Field(default=...)
    name: str = Field(description="Name of the team", default=...)
    node_id: str = Field(default=...)
    permission: str = Field(
        description="Permission that the team will have for its repositories",
        default=...,
    )
    privacy: Literal["open", "closed", "secret"] = Field(default=...)
    repositories_url: str = Field(default=...)
    slug: str = Field(default=...)
    url: str = Field(description="URL for the team", default=...)


class WebhookUserCreated(GitHubRestModel):
    """WebhookUserCreated"""

    action: Literal["created"] = Field(default=...)
    enterprise: Union[Unset, Enterprise] = Field(
        title="Enterprise", description="An enterprise account", default=UNSET
    )
    installation: Union[Unset, SimpleInstallation] = Field(
        title="Simple Installation", description="Simple Installation", default=UNSET
    )
    organization: Union[Unset, OrganizationSimple] = Field(
        title="Organization Simple", description="Organization Simple", default=UNSET
    )
    repository: Union[Unset, Repository] = Field(
        title="Repository", description="A git repository", default=UNSET
    )
    sender: Union[Unset, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )
    user: Union[Unset, Union[WebhookUserCreatedPropUser, None]] = Field(
        title="User", default=UNSET
    )


class WebhookUserCreatedPropUser(GitHubRestModel):
    """User"""

    avatar_url: Union[Unset, str] = Field(default=UNSET)
    deleted: Union[Unset, bool] = Field(default=UNSET)
    email: Union[Unset, Union[str, None]] = Field(default=UNSET)
    events_url: Union[Unset, str] = Field(default=UNSET)
    followers_url: Union[Unset, str] = Field(default=UNSET)
    following_url: Union[Unset, str] = Field(default=UNSET)
    gists_url: Union[Unset, str] = Field(default=UNSET)
    gravatar_id: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, str] = Field(default=UNSET)
    id: int = Field(default=...)
    login: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)
    node_id: Union[Unset, str] = Field(default=UNSET)
    organizations_url: Union[Unset, str] = Field(default=UNSET)
    received_events_url: Union[Unset, str] = Field(default=UNSET)
    repos_url: Union[Unset, str] = Field(default=UNSET)
    site_admin: Union[Unset, bool] = Field(default=UNSET)
    starred_url: Union[Unset, str] = Field(default=UNSET)
    subscriptions_url: Union[Unset, str] = Field(default=UNSET)
    type: Union[Unset, Literal["Bot", "User", "Organization"]] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class AppManifestsCodeConversionsPostResponse201(GitHubRestModel):
    """AppManifestsCodeConversionsPostResponse201"""

    id: int = Field(description="Unique identifier of the GitHub app", default=...)
    slug: Union[Unset, str] = Field(
        description="The slug name of the GitHub app", default=UNSET
    )
    node_id: str = Field(default=...)
    owner: Union[None, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=...
    )
    name: str = Field(description="The name of the GitHub app", default=...)
    description: Union[str, None] = Field(default=...)
    external_url: str = Field(default=...)
    html_url: str = Field(default=...)
    created_at: datetime = Field(default=...)
    updated_at: datetime = Field(default=...)
    permissions: IntegrationPropPermissions = Field(
        description="The set of permissions for the GitHub app", default=...
    )
    events: List[str] = Field(
        description="The list of events for the GitHub app", default=...
    )
    installations_count: Union[Unset, int] = Field(
        description="The number of installations associated with the GitHub app",
        default=UNSET,
    )
    client_id: str = Field(default=...)
    client_secret: str = Field(default=...)
    webhook_secret: Union[Union[str, None], None] = Field(default=...)
    pem: str = Field(default=...)


class AppManifestsCodeConversionsPostResponse201Allof1(
    GitHubRestModel, extra=Extra.allow
):
    """AppManifestsCodeConversionsPostResponse201Allof1"""

    client_id: str = Field(default=...)
    client_secret: str = Field(default=...)
    webhook_secret: Union[str, None] = Field(default=...)
    pem: str = Field(default=...)


class AppHookConfigPatchBody(GitHubRestModel):
    """AppHookConfigPatchBody"""

    url: Union[Unset, str] = Field(
        description="The URL to which the payloads will be delivered.", default=UNSET
    )
    content_type: Union[Unset, str] = Field(
        description="The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`.",
        default=UNSET,
    )
    secret: Union[Unset, str] = Field(
        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).",
        default=UNSET,
    )
    insecure_ssl: Union[Unset, Union[str, float]] = Field(
        description="Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**",
        default=UNSET,
    )


class AppHookDeliveriesDeliveryIdAttemptsPostResponse202(GitHubRestModel):
    """AppHookDeliveriesDeliveryIdAttemptsPostResponse202"""


class AppInstallationsInstallationIdAccessTokensPostBody(GitHubRestModel):
    """AppInstallationsInstallationIdAccessTokensPostBody"""

    repositories: Union[Unset, List[str]] = Field(
        description="List of repository names that the token should have access to",
        default=UNSET,
    )
    repository_ids: Union[Unset, List[int]] = Field(
        description="List of repository IDs that the token should have access to",
        default=UNSET,
    )
    permissions: Union[Unset, AppPermissions] = Field(
        title="App Permissions",
        description="The permissions granted to the user-to-server access token.",
        default=UNSET,
    )


class ApplicationsClientIdGrantDeleteBody(GitHubRestModel):
    """ApplicationsClientIdGrantDeleteBody"""

    access_token: str = Field(
        description="The OAuth access token used to authenticate to the GitHub API.",
        default=...,
    )


class ApplicationsClientIdTokenPostBody(GitHubRestModel):
    """ApplicationsClientIdTokenPostBody"""

    access_token: str = Field(
        description="The access_token of the OAuth application.", default=...
    )


class ApplicationsClientIdTokenDeleteBody(GitHubRestModel):
    """ApplicationsClientIdTokenDeleteBody"""

    access_token: str = Field(
        description="The OAuth access token used to authenticate to the GitHub API.",
        default=...,
    )


class ApplicationsClientIdTokenPatchBody(GitHubRestModel):
    """ApplicationsClientIdTokenPatchBody"""

    access_token: str = Field(
        description="The access_token of the OAuth application.", default=...
    )


class ApplicationsClientIdTokenScopedPostBody(GitHubRestModel):
    """ApplicationsClientIdTokenScopedPostBody"""

    access_token: str = Field(
        description="The OAuth access token used to authenticate to the GitHub API.",
        default=...,
    )
    target: Union[Unset, str] = Field(
        description="The name of the user or organization to scope the user-to-server access token to. **Required** unless `target_id` is specified.",
        default=UNSET,
    )
    target_id: Union[Unset, int] = Field(
        description="The ID of the user or organization to scope the user-to-server access token to. **Required** unless `target` is specified.",
        default=UNSET,
    )
    repositories: Union[Unset, List[str]] = Field(
        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.",
        default=UNSET,
    )
    repository_ids: Union[Unset, List[int]] = Field(
        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.",
        default=UNSET,
    )
    permissions: Union[Unset, AppPermissions] = Field(
        title="App Permissions",
        description="The permissions granted to the user-to-server access token.",
        default=UNSET,
    )


class EmojisGetResponse200(GitHubRestModel, extra=Extra.allow):
    """EmojisGetResponse200"""


class EnterprisesEnterpriseActionsPermissionsPutBody(GitHubRestModel):
    """EnterprisesEnterpriseActionsPermissionsPutBody"""

    enabled_organizations: Literal["all", "none", "selected"] = Field(
        description="The policy that controls the organizations in the enterprise that are allowed to run GitHub Actions.",
        default=...,
    )
    allowed_actions: Union[Unset, Literal["all", "local_only", "selected"]] = Field(
        description="The permissions policy that controls the actions and reusable workflows that are allowed to run.",
        default=UNSET,
    )


class EnterprisesEnterpriseActionsPermissionsOrganizationsGetResponse200(
    GitHubRestModel
):
    """EnterprisesEnterpriseActionsPermissionsOrganizationsGetResponse200"""

    total_count: float = Field(default=...)
    organizations: List[OrganizationSimple] = Field(default=...)


class EnterprisesEnterpriseActionsPermissionsOrganizationsPutBody(GitHubRestModel):
    """EnterprisesEnterpriseActionsPermissionsOrganizationsPutBody"""

    selected_organization_ids: List[int] = Field(
        description="List of organization IDs to enable for GitHub Actions.",
        default=...,
    )


class EnterprisesEnterpriseActionsRunnerGroupsGetResponse200(GitHubRestModel):
    """EnterprisesEnterpriseActionsRunnerGroupsGetResponse200"""

    total_count: float = Field(default=...)
    runner_groups: List[RunnerGroupsEnterprise] = Field(default=...)


class EnterprisesEnterpriseActionsRunnerGroupsPostBody(GitHubRestModel):
    """EnterprisesEnterpriseActionsRunnerGroupsPostBody"""

    name: str = Field(description="Name of the runner group.", default=...)
    visibility: Union[Unset, Literal["selected", "all"]] = Field(
        description="Visibility of a runner group. You can select all organizations or select individual organization.",
        default=UNSET,
    )
    selected_organization_ids: Union[Unset, List[int]] = Field(
        description="List of organization IDs that can access the runner group.",
        default=UNSET,
    )
    runners: Union[Unset, List[int]] = Field(
        description="List of runner IDs to add to the runner group.", default=UNSET
    )
    allows_public_repositories: Union[Unset, bool] = Field(
        description="Whether the runner group can be used by `public` repositories.",
        default=False,
    )
    restricted_to_workflows: Union[Unset, bool] = Field(
        description="If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array.",
        default=False,
    )
    selected_workflows: Union[Unset, List[str]] = Field(
        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`.",
        default=UNSET,
    )


class EnterprisesEnterpriseActionsRunnerGroupsRunnerGroupIdPatchBody(GitHubRestModel):
    """EnterprisesEnterpriseActionsRunnerGroupsRunnerGroupIdPatchBody"""

    name: Union[Unset, str] = Field(
        description="Name of the runner group.", default=UNSET
    )
    visibility: Union[Unset, Literal["selected", "all"]] = Field(
        description="Visibility of a runner group. You can select all organizations or select individual organizations.",
        default="all",
    )
    allows_public_repositories: Union[Unset, bool] = Field(
        description="Whether the runner group can be used by `public` repositories.",
        default=False,
    )
    restricted_to_workflows: Union[Unset, bool] = Field(
        description="If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array.",
        default=False,
    )
    selected_workflows: Union[Unset, List[str]] = Field(
        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`.",
        default=UNSET,
    )


class EnterprisesEnterpriseActionsRunnerGroupsRunnerGroupIdOrganizationsGetResponse200(
    GitHubRestModel
):
    """EnterprisesEnterpriseActionsRunnerGroupsRunnerGroupIdOrganizationsGetResponse200"""

    total_count: float = Field(default=...)
    organizations: List[OrganizationSimple] = Field(default=...)


class EnterprisesEnterpriseActionsRunnerGroupsRunnerGroupIdOrganizationsPutBody(
    GitHubRestModel
):
    """EnterprisesEnterpriseActionsRunnerGroupsRunnerGroupIdOrganizationsPutBody"""

    selected_organization_ids: List[int] = Field(
        description="List of organization IDs that can access the runner group.",
        default=...,
    )


class EnterprisesEnterpriseActionsRunnerGroupsRunnerGroupIdRunnersGetResponse200(
    GitHubRestModel
):
    """EnterprisesEnterpriseActionsRunnerGroupsRunnerGroupIdRunnersGetResponse200"""

    total_count: float = Field(default=...)
    runners: List[Runner] = Field(default=...)


class EnterprisesEnterpriseActionsRunnerGroupsRunnerGroupIdRunnersPutBody(
    GitHubRestModel
):
    """EnterprisesEnterpriseActionsRunnerGroupsRunnerGroupIdRunnersPutBody"""

    runners: List[int] = Field(
        description="List of runner IDs to add to the runner group.", default=...
    )


class EnterprisesEnterpriseActionsRunnersGetResponse200(GitHubRestModel):
    """EnterprisesEnterpriseActionsRunnersGetResponse200"""

    total_count: Union[Unset, float] = Field(default=UNSET)
    runners: Union[Unset, List[Runner]] = Field(default=UNSET)


class EnterprisesEnterpriseActionsRunnersRunnerIdLabelsGetResponse200(GitHubRestModel):
    """EnterprisesEnterpriseActionsRunnersRunnerIdLabelsGetResponse200"""

    total_count: int = Field(default=...)
    labels: List[RunnerLabel] = Field(default=...)


class EnterprisesEnterpriseActionsRunnersRunnerIdLabelsPutBody(GitHubRestModel):
    """EnterprisesEnterpriseActionsRunnersRunnerIdLabelsPutBody"""

    labels: List[str] = Field(
        description="The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels.",
        max_items=100,
        default=...,
    )


class EnterprisesEnterpriseActionsRunnersRunnerIdLabelsPostBody(GitHubRestModel):
    """EnterprisesEnterpriseActionsRunnersRunnerIdLabelsPostBody"""

    labels: List[str] = Field(
        description="The names of the custom labels to add to the runner.",
        max_items=100,
        min_items=1,
        default=...,
    )


class EnterprisesEnterpriseActionsRunnersRunnerIdLabelsDeleteResponse200(
    GitHubRestModel
):
    """EnterprisesEnterpriseActionsRunnersRunnerIdLabelsDeleteResponse200"""

    total_count: int = Field(default=...)
    labels: List[RunnerLabel] = Field(default=...)


class EnterprisesEnterpriseCodeScanningAlertsGetResponse503(GitHubRestModel):
    """EnterprisesEnterpriseCodeScanningAlertsGetResponse503"""

    code: Union[Unset, str] = Field(default=UNSET)
    message: Union[Unset, str] = Field(default=UNSET)
    documentation_url: Union[Unset, str] = Field(default=UNSET)


class GistsPostBody(GitHubRestModel):
    """GistsPostBody"""

    description: Union[Unset, str] = Field(
        description="Description of the gist", default=UNSET
    )
    files: GistsPostBodyPropFiles = Field(
        description="Names and content for the files that make up the gist", default=...
    )
    public: Union[Unset, Union[bool, Literal["true", "false"]]] = Field(
        description="Flag indicating whether the gist is public", default="false"
    )


class GistsPostBodyPropFiles(GitHubRestModel, extra=Extra.allow):
    """GistsPostBodyPropFiles

    Names and content for the files that make up the gist

    Examples:
        {'hello.rb': {'content': 'puts "Hello, World!"'}}
    """


class GistsGistIdGetResponse403(GitHubRestModel):
    """GistsGistIdGetResponse403"""

    block: Union[Unset, GistsGistIdGetResponse403PropBlock] = Field(default=UNSET)
    message: Union[Unset, str] = Field(default=UNSET)
    documentation_url: Union[Unset, str] = Field(default=UNSET)


class GistsGistIdGetResponse403PropBlock(GitHubRestModel):
    """GistsGistIdGetResponse403PropBlock"""

    reason: Union[Unset, str] = Field(default=UNSET)
    created_at: Union[Unset, str] = Field(default=UNSET)
    html_url: Union[Unset, Union[str, None]] = Field(default=UNSET)


class GistsGistIdPatchBodyPropFiles(GitHubRestModel, extra=Extra.allow):
    """GistsGistIdPatchBodyPropFiles

    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`.

    Examples:
        {'hello.rb': {'content': 'blah', 'filename': 'goodbye.rb'}}
    """


class GistsGistIdPatchBodyAnyof0(GitHubRestModel):
    """GistsGistIdPatchBodyAnyof0"""

    description: str = Field(description="The description of the gist.", default=...)
    files: Union[Unset, GistsGistIdPatchBodyPropFiles] = Field(
        description="The gist files to be updated, renamed, or deleted. Each `key` must match the current filename\n(including extension) of the targeted gist file. For example: `hello.py`.\n\nTo delete a file, set the whole file to null. For example: `hello.py : null`.",
        default=UNSET,
    )


class GistsGistIdPatchBodyAnyof1(GitHubRestModel):
    """GistsGistIdPatchBodyAnyof1"""

    description: Union[Unset, str] = Field(
        description="The description of the gist.", default=UNSET
    )
    files: GistsGistIdPatchBodyPropFiles = Field(
        description="The gist files to be updated, renamed, or deleted. Each `key` must match the current filename\n(including extension) of the targeted gist file. For example: `hello.py`.\n\nTo delete a file, set the whole file to null. For example: `hello.py : null`.",
        default=...,
    )


class GistsGistIdCommentsPostBody(GitHubRestModel):
    """GistsGistIdCommentsPostBody"""

    body: str = Field(description="The comment text.", max_length=65535, default=...)


class GistsGistIdCommentsCommentIdPatchBody(GitHubRestModel):
    """GistsGistIdCommentsCommentIdPatchBody"""

    body: str = Field(description="The comment text.", max_length=65535, default=...)


class GistsGistIdStarGetResponse404(GitHubRestModel):
    """GistsGistIdStarGetResponse404"""


class InstallationRepositoriesGetResponse200(GitHubRestModel):
    """InstallationRepositoriesGetResponse200"""

    total_count: int = Field(default=...)
    repositories: List[Repository] = Field(default=...)
    repository_selection: Union[Unset, str] = Field(default=UNSET)


class MarkdownPostBody(GitHubRestModel):
    """MarkdownPostBody"""

    text: str = Field(description="The Markdown text to render in HTML.", default=...)
    mode: Union[Unset, Literal["markdown", "gfm"]] = Field(
        description="The rendering mode.", default="markdown"
    )
    context: Union[Unset, str] = Field(
        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.",
        default=UNSET,
    )


class NotificationsPutBody(GitHubRestModel):
    """NotificationsPutBody"""

    last_read_at: Union[Unset, datetime] = Field(
        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.",
        default=UNSET,
    )
    read: Union[Unset, bool] = Field(
        description="Whether the notification has been read.", default=UNSET
    )


class NotificationsPutResponse202(GitHubRestModel):
    """NotificationsPutResponse202"""

    message: Union[Unset, str] = Field(default=UNSET)


class NotificationsThreadsThreadIdSubscriptionPutBody(GitHubRestModel):
    """NotificationsThreadsThreadIdSubscriptionPutBody"""

    ignored: Union[Unset, bool] = Field(
        description="Whether to block all notifications from a thread.", default=False
    )


class OrganizationsOrganizationIdCustomRolesGetResponse200(GitHubRestModel):
    """OrganizationsOrganizationIdCustomRolesGetResponse200"""

    total_count: Union[Unset, int] = Field(
        description="The number of custom roles in this organization", default=UNSET
    )
    custom_roles: Union[Unset, List[OrganizationCustomRepositoryRole]] = Field(
        default=UNSET
    )


class OrgsOrgPatchBody(GitHubRestModel):
    """OrgsOrgPatchBody"""

    billing_email: Union[Unset, str] = Field(
        description="Billing email address. This address is not publicized.",
        default=UNSET,
    )
    company: Union[Unset, str] = Field(description="The company name.", default=UNSET)
    email: Union[Unset, str] = Field(
        description="The publicly visible email address.", default=UNSET
    )
    twitter_username: Union[Unset, str] = Field(
        description="The Twitter username of the company.", default=UNSET
    )
    location: Union[Unset, str] = Field(description="The location.", default=UNSET)
    name: Union[Unset, str] = Field(
        description="The shorthand name of the company.", default=UNSET
    )
    description: Union[Unset, str] = Field(
        description="The description of the company.", default=UNSET
    )
    has_organization_projects: Union[Unset, bool] = Field(
        description="Whether an organization can use organization projects.",
        default=UNSET,
    )
    has_repository_projects: Union[Unset, bool] = Field(
        description="Whether repositories that belong to the organization can use repository projects.",
        default=UNSET,
    )
    default_repository_permission: Union[
        Unset, Literal["read", "write", "admin", "none"]
    ] = Field(
        description="Default permission level members have for organization repositories.",
        default="read",
    )
    members_can_create_repositories: Union[Unset, bool] = Field(
        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_internal_repositories: Union[Unset, bool] = Field(
        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.',
        default=UNSET,
    )
    members_can_create_private_repositories: Union[Unset, bool] = Field(
        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.',
        default=UNSET,
    )
    members_can_create_public_repositories: Union[Unset, bool] = Field(
        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.',
        default=UNSET,
    )
    members_allowed_repository_creation_type: Union[
        Unset, Literal["all", "private", "none"]
    ] = Field(
        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. \n**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.",
        default=UNSET,
    )
    members_can_create_pages: Union[Unset, bool] = Field(
        description="Whether organization members can create GitHub Pages sites. Existing published sites will not be impacted.",
        default=True,
    )
    members_can_create_public_pages: Union[Unset, bool] = Field(
        description="Whether organization members can create public GitHub Pages sites. Existing published sites will not be impacted.",
        default=True,
    )
    members_can_create_private_pages: Union[Unset, bool] = Field(
        description="Whether organization members can create private GitHub Pages sites. Existing published sites will not be impacted.",
        default=True,
    )
    members_can_fork_private_repositories: Union[Unset, bool] = Field(
        description="Whether organization members can fork private organization repositories.",
        default=False,
    )
    web_commit_signoff_required: Union[Unset, bool] = Field(
        description="Whether contributors to organization repositories are required to sign off on commits they make through GitHub's web interface.",
        default=False,
    )
    blog: Union[Unset, str] = Field(default=UNSET)
    advanced_security_enabled_for_new_repositories: Union[Unset, bool] = Field(
        description='Whether GitHub Advanced Security is automatically enabled for new repositories.\n\nTo 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)."\n\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request.',
        default=UNSET,
    )
    dependabot_alerts_enabled_for_new_repositories: Union[Unset, bool] = Field(
        description='Whether Dependabot alerts is automatically enabled for new repositories.\n\nTo 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)."\n\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request.',
        default=UNSET,
    )
    dependabot_security_updates_enabled_for_new_repositories: Union[
        Unset, bool
    ] = Field(
        description='Whether Dependabot security updates is automatically enabled for new repositories.\n\nTo 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)."\n\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request.',
        default=UNSET,
    )
    dependency_graph_enabled_for_new_repositories: Union[Unset, bool] = Field(
        description='Whether dependency graph is automatically enabled for new repositories.\n\nTo 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)."\n\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request.',
        default=UNSET,
    )
    secret_scanning_enabled_for_new_repositories: Union[Unset, bool] = Field(
        description='Whether secret scanning is automatically enabled for new repositories.\n\nTo 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)."\n\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request.',
        default=UNSET,
    )
    secret_scanning_push_protection_enabled_for_new_repositories: Union[
        Unset, bool
    ] = Field(
        description='Whether secret scanning push protection is automatically enabled for new repositories.\n\nTo 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)."\n\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request.',
        default=UNSET,
    )


class OrgsOrgActionsCacheUsageByRepositoryGetResponse200(GitHubRestModel):
    """OrgsOrgActionsCacheUsageByRepositoryGetResponse200"""

    total_count: int = Field(default=...)
    repository_cache_usages: List[ActionsCacheUsageByRepository] = Field(default=...)


class OrgsOrgActionsPermissionsPutBody(GitHubRestModel):
    """OrgsOrgActionsPermissionsPutBody"""

    enabled_repositories: Literal["all", "none", "selected"] = Field(
        description="The policy that controls the repositories in the organization that are allowed to run GitHub Actions.",
        default=...,
    )
    allowed_actions: Union[Unset, Literal["all", "local_only", "selected"]] = Field(
        description="The permissions policy that controls the actions and reusable workflows that are allowed to run.",
        default=UNSET,
    )


class OrgsOrgActionsPermissionsRepositoriesGetResponse200(GitHubRestModel):
    """OrgsOrgActionsPermissionsRepositoriesGetResponse200"""

    total_count: float = Field(default=...)
    repositories: List[Repository] = Field(default=...)


class OrgsOrgActionsPermissionsRepositoriesPutBody(GitHubRestModel):
    """OrgsOrgActionsPermissionsRepositoriesPutBody"""

    selected_repository_ids: List[int] = Field(
        description="List of repository IDs to enable for GitHub Actions.", default=...
    )


class OrgsOrgActionsRunnerGroupsGetResponse200(GitHubRestModel):
    """OrgsOrgActionsRunnerGroupsGetResponse200"""

    total_count: float = Field(default=...)
    runner_groups: List[RunnerGroupsOrg] = Field(default=...)


class OrgsOrgActionsRunnerGroupsPostBody(GitHubRestModel):
    """OrgsOrgActionsRunnerGroupsPostBody"""

    name: str = Field(description="Name of the runner group.", default=...)
    visibility: Union[Unset, Literal["selected", "all", "private"]] = Field(
        description="Visibility of a runner group. You can select all repositories, select individual repositories, or limit access to private repositories.",
        default="all",
    )
    selected_repository_ids: Union[Unset, List[int]] = Field(
        description="List of repository IDs that can access the runner group.",
        default=UNSET,
    )
    runners: Union[Unset, List[int]] = Field(
        description="List of runner IDs to add to the runner group.", default=UNSET
    )
    allows_public_repositories: Union[Unset, bool] = Field(
        description="Whether the runner group can be used by `public` repositories.",
        default=False,
    )
    restricted_to_workflows: Union[Unset, bool] = Field(
        description="If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array.",
        default=False,
    )
    selected_workflows: Union[Unset, List[str]] = Field(
        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`.",
        default=UNSET,
    )


class OrgsOrgActionsRunnerGroupsRunnerGroupIdPatchBody(GitHubRestModel):
    """OrgsOrgActionsRunnerGroupsRunnerGroupIdPatchBody"""

    name: str = Field(description="Name of the runner group.", default=...)
    visibility: Union[Unset, Literal["selected", "all", "private"]] = Field(
        description="Visibility of a runner group. You can select all repositories, select individual repositories, or all private repositories.",
        default=UNSET,
    )
    allows_public_repositories: Union[Unset, bool] = Field(
        description="Whether the runner group can be used by `public` repositories.",
        default=False,
    )
    restricted_to_workflows: Union[Unset, bool] = Field(
        description="If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array.",
        default=False,
    )
    selected_workflows: Union[Unset, List[str]] = Field(
        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`.",
        default=UNSET,
    )


class OrgsOrgActionsRunnerGroupsRunnerGroupIdRepositoriesGetResponse200(
    GitHubRestModel
):
    """OrgsOrgActionsRunnerGroupsRunnerGroupIdRepositoriesGetResponse200"""

    total_count: float = Field(default=...)
    repositories: List[MinimalRepository] = Field(default=...)


class OrgsOrgActionsRunnerGroupsRunnerGroupIdRepositoriesPutBody(GitHubRestModel):
    """OrgsOrgActionsRunnerGroupsRunnerGroupIdRepositoriesPutBody"""

    selected_repository_ids: List[int] = Field(
        description="List of repository IDs that can access the runner group.",
        default=...,
    )


class OrgsOrgActionsRunnerGroupsRunnerGroupIdRunnersGetResponse200(GitHubRestModel):
    """OrgsOrgActionsRunnerGroupsRunnerGroupIdRunnersGetResponse200"""

    total_count: float = Field(default=...)
    runners: List[Runner] = Field(default=...)


class OrgsOrgActionsRunnerGroupsRunnerGroupIdRunnersPutBody(GitHubRestModel):
    """OrgsOrgActionsRunnerGroupsRunnerGroupIdRunnersPutBody"""

    runners: List[int] = Field(
        description="List of runner IDs to add to the runner group.", default=...
    )


class OrgsOrgActionsRunnersGetResponse200(GitHubRestModel):
    """OrgsOrgActionsRunnersGetResponse200"""

    total_count: int = Field(default=...)
    runners: List[Runner] = Field(default=...)


class OrgsOrgActionsRunnersRunnerIdLabelsPutBody(GitHubRestModel):
    """OrgsOrgActionsRunnersRunnerIdLabelsPutBody"""

    labels: List[str] = Field(
        description="The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels.",
        max_items=100,
        default=...,
    )


class OrgsOrgActionsRunnersRunnerIdLabelsPostBody(GitHubRestModel):
    """OrgsOrgActionsRunnersRunnerIdLabelsPostBody"""

    labels: List[str] = Field(
        description="The names of the custom labels to add to the runner.",
        max_items=100,
        min_items=1,
        default=...,
    )


class OrgsOrgActionsSecretsGetResponse200(GitHubRestModel):
    """OrgsOrgActionsSecretsGetResponse200"""

    total_count: int = Field(default=...)
    secrets: List[OrganizationActionsSecret] = Field(default=...)


class OrgsOrgActionsSecretsSecretNamePutBody(GitHubRestModel):
    """OrgsOrgActionsSecretsSecretNamePutBody"""

    encrypted_value: Union[Unset, str] = Field(
        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.",
        regex="^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$",
        default=UNSET,
    )
    key_id: Union[Unset, str] = Field(
        description="ID of the key you used to encrypt the secret.", default=UNSET
    )
    visibility: Literal["all", "private", "selected"] = Field(
        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.",
        default=...,
    )
    selected_repository_ids: Union[Unset, List[int]] = Field(
        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.",
        default=UNSET,
    )


class OrgsOrgActionsSecretsSecretNameRepositoriesGetResponse200(GitHubRestModel):
    """OrgsOrgActionsSecretsSecretNameRepositoriesGetResponse200"""

    total_count: int = Field(default=...)
    repositories: List[MinimalRepository] = Field(default=...)


class OrgsOrgActionsSecretsSecretNameRepositoriesPutBody(GitHubRestModel):
    """OrgsOrgActionsSecretsSecretNameRepositoriesPutBody"""

    selected_repository_ids: List[int] = Field(
        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.",
        default=...,
    )


class OrgsOrgCodespacesGetResponse200(GitHubRestModel):
    """OrgsOrgCodespacesGetResponse200"""

    total_count: int = Field(default=...)
    codespaces: List[Codespace] = Field(default=...)


class OrgsOrgCodespacesBillingPutBody(GitHubRestModel):
    """OrgsOrgCodespacesBillingPutBody"""

    visibility: Literal[
        "disabled",
        "selected_members",
        "all_members",
        "all_members_and_outside_collaborators",
    ] = Field(
        description="Which users can access codespaces in the organization. `disabled` means that no users can access codespaces in the organization.",
        default=...,
    )
    selected_usernames: Union[Unset, List[str]] = Field(
        description="The usernames of the organization members who should be granted access to codespaces in the organization. Required when `visibility` is `selected_members`.",
        default=UNSET,
    )


class OrgsOrgCodespacesSecretsGetResponse200(GitHubRestModel):
    """OrgsOrgCodespacesSecretsGetResponse200"""

    total_count: int = Field(default=...)
    secrets: List[CodespacesOrgSecret] = Field(default=...)


class OrgsOrgCodespacesSecretsSecretNamePutBody(GitHubRestModel):
    """OrgsOrgCodespacesSecretsSecretNamePutBody"""

    encrypted_value: Union[Unset, str] = Field(
        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.",
        regex="^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$",
        default=UNSET,
    )
    key_id: Union[Unset, str] = Field(
        description="The ID of the key you used to encrypt the secret.", default=UNSET
    )
    visibility: Literal["all", "private", "selected"] = Field(
        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.",
        default=...,
    )
    selected_repository_ids: Union[Unset, List[int]] = Field(
        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.",
        default=UNSET,
    )


class OrgsOrgCodespacesSecretsSecretNameRepositoriesGetResponse200(GitHubRestModel):
    """OrgsOrgCodespacesSecretsSecretNameRepositoriesGetResponse200"""

    total_count: int = Field(default=...)
    repositories: List[MinimalRepository] = Field(default=...)


class OrgsOrgCodespacesSecretsSecretNameRepositoriesPutBody(GitHubRestModel):
    """OrgsOrgCodespacesSecretsSecretNameRepositoriesPutBody"""

    selected_repository_ids: List[int] = Field(
        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.",
        default=...,
    )


class OrgsOrgCustomRolesPostBody(GitHubRestModel):
    """OrgsOrgCustomRolesPostBody"""

    name: str = Field(description="The name of the custom role.", default=...)
    description: Union[Unset, str] = Field(
        description="A short description about the intended usage of this role or what permissions it grants.",
        default=UNSET,
    )
    base_role: Literal["read", "triage", "write", "maintain"] = Field(
        description="The system role from which this role inherits permissions.",
        default=...,
    )
    permissions: List[str] = Field(
        description="A list of additional permissions included in this role.",
        default=...,
    )


class OrgsOrgCustomRolesRoleIdPatchBody(GitHubRestModel):
    """OrgsOrgCustomRolesRoleIdPatchBody"""

    name: Union[Unset, str] = Field(
        description="The name of the custom role.", default=UNSET
    )
    description: Union[Unset, str] = Field(
        description="A short description about who this role is for or what permissions it grants.",
        default=UNSET,
    )
    base_role: Union[Unset, Literal["read", "triage", "write", "maintain"]] = Field(
        description="The system role from which this role inherits permissions.",
        default=UNSET,
    )
    permissions: Union[Unset, List[str]] = Field(
        description="A list of additional permissions included in this role. If specified, these permissions will replace any currently set on the role.",
        default=UNSET,
    )


class OrgsOrgDependabotSecretsGetResponse200(GitHubRestModel):
    """OrgsOrgDependabotSecretsGetResponse200"""

    total_count: int = Field(default=...)
    secrets: List[OrganizationDependabotSecret] = Field(default=...)


class OrgsOrgDependabotSecretsSecretNamePutBody(GitHubRestModel):
    """OrgsOrgDependabotSecretsSecretNamePutBody"""

    encrypted_value: Union[Unset, str] = Field(
        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.",
        regex="^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$",
        default=UNSET,
    )
    key_id: Union[Unset, str] = Field(
        description="ID of the key you used to encrypt the secret.", default=UNSET
    )
    visibility: Literal["all", "private", "selected"] = Field(
        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.",
        default=...,
    )
    selected_repository_ids: Union[Unset, List[str]] = Field(
        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.",
        default=UNSET,
    )


class OrgsOrgDependabotSecretsSecretNameRepositoriesGetResponse200(GitHubRestModel):
    """OrgsOrgDependabotSecretsSecretNameRepositoriesGetResponse200"""

    total_count: int = Field(default=...)
    repositories: List[MinimalRepository] = Field(default=...)


class OrgsOrgDependabotSecretsSecretNameRepositoriesPutBody(GitHubRestModel):
    """OrgsOrgDependabotSecretsSecretNameRepositoriesPutBody"""

    selected_repository_ids: List[int] = Field(
        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.",
        default=...,
    )


class OrgsOrgHooksPostBody(GitHubRestModel):
    """OrgsOrgHooksPostBody"""

    name: str = Field(description='Must be passed as "web".', default=...)
    config: OrgsOrgHooksPostBodyPropConfig = Field(
        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).",
        default=...,
    )
    events: Union[Unset, List[str]] = Field(
        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"],
    )
    active: Union[Unset, bool] = Field(
        description="Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications.",
        default=True,
    )


class OrgsOrgHooksPostBodyPropConfig(GitHubRestModel):
    """OrgsOrgHooksPostBodyPropConfig

    Key/value pairs to provide settings for this webhook. [These are defined
    below](https://docs.github.com/rest/reference/orgs#create-hook-config-params).
    """

    url: str = Field(
        description="The URL to which the payloads will be delivered.", default=...
    )
    content_type: Union[Unset, str] = Field(
        description="The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`.",
        default=UNSET,
    )
    secret: Union[Unset, str] = Field(
        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).",
        default=UNSET,
    )
    insecure_ssl: Union[Unset, Union[str, float]] = Field(
        description="Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**",
        default=UNSET,
    )
    username: Union[Unset, str] = Field(default=UNSET)
    password: Union[Unset, str] = Field(default=UNSET)


class OrgsOrgHooksHookIdPatchBody(GitHubRestModel):
    """OrgsOrgHooksHookIdPatchBody"""

    config: Union[Unset, OrgsOrgHooksHookIdPatchBodyPropConfig] = Field(
        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).",
        default=UNSET,
    )
    events: Union[Unset, List[str]] = Field(
        description="Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for.",
        default=["push"],
    )
    active: Union[Unset, bool] = Field(
        description="Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications.",
        default=True,
    )
    name: Union[Unset, str] = Field(default=UNSET)


class OrgsOrgHooksHookIdPatchBodyPropConfig(GitHubRestModel):
    """OrgsOrgHooksHookIdPatchBodyPropConfig

    Key/value pairs to provide settings for this webhook. [These are defined
    below](https://docs.github.com/rest/reference/orgs#update-hook-config-params).
    """

    url: str = Field(
        description="The URL to which the payloads will be delivered.", default=...
    )
    content_type: Union[Unset, str] = Field(
        description="The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`.",
        default=UNSET,
    )
    secret: Union[Unset, str] = Field(
        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).",
        default=UNSET,
    )
    insecure_ssl: Union[Unset, Union[str, float]] = Field(
        description="Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**",
        default=UNSET,
    )


class OrgsOrgHooksHookIdConfigPatchBody(GitHubRestModel):
    """OrgsOrgHooksHookIdConfigPatchBody"""

    url: Union[Unset, str] = Field(
        description="The URL to which the payloads will be delivered.", default=UNSET
    )
    content_type: Union[Unset, str] = Field(
        description="The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`.",
        default=UNSET,
    )
    secret: Union[Unset, str] = Field(
        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).",
        default=UNSET,
    )
    insecure_ssl: Union[Unset, Union[str, float]] = Field(
        description="Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**",
        default=UNSET,
    )


class OrgsOrgInstallationsGetResponse200(GitHubRestModel):
    """OrgsOrgInstallationsGetResponse200"""

    total_count: int = Field(default=...)
    installations: List[Installation] = Field(default=...)


class OrgsOrgInteractionLimitsGetResponse200Anyof1(GitHubRestModel):
    """OrgsOrgInteractionLimitsGetResponse200Anyof1"""


class OrgsOrgInvitationsPostBody(GitHubRestModel):
    """OrgsOrgInvitationsPostBody"""

    invitee_id: Union[Unset, int] = Field(
        description="**Required unless you provide `email`**. GitHub user ID for the person you are inviting.",
        default=UNSET,
    )
    email: Union[Unset, str] = Field(
        description="**Required unless you provide `invitee_id`**. Email address of the person you are inviting, which can be an existing GitHub user.",
        default=UNSET,
    )
    role: Union[Unset, Literal["admin", "direct_member", "billing_manager"]] = Field(
        description="The role for the new member. \n\\* `admin` - Organization owners with full administrative rights to the organization and complete access to all repositories and teams.  \n\\* `direct_member` - Non-owner organization members with ability to see other members and join teams by invitation.  \n\\* `billing_manager` - Non-owner organization members with ability to manage the billing settings of your organization.",
        default="direct_member",
    )
    team_ids: Union[Unset, List[int]] = Field(
        description="Specify IDs for the teams you want to invite new members to.",
        default=UNSET,
    )


class OrgsOrgMembersUsernameCodespacesGetResponse200(GitHubRestModel):
    """OrgsOrgMembersUsernameCodespacesGetResponse200"""

    total_count: int = Field(default=...)
    codespaces: List[Codespace] = Field(default=...)


class OrgsOrgMembershipsUsernamePutBody(GitHubRestModel):
    """OrgsOrgMembershipsUsernamePutBody"""

    role: Union[Unset, Literal["admin", "member"]] = Field(
        description="The role to give the user in the organization. Can be one of:  \n\\* `admin` - The user will become an owner of the organization.  \n\\* `member` - The user will become a non-owner member of the organization.",
        default="member",
    )


class OrgsOrgMigrationsPostBody(GitHubRestModel):
    """OrgsOrgMigrationsPostBody"""

    repositories: List[str] = Field(
        description="A list of arrays indicating which repositories should be migrated.",
        default=...,
    )
    lock_repositories: Union[Unset, bool] = Field(
        description="Indicates whether repositories should be locked (to prevent manipulation) while migrating data.",
        default=False,
    )
    exclude_metadata: Union[Unset, bool] = Field(
        description="Indicates whether metadata should be excluded and only git source should be included for the migration.",
        default=False,
    )
    exclude_git_data: Union[Unset, bool] = Field(
        description="Indicates whether the repository git data should be excluded from the migration.",
        default=False,
    )
    exclude_attachments: Union[Unset, bool] = Field(
        description="Indicates whether attachments should be excluded from the migration (to reduce migration archive file size).",
        default=False,
    )
    exclude_releases: Union[Unset, bool] = Field(
        description="Indicates whether releases should be excluded from the migration (to reduce migration archive file size).",
        default=False,
    )
    exclude_owner_projects: Union[Unset, bool] = Field(
        description="Indicates whether projects owned by the organization or users should be excluded. from the migration.",
        default=False,
    )
    org_metadata_only: Union[Unset, bool] = Field(
        description="Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags).",
        default=False,
    )
    exclude: Union[Unset, List[Literal["repositories"]]] = Field(
        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"`.',
        default=UNSET,
    )


class OrgsOrgOutsideCollaboratorsUsernamePutBody(GitHubRestModel):
    """OrgsOrgOutsideCollaboratorsUsernamePutBody"""

    async_: Union[Unset, bool] = Field(
        description="When set to `true`, the request will be performed asynchronously. Returns a 202 status code when the job is successfully queued.",
        default=False,
        alias="async",
    )


class OrgsOrgOutsideCollaboratorsUsernamePutResponse202(GitHubRestModel):
    """OrgsOrgOutsideCollaboratorsUsernamePutResponse202"""


class OrgsOrgOutsideCollaboratorsUsernameDeleteResponse422(GitHubRestModel):
    """OrgsOrgOutsideCollaboratorsUsernameDeleteResponse422"""

    message: Union[Unset, str] = Field(default=UNSET)
    documentation_url: Union[Unset, str] = Field(default=UNSET)


class OrgsOrgProjectsPostBody(GitHubRestModel):
    """OrgsOrgProjectsPostBody"""

    name: str = Field(description="The name of the project.", default=...)
    body: Union[Unset, str] = Field(
        description="The description of the project.", default=UNSET
    )


class OrgsOrgReposPostBody(GitHubRestModel):
    """OrgsOrgReposPostBody"""

    name: str = Field(description="The name of the repository.", default=...)
    description: Union[Unset, str] = Field(
        description="A short description of the repository.", default=UNSET
    )
    homepage: Union[Unset, str] = Field(
        description="A URL with more information about the repository.", default=UNSET
    )
    private: Union[Unset, bool] = Field(
        description="Whether the repository is private.", default=False
    )
    visibility: Union[Unset, Literal["public", "private", "internal"]] = Field(
        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/en/github/creating-cloning-and-archiving-repositories/about-repository-visibility#about-internal-repositories)" in the GitHub Help documentation.',
        default=UNSET,
    )
    has_issues: Union[Unset, bool] = Field(
        description="Either `true` to enable issues for this repository or `false` to disable them.",
        default=True,
    )
    has_projects: Union[Unset, bool] = Field(
        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_wiki: Union[Unset, bool] = Field(
        description="Either `true` to enable the wiki for this repository or `false` to disable it.",
        default=True,
    )
    is_template: Union[Unset, bool] = Field(
        description="Either `true` to make this repo available as a template repository or `false` to prevent it.",
        default=False,
    )
    team_id: Union[Unset, int] = Field(
        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.",
        default=UNSET,
    )
    auto_init: Union[Unset, bool] = Field(
        description="Pass `true` to create an initial commit with empty README.",
        default=False,
    )
    gitignore_template: Union[Unset, str] = Field(
        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".',
        default=UNSET,
    )
    license_template: Union[Unset, str] = Field(
        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".',
        default=UNSET,
    )
    allow_squash_merge: Union[Unset, bool] = Field(
        description="Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging.",
        default=True,
    )
    allow_merge_commit: Union[Unset, bool] = Field(
        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_rebase_merge: Union[Unset, bool] = Field(
        description="Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging.",
        default=True,
    )
    allow_auto_merge: Union[Unset, bool] = Field(
        description="Either `true` to allow auto-merge on pull requests, or `false` to disallow auto-merge.",
        default=False,
    )
    delete_branch_on_merge: Union[Unset, bool] = Field(
        description="Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion.",
        default=False,
    )
    use_squash_pr_title_as_default: Union[Unset, bool] = Field(
        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,
    )
    squash_merge_commit_title: Union[
        Unset, Literal["PR_TITLE", "COMMIT_OR_PR_TITLE"]
    ] = Field(
        description="The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `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).",
        default=UNSET,
    )
    squash_merge_commit_message: Union[
        Unset, Literal["PR_BODY", "COMMIT_MESSAGES", "BLANK"]
    ] = Field(
        description="The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message.",
        default=UNSET,
    )
    merge_commit_title: Union[Unset, Literal["PR_TITLE", "MERGE_MESSAGE"]] = Field(
        description="The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name).",
        default=UNSET,
    )
    merge_commit_message: Union[Unset, Literal["PR_BODY", "PR_TITLE", "BLANK"]] = Field(
        description="The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message.",
        default=UNSET,
    )


class OrgsOrgTeamsPostBody(GitHubRestModel):
    """OrgsOrgTeamsPostBody"""

    name: str = Field(description="The name of the team.", default=...)
    description: Union[Unset, str] = Field(
        description="The description of the team.", default=UNSET
    )
    maintainers: Union[Unset, List[str]] = Field(
        description="List GitHub IDs for organization members who will become team maintainers.",
        default=UNSET,
    )
    repo_names: Union[Unset, List[str]] = Field(
        description='The full name (e.g., "organization-name/repository-name") of repositories to add the team to.',
        default=UNSET,
    )
    privacy: Union[Unset, Literal["secret", "closed"]] = Field(
        description="The level of privacy this team should have. The options are:  \n**For a non-nested team:**  \n\\* `secret` - only visible to organization owners and members of this team.  \n\\* `closed` - visible to all members of this organization.  \nDefault: `secret`  \n**For a parent or child team:**  \n\\* `closed` - visible to all members of this organization.  \nDefault for child team: `closed`",
        default=UNSET,
    )
    permission: Union[Unset, Literal["pull", "push"]] = Field(
        description="**Deprecated**. The permission that new repositories will be added to the team with when none is specified.",
        default="pull",
    )
    parent_team_id: Union[Unset, int] = Field(
        description="The ID of a team to set as the parent team.", default=UNSET
    )


class OrgsOrgTeamsTeamSlugPatchBody(GitHubRestModel):
    """OrgsOrgTeamsTeamSlugPatchBody"""

    name: Union[Unset, str] = Field(description="The name of the team.", default=UNSET)
    description: Union[Unset, str] = Field(
        description="The description of the team.", default=UNSET
    )
    privacy: Union[Unset, Literal["secret", "closed"]] = Field(
        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:  \n**For a non-nested team:**  \n\\* `secret` - only visible to organization owners and members of this team.  \n\\* `closed` - visible to all members of this organization.  \n**For a parent or child team:**  \n\\* `closed` - visible to all members of this organization.",
        default=UNSET,
    )
    permission: Union[Unset, Literal["pull", "push", "admin"]] = Field(
        description="**Deprecated**. The permission that new repositories will be added to the team with when none is specified.",
        default="pull",
    )
    parent_team_id: Union[Unset, Union[int, None]] = Field(
        description="The ID of a team to set as the parent team.", default=UNSET
    )


class OrgsOrgTeamsTeamSlugDiscussionsPostBody(GitHubRestModel):
    """OrgsOrgTeamsTeamSlugDiscussionsPostBody"""

    title: str = Field(description="The discussion post's title.", default=...)
    body: str = Field(description="The discussion post's body text.", default=...)
    private: Union[Unset, bool] = Field(
        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,
    )


class OrgsOrgTeamsTeamSlugDiscussionsDiscussionNumberPatchBody(GitHubRestModel):
    """OrgsOrgTeamsTeamSlugDiscussionsDiscussionNumberPatchBody"""

    title: Union[Unset, str] = Field(
        description="The discussion post's title.", default=UNSET
    )
    body: Union[Unset, str] = Field(
        description="The discussion post's body text.", default=UNSET
    )


class OrgsOrgTeamsTeamSlugDiscussionsDiscussionNumberCommentsPostBody(GitHubRestModel):
    """OrgsOrgTeamsTeamSlugDiscussionsDiscussionNumberCommentsPostBody"""

    body: str = Field(description="The discussion comment's body text.", default=...)


class OrgsOrgTeamsTeamSlugDiscussionsDiscussionNumberCommentsCommentNumberPatchBody(
    GitHubRestModel
):
    """OrgsOrgTeamsTeamSlugDiscussionsDiscussionNumberCommentsCommentNumberPatchBody"""

    body: str = Field(description="The discussion comment's body text.", default=...)


class OrgsOrgTeamsTeamSlugDiscussionsDiscussionNumberCommentsCommentNumberReactionsPostBody(
    GitHubRestModel
):
    """OrgsOrgTeamsTeamSlugDiscussionsDiscussionNumberCommentsCommentNumberReactionsPos
    tBody
    """

    content: Literal[
        "+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"
    ] = Field(
        description="The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion comment.",
        default=...,
    )


class OrgsOrgTeamsTeamSlugDiscussionsDiscussionNumberReactionsPostBody(GitHubRestModel):
    """OrgsOrgTeamsTeamSlugDiscussionsDiscussionNumberReactionsPostBody"""

    content: Literal[
        "+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"
    ] = Field(
        description="The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion.",
        default=...,
    )


class OrgsOrgTeamsTeamSlugMembershipsUsernamePutBody(GitHubRestModel):
    """OrgsOrgTeamsTeamSlugMembershipsUsernamePutBody"""

    role: Union[Unset, Literal["member", "maintainer"]] = Field(
        description="The role that this user should have in the team.", default="member"
    )


class OrgsOrgTeamsTeamSlugProjectsProjectIdPutBody(GitHubRestModel):
    """OrgsOrgTeamsTeamSlugProjectsProjectIdPutBody"""

    permission: Union[Unset, Literal["read", "write", "admin"]] = Field(
        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).\"",
        default=UNSET,
    )


class OrgsOrgTeamsTeamSlugProjectsProjectIdPutResponse403(GitHubRestModel):
    """OrgsOrgTeamsTeamSlugProjectsProjectIdPutResponse403"""

    message: Union[Unset, str] = Field(default=UNSET)
    documentation_url: Union[Unset, str] = Field(default=UNSET)


class OrgsOrgTeamsTeamSlugReposOwnerRepoPutBody(GitHubRestModel):
    """OrgsOrgTeamsTeamSlugReposOwnerRepoPutBody"""

    permission: Union[Unset, str] = Field(
        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",
    )


class ProjectsColumnsCardsCardIdDeleteResponse403(GitHubRestModel):
    """ProjectsColumnsCardsCardIdDeleteResponse403"""

    message: Union[Unset, str] = Field(default=UNSET)
    documentation_url: Union[Unset, str] = Field(default=UNSET)
    errors: Union[Unset, List[str]] = Field(default=UNSET)


class ProjectsColumnsCardsCardIdPatchBody(GitHubRestModel):
    """ProjectsColumnsCardsCardIdPatchBody"""

    note: Union[Unset, Union[str, None]] = Field(
        description="The project card's note", default=UNSET
    )
    archived: Union[Unset, bool] = Field(
        description="Whether or not the card is archived", default=UNSET
    )


class ProjectsColumnsCardsCardIdMovesPostBody(GitHubRestModel):
    """ProjectsColumnsCardsCardIdMovesPostBody"""

    position: str = Field(
        description="The position of the card in a column. Can be one of: `top`, `bottom`, or `after:<card_id>` to place after the specified card.",
        regex="^(?:top|bottom|after:\\d+)$",
        default=...,
    )
    column_id: Union[Unset, int] = Field(
        description="The unique identifier of the column the card should be moved to",
        default=UNSET,
    )


class ProjectsColumnsCardsCardIdMovesPostResponse201(GitHubRestModel):
    """ProjectsColumnsCardsCardIdMovesPostResponse201"""


class ProjectsColumnsCardsCardIdMovesPostResponse403(GitHubRestModel):
    """ProjectsColumnsCardsCardIdMovesPostResponse403"""

    message: Union[Unset, str] = Field(default=UNSET)
    documentation_url: Union[Unset, str] = Field(default=UNSET)
    errors: Union[
        Unset, List[ProjectsColumnsCardsCardIdMovesPostResponse403PropErrorsItems]
    ] = Field(default=UNSET)


class ProjectsColumnsCardsCardIdMovesPostResponse403PropErrorsItems(GitHubRestModel):
    """ProjectsColumnsCardsCardIdMovesPostResponse403PropErrorsItems"""

    code: Union[Unset, str] = Field(default=UNSET)
    message: Union[Unset, str] = Field(default=UNSET)
    resource: Union[Unset, str] = Field(default=UNSET)
    field: Union[Unset, str] = Field(default=UNSET)


class ProjectsColumnsCardsCardIdMovesPostResponse503(GitHubRestModel):
    """ProjectsColumnsCardsCardIdMovesPostResponse503"""

    code: Union[Unset, str] = Field(default=UNSET)
    message: Union[Unset, str] = Field(default=UNSET)
    documentation_url: Union[Unset, str] = Field(default=UNSET)
    errors: Union[
        Unset, List[ProjectsColumnsCardsCardIdMovesPostResponse503PropErrorsItems]
    ] = Field(default=UNSET)


class ProjectsColumnsCardsCardIdMovesPostResponse503PropErrorsItems(GitHubRestModel):
    """ProjectsColumnsCardsCardIdMovesPostResponse503PropErrorsItems"""

    code: Union[Unset, str] = Field(default=UNSET)
    message: Union[Unset, str] = Field(default=UNSET)


class ProjectsColumnsColumnIdPatchBody(GitHubRestModel):
    """ProjectsColumnsColumnIdPatchBody"""

    name: str = Field(description="Name of the project column", default=...)


class ProjectsColumnsColumnIdCardsPostBodyOneof0(GitHubRestModel):
    """ProjectsColumnsColumnIdCardsPostBodyOneof0"""

    note: Union[str, None] = Field(description="The project card's note", default=...)


class ProjectsColumnsColumnIdCardsPostBodyOneof1(GitHubRestModel):
    """ProjectsColumnsColumnIdCardsPostBodyOneof1"""

    content_id: int = Field(
        description="The unique identifier of the content associated with the card",
        default=...,
    )
    content_type: str = Field(
        description="The piece of content associated with the card", default=...
    )


class ProjectsColumnsColumnIdCardsPostResponse503(GitHubRestModel):
    """ProjectsColumnsColumnIdCardsPostResponse503"""

    code: Union[Unset, str] = Field(default=UNSET)
    message: Union[Unset, str] = Field(default=UNSET)
    documentation_url: Union[Unset, str] = Field(default=UNSET)
    errors: Union[
        Unset, List[ProjectsColumnsColumnIdCardsPostResponse503PropErrorsItems]
    ] = Field(default=UNSET)


class ProjectsColumnsColumnIdCardsPostResponse503PropErrorsItems(GitHubRestModel):
    """ProjectsColumnsColumnIdCardsPostResponse503PropErrorsItems"""

    code: Union[Unset, str] = Field(default=UNSET)
    message: Union[Unset, str] = Field(default=UNSET)


class ProjectsColumnsColumnIdMovesPostBody(GitHubRestModel):
    """ProjectsColumnsColumnIdMovesPostBody"""

    position: str = Field(
        description="The position of the column in a project. Can be one of: `first`, `last`, or `after:<column_id>` to place after the specified column.",
        regex="^(?:first|last|after:\\d+)$",
        default=...,
    )


class ProjectsColumnsColumnIdMovesPostResponse201(GitHubRestModel):
    """ProjectsColumnsColumnIdMovesPostResponse201"""


class ProjectsProjectIdDeleteResponse403(GitHubRestModel):
    """ProjectsProjectIdDeleteResponse403"""

    message: Union[Unset, str] = Field(default=UNSET)
    documentation_url: Union[Unset, str] = Field(default=UNSET)
    errors: Union[Unset, List[str]] = Field(default=UNSET)


class ProjectsProjectIdPatchBody(GitHubRestModel):
    """ProjectsProjectIdPatchBody"""

    name: Union[Unset, str] = Field(description="Name of the project", default=UNSET)
    body: Union[Unset, Union[str, None]] = Field(
        description="Body of the project", default=UNSET
    )
    state: Union[Unset, str] = Field(
        description="State of the project; either 'open' or 'closed'", default=UNSET
    )
    organization_permission: Union[
        Unset, Literal["read", "write", "admin", "none"]
    ] = Field(
        description="The baseline permission that all organization members have on this project",
        default=UNSET,
    )
    private: Union[Unset, bool] = Field(
        description="Whether or not this project can be seen by everyone.",
        default=UNSET,
    )


class ProjectsProjectIdPatchResponse403(GitHubRestModel):
    """ProjectsProjectIdPatchResponse403"""

    message: Union[Unset, str] = Field(default=UNSET)
    documentation_url: Union[Unset, str] = Field(default=UNSET)
    errors: Union[Unset, List[str]] = Field(default=UNSET)


class ProjectsProjectIdCollaboratorsUsernamePutBody(GitHubRestModel):
    """ProjectsProjectIdCollaboratorsUsernamePutBody"""

    permission: Union[Unset, Literal["read", "write", "admin"]] = Field(
        description="The permission to grant the collaborator.", default="write"
    )


class ProjectsProjectIdColumnsPostBody(GitHubRestModel):
    """ProjectsProjectIdColumnsPostBody"""

    name: str = Field(description="Name of the project column", default=...)


class ReposOwnerRepoDeleteResponse403(GitHubRestModel):
    """ReposOwnerRepoDeleteResponse403"""

    message: Union[Unset, str] = Field(default=UNSET)
    documentation_url: Union[Unset, str] = Field(default=UNSET)


class ReposOwnerRepoPatchBody(GitHubRestModel):
    """ReposOwnerRepoPatchBody"""

    name: Union[Unset, str] = Field(
        description="The name of the repository.", default=UNSET
    )
    description: Union[Unset, str] = Field(
        description="A short description of the repository.", default=UNSET
    )
    homepage: Union[Unset, str] = Field(
        description="A URL with more information about the repository.", default=UNSET
    )
    private: Union[Unset, bool] = Field(
        description="Either `true` to make the repository private or `false` to make it public. Default: `false`.  \n**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,
    )
    visibility: Union[Unset, Literal["public", "private", "internal"]] = Field(
        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`."',
        default=UNSET,
    )
    security_and_analysis: Union[
        Unset, Union[ReposOwnerRepoPatchBodyPropSecurityAndAnalysis, None]
    ] = Field(
        description='Specify which security and analysis features to enable or disable for the repository.\n\nTo 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)."\n\nFor example, to enable GitHub Advanced Security, use this data in the body of the `PATCH` request:\n`{ "security_and_analysis": {"advanced_security": { "status": "enabled" } } }`.\n\nYou can check which security and analysis features are currently enabled by using a `GET /repos/{owner}/{repo}` request.',
        default=UNSET,
    )
    has_issues: Union[Unset, bool] = Field(
        description="Either `true` to enable issues for this repository or `false` to disable them.",
        default=True,
    )
    has_projects: Union[Unset, bool] = Field(
        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_wiki: Union[Unset, bool] = Field(
        description="Either `true` to enable the wiki for this repository or `false` to disable it.",
        default=True,
    )
    is_template: Union[Unset, bool] = Field(
        description="Either `true` to make this repo available as a template repository or `false` to prevent it.",
        default=False,
    )
    default_branch: Union[Unset, str] = Field(
        description="Updates the default branch for this repository.", default=UNSET
    )
    allow_squash_merge: Union[Unset, bool] = Field(
        description="Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging.",
        default=True,
    )
    allow_merge_commit: Union[Unset, bool] = Field(
        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_rebase_merge: Union[Unset, bool] = Field(
        description="Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging.",
        default=True,
    )
    allow_auto_merge: Union[Unset, bool] = Field(
        description="Either `true` to allow auto-merge on pull requests, or `false` to disallow auto-merge.",
        default=False,
    )
    delete_branch_on_merge: Union[Unset, bool] = Field(
        description="Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion.",
        default=False,
    )
    allow_update_branch: Union[Unset, bool] = Field(
        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,
    )
    use_squash_pr_title_as_default: Union[Unset, bool] = Field(
        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,
    )
    squash_merge_commit_title: Union[
        Unset, Literal["PR_TITLE", "COMMIT_OR_PR_TITLE"]
    ] = Field(
        description="The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `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).",
        default=UNSET,
    )
    squash_merge_commit_message: Union[
        Unset, Literal["PR_BODY", "COMMIT_MESSAGES", "BLANK"]
    ] = Field(
        description="The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message.",
        default=UNSET,
    )
    merge_commit_title: Union[Unset, Literal["PR_TITLE", "MERGE_MESSAGE"]] = Field(
        description="The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name).",
        default=UNSET,
    )
    merge_commit_message: Union[Unset, Literal["PR_BODY", "PR_TITLE", "BLANK"]] = Field(
        description="The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message.",
        default=UNSET,
    )
    archived: Union[Unset, bool] = Field(
        description="`true` to archive this repository. **Note**: You cannot unarchive repositories through the API.",
        default=False,
    )
    allow_forking: Union[Unset, bool] = Field(
        description="Either `true` to allow private forks, or `false` to prevent private forks.",
        default=False,
    )
    web_commit_signoff_required: Union[Unset, bool] = Field(
        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,
    )


class ReposOwnerRepoPatchBodyPropSecurityAndAnalysisPropAdvancedSecurity(
    GitHubRestModel
):
    """ReposOwnerRepoPatchBodyPropSecurityAndAnalysisPropAdvancedSecurity

    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)."
    """

    status: Union[Unset, str] = Field(
        description="Can be `enabled` or `disabled`.", default=UNSET
    )


class ReposOwnerRepoPatchBodyPropSecurityAndAnalysisPropSecretScanning(GitHubRestModel):
    """ReposOwnerRepoPatchBodyPropSecurityAndAnalysisPropSecretScanning

    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)."
    """

    status: Union[Unset, str] = Field(
        description="Can be `enabled` or `disabled`.", default=UNSET
    )


class ReposOwnerRepoPatchBodyPropSecurityAndAnalysisPropSecretScanningPushProtection(
    GitHubRestModel
):
    """ReposOwnerRepoPatchBodyPropSecurityAndAnalysisPropSecretScanningPushProtection

    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)."
    """

    status: Union[Unset, str] = Field(
        description="Can be `enabled` or `disabled`.", default=UNSET
    )


class ReposOwnerRepoPatchBodyPropSecurityAndAnalysis(GitHubRestModel):
    """ReposOwnerRepoPatchBodyPropSecurityAndAnalysis

    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.
    """

    advanced_security: Union[
        Unset, ReposOwnerRepoPatchBodyPropSecurityAndAnalysisPropAdvancedSecurity
    ] = Field(
        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)."',
        default=UNSET,
    )
    secret_scanning: Union[
        Unset, ReposOwnerRepoPatchBodyPropSecurityAndAnalysisPropSecretScanning
    ] = Field(
        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)."',
        default=UNSET,
    )
    secret_scanning_push_protection: Union[
        Unset,
        ReposOwnerRepoPatchBodyPropSecurityAndAnalysisPropSecretScanningPushProtection,
    ] = Field(
        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)."',
        default=UNSET,
    )


class ReposOwnerRepoActionsArtifactsGetResponse200(GitHubRestModel):
    """ReposOwnerRepoActionsArtifactsGetResponse200"""

    total_count: int = Field(default=...)
    artifacts: List[Artifact] = Field(default=...)


class ReposOwnerRepoActionsJobsJobIdRerunPostBody(GitHubRestModel):
    """ReposOwnerRepoActionsJobsJobIdRerunPostBody"""

    enable_debug_logging: Union[Unset, bool] = Field(
        description="Whether to enable debug logging for the re-run.", default=False
    )


class ReposOwnerRepoActionsPermissionsPutBody(GitHubRestModel):
    """ReposOwnerRepoActionsPermissionsPutBody"""

    enabled: bool = Field(
        description="Whether GitHub Actions is enabled on the repository.", default=...
    )
    allowed_actions: Union[Unset, Literal["all", "local_only", "selected"]] = Field(
        description="The permissions policy that controls the actions and reusable workflows that are allowed to run.",
        default=UNSET,
    )


class ReposOwnerRepoActionsRunnersGetResponse200(GitHubRestModel):
    """ReposOwnerRepoActionsRunnersGetResponse200"""

    total_count: int = Field(default=...)
    runners: List[Runner] = Field(default=...)


class ReposOwnerRepoActionsRunnersRunnerIdLabelsPutBody(GitHubRestModel):
    """ReposOwnerRepoActionsRunnersRunnerIdLabelsPutBody"""

    labels: List[str] = Field(
        description="The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels.",
        max_items=100,
        default=...,
    )


class ReposOwnerRepoActionsRunnersRunnerIdLabelsPostBody(GitHubRestModel):
    """ReposOwnerRepoActionsRunnersRunnerIdLabelsPostBody"""

    labels: List[str] = Field(
        description="The names of the custom labels to add to the runner.",
        max_items=100,
        min_items=1,
        default=...,
    )


class ReposOwnerRepoActionsRunsGetResponse200(GitHubRestModel):
    """ReposOwnerRepoActionsRunsGetResponse200"""

    total_count: int = Field(default=...)
    workflow_runs: List[WorkflowRun] = Field(default=...)


class ReposOwnerRepoActionsRunsRunIdArtifactsGetResponse200(GitHubRestModel):
    """ReposOwnerRepoActionsRunsRunIdArtifactsGetResponse200"""

    total_count: int = Field(default=...)
    artifacts: List[Artifact] = Field(default=...)


class ReposOwnerRepoActionsRunsRunIdAttemptsAttemptNumberJobsGetResponse200(
    GitHubRestModel
):
    """ReposOwnerRepoActionsRunsRunIdAttemptsAttemptNumberJobsGetResponse200"""

    total_count: int = Field(default=...)
    jobs: List[Job] = Field(default=...)


class ReposOwnerRepoActionsRunsRunIdJobsGetResponse200(GitHubRestModel):
    """ReposOwnerRepoActionsRunsRunIdJobsGetResponse200"""

    total_count: int = Field(default=...)
    jobs: List[Job] = Field(default=...)


class ReposOwnerRepoActionsRunsRunIdPendingDeploymentsPostBody(GitHubRestModel):
    """ReposOwnerRepoActionsRunsRunIdPendingDeploymentsPostBody"""

    environment_ids: List[int] = Field(
        description="The list of environment ids to approve or reject", default=...
    )
    state: Literal["approved", "rejected"] = Field(
        description="Whether to approve or reject deployment to the specified environments.",
        default=...,
    )
    comment: str = Field(
        description="A comment to accompany the deployment review", default=...
    )


class ReposOwnerRepoActionsRunsRunIdRerunPostBody(GitHubRestModel):
    """ReposOwnerRepoActionsRunsRunIdRerunPostBody"""

    enable_debug_logging: Union[Unset, bool] = Field(
        description="Whether to enable debug logging for the re-run.", default=False
    )


class ReposOwnerRepoActionsRunsRunIdRerunFailedJobsPostBody(GitHubRestModel):
    """ReposOwnerRepoActionsRunsRunIdRerunFailedJobsPostBody"""

    enable_debug_logging: Union[Unset, bool] = Field(
        description="Whether to enable debug logging for the re-run.", default=False
    )


class ReposOwnerRepoActionsSecretsGetResponse200(GitHubRestModel):
    """ReposOwnerRepoActionsSecretsGetResponse200"""

    total_count: int = Field(default=...)
    secrets: List[ActionsSecret] = Field(default=...)


class ReposOwnerRepoActionsSecretsSecretNamePutBody(GitHubRestModel):
    """ReposOwnerRepoActionsSecretsSecretNamePutBody"""

    encrypted_value: Union[Unset, str] = Field(
        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.",
        regex="^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$",
        default=UNSET,
    )
    key_id: Union[Unset, str] = Field(
        description="ID of the key you used to encrypt the secret.", default=UNSET
    )


class ReposOwnerRepoActionsWorkflowsGetResponse200(GitHubRestModel):
    """ReposOwnerRepoActionsWorkflowsGetResponse200"""

    total_count: int = Field(default=...)
    workflows: List[Workflow] = Field(default=...)


class ReposOwnerRepoActionsWorkflowsWorkflowIdDispatchesPostBody(GitHubRestModel):
    """ReposOwnerRepoActionsWorkflowsWorkflowIdDispatchesPostBody"""

    ref: str = Field(
        description="The git reference for the workflow. The reference can be a branch or tag name.",
        default=...,
    )
    inputs: Union[
        Unset, ReposOwnerRepoActionsWorkflowsWorkflowIdDispatchesPostBodyPropInputs
    ] = Field(
        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.",
        default=UNSET,
    )


class ReposOwnerRepoActionsWorkflowsWorkflowIdDispatchesPostBodyPropInputs(
    GitHubRestModel, extra=Extra.allow
):
    """ReposOwnerRepoActionsWorkflowsWorkflowIdDispatchesPostBodyPropInputs

    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.
    """


class ReposOwnerRepoActionsWorkflowsWorkflowIdRunsGetResponse200(GitHubRestModel):
    """ReposOwnerRepoActionsWorkflowsWorkflowIdRunsGetResponse200"""

    total_count: int = Field(default=...)
    workflow_runs: List[WorkflowRun] = Field(default=...)


class ReposOwnerRepoAutolinksPostBody(GitHubRestModel):
    """ReposOwnerRepoAutolinksPostBody"""

    key_prefix: str = Field(
        description="This prefix appended by certain characters will generate a link any time it is found in an issue, pull request, or commit.",
        default=...,
    )
    url_template: str = Field(
        description="The URL must contain `<num>` for the reference number. `<num>` matches different characters depending on the value of `is_alphanumeric`.",
        default=...,
    )
    is_alphanumeric: Union[Unset, bool] = Field(
        description="Whether this autolink reference matches alphanumeric characters. If true, the `<num>` 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,
    )


class ReposOwnerRepoBranchesBranchProtectionPutBody(GitHubRestModel):
    """ReposOwnerRepoBranchesBranchProtectionPutBody"""

    required_status_checks: Union[
        ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredStatusChecks, None
    ] = Field(
        description="Require status checks to pass before merging. Set to `null` to disable.",
        default=...,
    )
    enforce_admins: Union[bool, None] = Field(
        description="Enforce all configured restrictions for administrators. Set to `true` to enforce required status checks for repository administrators. Set to `null` to disable.",
        default=...,
    )
    required_pull_request_reviews: Union[
        ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredPullRequestReviews,
        None,
    ] = Field(
        description="Require at least one approving review on a pull request, before merging. Set to `null` to disable.",
        default=...,
    )
    restrictions: Union[
        ReposOwnerRepoBranchesBranchProtectionPutBodyPropRestrictions, None
    ] = Field(
        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.",
        default=...,
    )
    required_linear_history: Union[Unset, bool] = Field(
        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.',
        default=UNSET,
    )
    allow_force_pushes: Union[Unset, Union[bool, None]] = Field(
        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/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation."',
        default=UNSET,
    )
    allow_deletions: Union[Unset, bool] = Field(
        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/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation.',
        default=UNSET,
    )
    block_creations: Union[Unset, bool] = Field(
        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`.",
        default=UNSET,
    )
    required_conversation_resolution: Union[Unset, bool] = Field(
        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`.",
        default=UNSET,
    )


class ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredStatusChecksPropChecksItems(
    GitHubRestModel
):
    """ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredStatusChecksPropChecksI
    tems
    """

    context: str = Field(description="The name of the required check", default=...)
    app_id: Union[Unset, int] = Field(
        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.",
        default=UNSET,
    )


class ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredStatusChecks(
    GitHubRestModel
):
    """ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredStatusChecks

    Require status checks to pass before merging. Set to `null` to disable.
    """

    strict: bool = Field(
        description="Require branches to be up to date before merging.", default=...
    )
    contexts: List[str] = Field(
        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.\n",
        default=...,
    )
    checks: Union[
        Unset,
        List[
            ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredStatusChecksPropChecksItems
        ],
    ] = Field(
        description="The list of status checks to require in order to merge into this branch.",
        default=UNSET,
    )


class ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredPullRequestReviewsPropDismissalRestrictions(
    GitHubRestModel
):
    """ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredPullRequestReviewsPropD
    ismissalRestrictions

    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.
    """

    users: Union[Unset, List[str]] = Field(
        description="The list of user `login`s with dismissal access", default=UNSET
    )
    teams: Union[Unset, List[str]] = Field(
        description="The list of team `slug`s with dismissal access", default=UNSET
    )
    apps: Union[Unset, List[str]] = Field(
        description="The list of app `slug`s with dismissal access", default=UNSET
    )


class ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredPullRequestReviewsPropBypassPullRequestAllowances(
    GitHubRestModel
):
    """ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredPullRequestReviewsPropB
    ypassPullRequestAllowances

    Allow specific users, teams, or apps to bypass pull request requirements.
    """

    users: Union[Unset, List[str]] = Field(
        description="The list of user `login`s allowed to bypass pull request requirements.",
        default=UNSET,
    )
    teams: Union[Unset, List[str]] = Field(
        description="The list of team `slug`s allowed to bypass pull request requirements.",
        default=UNSET,
    )
    apps: Union[Unset, List[str]] = Field(
        description="The list of app `slug`s allowed to bypass pull request requirements.",
        default=UNSET,
    )


class ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredPullRequestReviews(
    GitHubRestModel
):
    """ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredPullRequestReviews

    Require at least one approving review on a pull request, before merging. Set to
    `null` to disable.
    """

    dismissal_restrictions: Union[
        Unset,
        ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredPullRequestReviewsPropDismissalRestrictions,
    ] = Field(
        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.",
        default=UNSET,
    )
    dismiss_stale_reviews: Union[Unset, bool] = Field(
        description="Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit.",
        default=UNSET,
    )
    require_code_owner_reviews: Union[Unset, bool] = Field(
        description="Blocks merging pull requests until [code owners](https://docs.github.com/articles/about-code-owners/) review them.",
        default=UNSET,
    )
    required_approving_review_count: Union[Unset, int] = Field(
        description="Specify the number of reviewers required to approve pull requests. Use a number between 1 and 6 or 0 to not require reviewers.",
        default=UNSET,
    )
    bypass_pull_request_allowances: Union[
        Unset,
        ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredPullRequestReviewsPropBypassPullRequestAllowances,
    ] = Field(
        description="Allow specific users, teams, or apps to bypass pull request requirements.",
        default=UNSET,
    )


class ReposOwnerRepoBranchesBranchProtectionPutBodyPropRestrictions(GitHubRestModel):
    """ReposOwnerRepoBranchesBranchProtectionPutBodyPropRestrictions

    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.
    """

    users: List[str] = Field(
        description="The list of user `login`s with push access", default=...
    )
    teams: List[str] = Field(
        description="The list of team `slug`s with push access", default=...
    )
    apps: Union[Unset, List[str]] = Field(
        description="The list of app `slug`s with push access", default=UNSET
    )


class ReposOwnerRepoBranchesBranchProtectionRequiredPullRequestReviewsPatchBody(
    GitHubRestModel
):
    """ReposOwnerRepoBranchesBranchProtectionRequiredPullRequestReviewsPatchBody"""

    dismissal_restrictions: Union[
        Unset,
        ReposOwnerRepoBranchesBranchProtectionRequiredPullRequestReviewsPatchBodyPropDismissalRestrictions,
    ] = Field(
        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.",
        default=UNSET,
    )
    dismiss_stale_reviews: Union[Unset, bool] = Field(
        description="Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit.",
        default=UNSET,
    )
    require_code_owner_reviews: Union[Unset, bool] = Field(
        description="Blocks merging pull requests until [code owners](https://docs.github.com/articles/about-code-owners/) have reviewed.",
        default=UNSET,
    )
    required_approving_review_count: Union[Unset, int] = Field(
        description="Specifies the number of reviewers required to approve pull requests. Use a number between 1 and 6 or 0 to not require reviewers.",
        default=UNSET,
    )
    bypass_pull_request_allowances: Union[
        Unset,
        ReposOwnerRepoBranchesBranchProtectionRequiredPullRequestReviewsPatchBodyPropBypassPullRequestAllowances,
    ] = Field(
        description="Allow specific users, teams, or apps to bypass pull request requirements.",
        default=UNSET,
    )


class ReposOwnerRepoBranchesBranchProtectionRequiredPullRequestReviewsPatchBodyPropDismissalRestrictions(
    GitHubRestModel
):
    """ReposOwnerRepoBranchesBranchProtectionRequiredPullRequestReviewsPatchBodyPropDis
    missalRestrictions

    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.
    """

    users: Union[Unset, List[str]] = Field(
        description="The list of user `login`s with dismissal access", default=UNSET
    )
    teams: Union[Unset, List[str]] = Field(
        description="The list of team `slug`s with dismissal access", default=UNSET
    )
    apps: Union[Unset, List[str]] = Field(
        description="The list of app `slug`s with dismissal access", default=UNSET
    )


class ReposOwnerRepoBranchesBranchProtectionRequiredPullRequestReviewsPatchBodyPropBypassPullRequestAllowances(
    GitHubRestModel
):
    """ReposOwnerRepoBranchesBranchProtectionRequiredPullRequestReviewsPatchBodyPropByp
    assPullRequestAllowances

    Allow specific users, teams, or apps to bypass pull request requirements.
    """

    users: Union[Unset, List[str]] = Field(
        description="The list of user `login`s allowed to bypass pull request requirements.",
        default=UNSET,
    )
    teams: Union[Unset, List[str]] = Field(
        description="The list of team `slug`s allowed to bypass pull request requirements.",
        default=UNSET,
    )
    apps: Union[Unset, List[str]] = Field(
        description="The list of app `slug`s allowed to bypass pull request requirements.",
        default=UNSET,
    )


class ReposOwnerRepoBranchesBranchProtectionRequiredStatusChecksPatchBody(
    GitHubRestModel
):
    """ReposOwnerRepoBranchesBranchProtectionRequiredStatusChecksPatchBody"""

    strict: Union[Unset, bool] = Field(
        description="Require branches to be up to date before merging.", default=UNSET
    )
    contexts: Union[Unset, List[str]] = Field(
        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.\n",
        default=UNSET,
    )
    checks: Union[
        Unset,
        List[
            ReposOwnerRepoBranchesBranchProtectionRequiredStatusChecksPatchBodyPropChecksItems
        ],
    ] = Field(
        description="The list of status checks to require in order to merge into this branch.",
        default=UNSET,
    )


class ReposOwnerRepoBranchesBranchProtectionRequiredStatusChecksPatchBodyPropChecksItems(
    GitHubRestModel
):
    """ReposOwnerRepoBranchesBranchProtectionRequiredStatusChecksPatchBodyPropChecksIte
    ms
    """

    context: str = Field(description="The name of the required check", default=...)
    app_id: Union[Unset, int] = Field(
        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.",
        default=UNSET,
    )


class ReposOwnerRepoBranchesBranchProtectionRequiredStatusChecksContextsPutBodyOneof0(
    GitHubRestModel
):
    """ReposOwnerRepoBranchesBranchProtectionRequiredStatusChecksContextsPutBodyOneof0

    Examples:
        {'contexts': ['contexts']}
    """

    contexts: List[str] = Field(
        description="The name of the status checks", default=...
    )


class ReposOwnerRepoBranchesBranchProtectionRequiredStatusChecksContextsPostBodyOneof0(
    GitHubRestModel
):
    """ReposOwnerRepoBranchesBranchProtectionRequiredStatusChecksContextsPostBodyOneof0

    Examples:
        {'contexts': ['contexts']}
    """

    contexts: List[str] = Field(
        description="The name of the status checks", default=...
    )


class ReposOwnerRepoBranchesBranchProtectionRequiredStatusChecksContextsDeleteBodyOneof0(
    GitHubRestModel
):
    """ReposOwnerRepoBranchesBranchProtectionRequiredStatusChecksContextsDeleteBodyOneo
    f0

    Examples:
        {'contexts': ['contexts']}
    """

    contexts: List[str] = Field(
        description="The name of the status checks", default=...
    )


class ReposOwnerRepoBranchesBranchProtectionRestrictionsAppsPutBodyOneof0(
    GitHubRestModel
):
    """ReposOwnerRepoBranchesBranchProtectionRestrictionsAppsPutBodyOneof0

    Examples:
        {'apps': ['my-app']}
    """

    apps: List[str] = Field(description="apps parameter", default=...)


class ReposOwnerRepoBranchesBranchProtectionRestrictionsAppsPostBodyOneof0(
    GitHubRestModel
):
    """ReposOwnerRepoBranchesBranchProtectionRestrictionsAppsPostBodyOneof0

    Examples:
        {'apps': ['my-app']}
    """

    apps: List[str] = Field(description="apps parameter", default=...)


class ReposOwnerRepoBranchesBranchProtectionRestrictionsAppsDeleteBodyOneof0(
    GitHubRestModel
):
    """ReposOwnerRepoBranchesBranchProtectionRestrictionsAppsDeleteBodyOneof0

    Examples:
        {'apps': ['my-app']}
    """

    apps: List[str] = Field(description="apps parameter", default=...)


class ReposOwnerRepoBranchesBranchProtectionRestrictionsTeamsPutBodyOneof0(
    GitHubRestModel
):
    """ReposOwnerRepoBranchesBranchProtectionRestrictionsTeamsPutBodyOneof0

    Examples:
        {'teams': ['justice-league']}
    """

    teams: List[str] = Field(description="The slug values for teams", default=...)


class ReposOwnerRepoBranchesBranchProtectionRestrictionsTeamsPostBodyOneof0(
    GitHubRestModel
):
    """ReposOwnerRepoBranchesBranchProtectionRestrictionsTeamsPostBodyOneof0

    Examples:
        {'teams': ['my-team']}
    """

    teams: List[str] = Field(description="The slug values for teams", default=...)


class ReposOwnerRepoBranchesBranchProtectionRestrictionsTeamsDeleteBodyOneof0(
    GitHubRestModel
):
    """ReposOwnerRepoBranchesBranchProtectionRestrictionsTeamsDeleteBodyOneof0

    Examples:
        {'teams': ['my-team']}
    """

    teams: List[str] = Field(description="The slug values for teams", default=...)


class ReposOwnerRepoBranchesBranchProtectionRestrictionsUsersPutBodyOneof0(
    GitHubRestModel
):
    """ReposOwnerRepoBranchesBranchProtectionRestrictionsUsersPutBodyOneof0

    Examples:
        {'users': ['mona']}
    """

    users: List[str] = Field(description="The username for users", default=...)


class ReposOwnerRepoBranchesBranchProtectionRestrictionsUsersPostBodyOneof0(
    GitHubRestModel
):
    """ReposOwnerRepoBranchesBranchProtectionRestrictionsUsersPostBodyOneof0

    Examples:
        {'users': ['mona']}
    """

    users: List[str] = Field(description="The username for users", default=...)


class ReposOwnerRepoBranchesBranchProtectionRestrictionsUsersDeleteBodyOneof0(
    GitHubRestModel
):
    """ReposOwnerRepoBranchesBranchProtectionRestrictionsUsersDeleteBodyOneof0

    Examples:
        {'users': ['mona']}
    """

    users: List[str] = Field(description="The username for users", default=...)


class ReposOwnerRepoBranchesBranchRenamePostBody(GitHubRestModel):
    """ReposOwnerRepoBranchesBranchRenamePostBody"""

    new_name: str = Field(description="The new name of the branch.", default=...)


class ReposOwnerRepoCheckRunsPostBodyPropOutput(GitHubRestModel):
    """ReposOwnerRepoCheckRunsPostBodyPropOutput

    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.
    """

    title: str = Field(description="The title of the check run.", default=...)
    summary: str = Field(
        description="The summary of the check run. This parameter supports Markdown. **Maximum length**: 65535 characters.",
        max_length=65535,
        default=...,
    )
    text: Union[Unset, str] = Field(
        description="The details of the check run. This parameter supports Markdown. **Maximum length**: 65535 characters.",
        max_length=65535,
        default=UNSET,
    )
    annotations: Union[
        Unset, List[ReposOwnerRepoCheckRunsPostBodyPropOutputPropAnnotationsItems]
    ] = Field(
        description='Adds information from your analysis to specific lines of code. Annotations are visible on GitHub in the **Checks** and **Files changed** tab of the pull request. 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 how you can view annotations on GitHub, see "[About status checks](https://docs.github.com/articles/about-status-checks#checks)".',
        default=UNSET,
    )
    images: Union[
        Unset, List[ReposOwnerRepoCheckRunsPostBodyPropOutputPropImagesItems]
    ] = Field(
        description="Adds images to the output displayed in the GitHub pull request UI.",
        default=UNSET,
    )


class ReposOwnerRepoCheckRunsPostBodyPropOutputPropAnnotationsItems(GitHubRestModel):
    """ReposOwnerRepoCheckRunsPostBodyPropOutputPropAnnotationsItems"""

    path: str = Field(
        description="The path of the file to add an annotation to. For example, `assets/css/main.css`.",
        default=...,
    )
    start_line: int = Field(
        description="The start line of the annotation.", default=...
    )
    end_line: int = Field(description="The end line of the annotation.", default=...)
    start_column: Union[Unset, int] = Field(
        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.",
        default=UNSET,
    )
    end_column: Union[Unset, int] = Field(
        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.",
        default=UNSET,
    )
    annotation_level: Literal["notice", "warning", "failure"] = Field(
        description="The level of the annotation.", default=...
    )
    message: str = Field(
        description="A short description of the feedback for these lines of code. The maximum size is 64 KB.",
        default=...,
    )
    title: Union[Unset, str] = Field(
        description="The title that represents the annotation. The maximum size is 255 characters.",
        default=UNSET,
    )
    raw_details: Union[Unset, str] = Field(
        description="Details about this annotation. The maximum size is 64 KB.",
        default=UNSET,
    )


class ReposOwnerRepoCheckRunsPostBodyPropOutputPropImagesItems(GitHubRestModel):
    """ReposOwnerRepoCheckRunsPostBodyPropOutputPropImagesItems"""

    alt: str = Field(description="The alternative text for the image.", default=...)
    image_url: str = Field(description="The full URL of the image.", default=...)
    caption: Union[Unset, str] = Field(
        description="A short image description.", default=UNSET
    )


class ReposOwnerRepoCheckRunsPostBodyPropActionsItems(GitHubRestModel):
    """ReposOwnerRepoCheckRunsPostBodyPropActionsItems"""

    label: str = Field(
        description="The text to be displayed on a button in the web UI. The maximum size is 20 characters.",
        max_length=20,
        default=...,
    )
    description: str = Field(
        description="A short explanation of what this action would do. The maximum size is 40 characters.",
        max_length=40,
        default=...,
    )
    identifier: str = Field(
        description="A reference for the action on the integrator's system. The maximum size is 20 characters.",
        max_length=20,
        default=...,
    )


class ReposOwnerRepoCheckRunsPostBodyOneof0(GitHubRestModel, extra=Extra.allow):
    """ReposOwnerRepoCheckRunsPostBodyOneof0"""

    name: str = Field(
        description='The name of the check. For example, "code-coverage".', default=...
    )
    head_sha: str = Field(description="The SHA of the commit.", default=...)
    details_url: Union[Unset, str] = Field(
        description="The URL of the integrator's site that has the full details of the check. If the integrator does not provide this, then the homepage of the GitHub app is used.",
        default=UNSET,
    )
    external_id: Union[Unset, str] = Field(
        description="A reference for the run on the integrator's system.", default=UNSET
    )
    status: Literal["completed"] = Field(default=...)
    started_at: Union[Unset, datetime] = Field(
        description="The time that the check run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=UNSET,
    )
    conclusion: Literal[
        "action_required",
        "cancelled",
        "failure",
        "neutral",
        "success",
        "skipped",
        "stale",
        "timed_out",
    ] = Field(
        description="**Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. \n**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.",
        default=...,
    )
    completed_at: Union[Unset, datetime] = Field(
        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`.",
        default=UNSET,
    )
    output: Union[Unset, ReposOwnerRepoCheckRunsPostBodyPropOutput] = Field(
        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.",
        default=UNSET,
    )
    actions: Union[
        Unset, List[ReposOwnerRepoCheckRunsPostBodyPropActionsItems]
    ] = Field(
        description='Displays a button on GitHub that can be clicked to alert your app to do additional tasks. For example, a code linting app can display a button that automatically fixes detected errors. The button created in this object is displayed after the check run completes. When a user clicks the button, GitHub sends the [`check_run.requested_action` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) to your app. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. 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)."',
        default=UNSET,
    )


class ReposOwnerRepoCheckRunsPostBodyOneof1(GitHubRestModel, extra=Extra.allow):
    """ReposOwnerRepoCheckRunsPostBodyOneof1"""

    name: str = Field(
        description='The name of the check. For example, "code-coverage".', default=...
    )
    head_sha: str = Field(description="The SHA of the commit.", default=...)
    details_url: Union[Unset, str] = Field(
        description="The URL of the integrator's site that has the full details of the check. If the integrator does not provide this, then the homepage of the GitHub app is used.",
        default=UNSET,
    )
    external_id: Union[Unset, str] = Field(
        description="A reference for the run on the integrator's system.", default=UNSET
    )
    status: Union[Unset, Literal["queued", "in_progress"]] = Field(default=UNSET)
    started_at: Union[Unset, datetime] = Field(
        description="The time that the check run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=UNSET,
    )
    conclusion: Union[
        Unset,
        Literal[
            "action_required",
            "cancelled",
            "failure",
            "neutral",
            "success",
            "skipped",
            "stale",
            "timed_out",
        ],
    ] = Field(
        description="**Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. \n**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.",
        default=UNSET,
    )
    completed_at: Union[Unset, datetime] = Field(
        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`.",
        default=UNSET,
    )
    output: Union[Unset, ReposOwnerRepoCheckRunsPostBodyPropOutput] = Field(
        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.",
        default=UNSET,
    )
    actions: Union[
        Unset, List[ReposOwnerRepoCheckRunsPostBodyPropActionsItems]
    ] = Field(
        description='Displays a button on GitHub that can be clicked to alert your app to do additional tasks. For example, a code linting app can display a button that automatically fixes detected errors. The button created in this object is displayed after the check run completes. When a user clicks the button, GitHub sends the [`check_run.requested_action` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) to your app. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. 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)."',
        default=UNSET,
    )


class ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropOutput(GitHubRestModel):
    """ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropOutput

    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.
    """

    title: Union[Unset, str] = Field(description="**Required**.", default=UNSET)
    summary: str = Field(
        description="Can contain Markdown.", max_length=65535, default=...
    )
    text: Union[Unset, str] = Field(
        description="Can contain Markdown.", max_length=65535, default=UNSET
    )
    annotations: Union[
        Unset,
        List[ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropOutputPropAnnotationsItems],
    ] = Field(
        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)\".",
        default=UNSET,
    )
    images: Union[
        Unset, List[ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropOutputPropImagesItems]
    ] = Field(
        description="Adds images to the output displayed in the GitHub pull request UI.",
        default=UNSET,
    )


class ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropOutputPropAnnotationsItems(
    GitHubRestModel
):
    """ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropOutputPropAnnotationsItems"""

    path: str = Field(
        description="The path of the file to add an annotation to. For example, `assets/css/main.css`.",
        default=...,
    )
    start_line: int = Field(
        description="The start line of the annotation.", default=...
    )
    end_line: int = Field(description="The end line of the annotation.", default=...)
    start_column: Union[Unset, int] = Field(
        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.",
        default=UNSET,
    )
    end_column: Union[Unset, int] = Field(
        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.",
        default=UNSET,
    )
    annotation_level: Literal["notice", "warning", "failure"] = Field(
        description="The level of the annotation.", default=...
    )
    message: str = Field(
        description="A short description of the feedback for these lines of code. The maximum size is 64 KB.",
        default=...,
    )
    title: Union[Unset, str] = Field(
        description="The title that represents the annotation. The maximum size is 255 characters.",
        default=UNSET,
    )
    raw_details: Union[Unset, str] = Field(
        description="Details about this annotation. The maximum size is 64 KB.",
        default=UNSET,
    )


class ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropOutputPropImagesItems(
    GitHubRestModel
):
    """ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropOutputPropImagesItems"""

    alt: str = Field(description="The alternative text for the image.", default=...)
    image_url: str = Field(description="The full URL of the image.", default=...)
    caption: Union[Unset, str] = Field(
        description="A short image description.", default=UNSET
    )


class ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropActionsItems(GitHubRestModel):
    """ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropActionsItems"""

    label: str = Field(
        description="The text to be displayed on a button in the web UI. The maximum size is 20 characters.",
        max_length=20,
        default=...,
    )
    description: str = Field(
        description="A short explanation of what this action would do. The maximum size is 40 characters.",
        max_length=40,
        default=...,
    )
    identifier: str = Field(
        description="A reference for the action on the integrator's system. The maximum size is 20 characters.",
        max_length=20,
        default=...,
    )


class ReposOwnerRepoCheckRunsCheckRunIdPatchBodyAnyof0(
    GitHubRestModel, extra=Extra.allow
):
    """ReposOwnerRepoCheckRunsCheckRunIdPatchBodyAnyof0"""

    name: Union[Unset, str] = Field(
        description='The name of the check. For example, "code-coverage".',
        default=UNSET,
    )
    details_url: Union[Unset, str] = Field(
        description="The URL of the integrator's site that has the full details of the check.",
        default=UNSET,
    )
    external_id: Union[Unset, str] = Field(
        description="A reference for the run on the integrator's system.", default=UNSET
    )
    started_at: Union[Unset, datetime] = Field(
        description="This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=UNSET,
    )
    status: Union[Unset, Literal["completed"]] = Field(default=UNSET)
    conclusion: Literal[
        "action_required",
        "cancelled",
        "failure",
        "neutral",
        "success",
        "skipped",
        "stale",
        "timed_out",
    ] = Field(
        description="**Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. \n**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.",
        default=...,
    )
    completed_at: Union[Unset, datetime] = Field(
        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`.",
        default=UNSET,
    )
    output: Union[Unset, ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropOutput] = Field(
        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.",
        default=UNSET,
    )
    actions: Union[
        Unset, List[ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropActionsItems]
    ] = Field(
        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)."',
        default=UNSET,
    )


class ReposOwnerRepoCheckRunsCheckRunIdPatchBodyAnyof1(
    GitHubRestModel, extra=Extra.allow
):
    """ReposOwnerRepoCheckRunsCheckRunIdPatchBodyAnyof1"""

    name: Union[Unset, str] = Field(
        description='The name of the check. For example, "code-coverage".',
        default=UNSET,
    )
    details_url: Union[Unset, str] = Field(
        description="The URL of the integrator's site that has the full details of the check.",
        default=UNSET,
    )
    external_id: Union[Unset, str] = Field(
        description="A reference for the run on the integrator's system.", default=UNSET
    )
    started_at: Union[Unset, datetime] = Field(
        description="This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.",
        default=UNSET,
    )
    status: Union[Unset, Literal["queued", "in_progress"]] = Field(default=UNSET)
    conclusion: Union[
        Unset,
        Literal[
            "action_required",
            "cancelled",
            "failure",
            "neutral",
            "success",
            "skipped",
            "stale",
            "timed_out",
        ],
    ] = Field(
        description="**Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. \n**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.",
        default=UNSET,
    )
    completed_at: Union[Unset, datetime] = Field(
        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`.",
        default=UNSET,
    )
    output: Union[Unset, ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropOutput] = Field(
        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.",
        default=UNSET,
    )
    actions: Union[
        Unset, List[ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropActionsItems]
    ] = Field(
        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)."',
        default=UNSET,
    )


class ReposOwnerRepoCheckSuitesPostBody(GitHubRestModel):
    """ReposOwnerRepoCheckSuitesPostBody"""

    head_sha: str = Field(description="The sha of the head commit.", default=...)


class ReposOwnerRepoCheckSuitesPreferencesPatchBody(GitHubRestModel):
    """ReposOwnerRepoCheckSuitesPreferencesPatchBody"""

    auto_trigger_checks: Union[
        Unset,
        List[ReposOwnerRepoCheckSuitesPreferencesPatchBodyPropAutoTriggerChecksItems],
    ] = Field(
        description="Enables or disables automatic creation of CheckSuite events upon pushes to the repository. Enabled by default.",
        default=UNSET,
    )


class ReposOwnerRepoCheckSuitesPreferencesPatchBodyPropAutoTriggerChecksItems(
    GitHubRestModel
):
    """ReposOwnerRepoCheckSuitesPreferencesPatchBodyPropAutoTriggerChecksItems"""

    app_id: int = Field(description="The `id` of the GitHub App.", default=...)
    setting: bool = Field(
        description="Set to `true` to enable automatic creation of CheckSuite events upon pushes to the repository, or `false` to disable them.",
        default=True,
    )


class ReposOwnerRepoCheckSuitesCheckSuiteIdCheckRunsGetResponse200(GitHubRestModel):
    """ReposOwnerRepoCheckSuitesCheckSuiteIdCheckRunsGetResponse200"""

    total_count: int = Field(default=...)
    check_runs: List[CheckRun] = Field(default=...)


class ReposOwnerRepoCodeScanningAlertsAlertNumberPatchBody(GitHubRestModel):
    """ReposOwnerRepoCodeScanningAlertsAlertNumberPatchBody"""

    state: Literal["open", "dismissed"] = Field(
        description="Sets the state of the code scanning alert. You must provide `dismissed_reason` when you set the state to `dismissed`.",
        default=...,
    )
    dismissed_reason: Union[
        Unset, Union[None, Literal["false positive", "won't fix", "used in tests"]]
    ] = Field(
        description="**Required when the state is dismissed.** The reason for dismissing or closing the alert.",
        default=UNSET,
    )
    dismissed_comment: Union[Unset, Union[str, None]] = Field(
        description="The dismissal comment associated with the dismissal of the alert.",
        max_length=280,
        default=UNSET,
    )


class ReposOwnerRepoCodeScanningSarifsPostBody(GitHubRestModel):
    """ReposOwnerRepoCodeScanningSarifsPostBody"""

    commit_sha: str = Field(
        description="The SHA of the commit to which the analysis you are uploading relates.",
        min_length=40,
        max_length=40,
        regex="^[0-9a-fA-F]+$",
        default=...,
    )
    ref: str = Field(
        description="The full Git reference, formatted as `refs/heads/<branch name>`,\n`refs/pull/<number>/merge`, or `refs/pull/<number>/head`.",
        default=...,
    )
    sarif: str = Field(
        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)."',
        default=...,
    )
    checkout_uri: Union[Unset, str] = Field(
        description="The base directory used in the analysis, as it appears in the SARIF file.\nThis property is used to convert file paths from absolute to relative, so that alerts can be mapped to their correct location in the repository.",
        default=UNSET,
    )
    started_at: Union[Unset, datetime] = Field(
        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`.",
        default=UNSET,
    )
    tool_name: Union[Unset, str] = Field(
        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`.',
        default=UNSET,
    )
    validate_: Union[Unset, bool] = Field(
        description="Whether the SARIF file will be validated according to the code scanning specifications.\nThis parameter is intended to help integrators ensure that the uploaded SARIF files are correctly rendered by code scanning.",
        default=UNSET,
        alias="validate",
    )


class ReposOwnerRepoCodespacesGetResponse200(GitHubRestModel):
    """ReposOwnerRepoCodespacesGetResponse200"""

    total_count: int = Field(default=...)
    codespaces: List[Codespace] = Field(default=...)


class ReposOwnerRepoCodespacesPostBody(GitHubRestModel):
    """ReposOwnerRepoCodespacesPostBody"""

    ref: Union[Unset, str] = Field(
        description="Git ref (typically a branch name) for this codespace",
        default=UNSET,
    )
    location: Union[Unset, str] = Field(
        description="Location for this codespace. Assigned by IP if not provided",
        default=UNSET,
    )
    client_ip: Union[Unset, str] = Field(
        description="IP for location auto-detection when proxying a request",
        default=UNSET,
    )
    machine: Union[Unset, str] = Field(
        description="Machine type to use for this codespace", default=UNSET
    )
    devcontainer_path: Union[Unset, str] = Field(
        description="Path to devcontainer.json config to use for this codespace",
        default=UNSET,
    )
    multi_repo_permissions_opt_out: Union[Unset, bool] = Field(
        description="Whether to authorize requested permissions from devcontainer.json",
        default=UNSET,
    )
    working_directory: Union[Unset, str] = Field(
        description="Working directory for this codespace", default=UNSET
    )
    idle_timeout_minutes: Union[Unset, int] = Field(
        description="Time in minutes before codespace stops from inactivity",
        default=UNSET,
    )
    display_name: Union[Unset, str] = Field(
        description="Display name for this codespace", default=UNSET
    )
    retention_period_minutes: Union[Unset, int] = Field(
        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).",
        default=UNSET,
    )


class ReposOwnerRepoCodespacesDevcontainersGetResponse200(GitHubRestModel):
    """ReposOwnerRepoCodespacesDevcontainersGetResponse200"""

    total_count: int = Field(default=...)
    devcontainers: List[
        ReposOwnerRepoCodespacesDevcontainersGetResponse200PropDevcontainersItems
    ] = Field(default=...)


class ReposOwnerRepoCodespacesDevcontainersGetResponse200PropDevcontainersItems(
    GitHubRestModel
):
    """ReposOwnerRepoCodespacesDevcontainersGetResponse200PropDevcontainersItems"""

    path: str = Field(default=...)
    name: Union[Unset, str] = Field(default=UNSET)


class ReposOwnerRepoCodespacesMachinesGetResponse200(GitHubRestModel):
    """ReposOwnerRepoCodespacesMachinesGetResponse200"""

    total_count: int = Field(default=...)
    machines: List[CodespaceMachine] = Field(default=...)


class ReposOwnerRepoCodespacesNewGetResponse200(GitHubRestModel):
    """ReposOwnerRepoCodespacesNewGetResponse200"""

    billable_owner: Union[Unset, SimpleUser] = Field(
        title="Simple User", description="Simple User", default=UNSET
    )
    defaults: Union[
        Unset, ReposOwnerRepoCodespacesNewGetResponse200PropDefaults
    ] = Field(default=UNSET)


class ReposOwnerRepoCodespacesNewGetResponse200PropDefaults(GitHubRestModel):
    """ReposOwnerRepoCodespacesNewGetResponse200PropDefaults"""

    location: str = Field(default=...)
    devcontainer_path: Union[str, None] = Field(default=...)


class ReposOwnerRepoCodespacesSecretsGetResponse200(GitHubRestModel):
    """ReposOwnerRepoCodespacesSecretsGetResponse200"""

    total_count: int = Field(default=...)
    secrets: List[RepoCodespacesSecret] = Field(default=...)


class ReposOwnerRepoCodespacesSecretsSecretNamePutBody(GitHubRestModel):
    """ReposOwnerRepoCodespacesSecretsSecretNamePutBody"""

    encrypted_value: Union[Unset, str] = Field(
        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.",
        regex="^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$",
        default=UNSET,
    )
    key_id: Union[Unset, str] = Field(
        description="ID of the key you used to encrypt the secret.", default=UNSET
    )


class ReposOwnerRepoCollaboratorsUsernamePutBody(GitHubRestModel):
    """ReposOwnerRepoCollaboratorsUsernamePutBody"""

    permission: Union[Unset, str] = Field(
        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",
    )


class ReposOwnerRepoCommentsCommentIdPatchBody(GitHubRestModel):
    """ReposOwnerRepoCommentsCommentIdPatchBody"""

    body: str = Field(description="The contents of the comment", default=...)


class ReposOwnerRepoCommentsCommentIdReactionsPostBody(GitHubRestModel):
    """ReposOwnerRepoCommentsCommentIdReactionsPostBody"""

    content: Literal[
        "+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"
    ] = Field(
        description="The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the commit comment.",
        default=...,
    )


class ReposOwnerRepoCommitsCommitShaCommentsPostBody(GitHubRestModel):
    """ReposOwnerRepoCommitsCommitShaCommentsPostBody"""

    body: str = Field(description="The contents of the comment.", default=...)
    path: Union[Unset, str] = Field(
        description="Relative path of the file to comment on.", default=UNSET
    )
    position: Union[Unset, int] = Field(
        description="Line index in the diff to comment on.", default=UNSET
    )
    line: Union[Unset, int] = Field(
        description="**Deprecated**. Use **position** parameter instead. Line number in the file to comment on.",
        default=UNSET,
    )


class ReposOwnerRepoCommitsRefCheckRunsGetResponse200(GitHubRestModel):
    """ReposOwnerRepoCommitsRefCheckRunsGetResponse200"""

    total_count: int = Field(default=...)
    check_runs: List[CheckRun] = Field(default=...)


class ReposOwnerRepoCommitsRefCheckSuitesGetResponse200(GitHubRestModel):
    """ReposOwnerRepoCommitsRefCheckSuitesGetResponse200"""

    total_count: int = Field(default=...)
    check_suites: List[CheckSuite] = Field(default=...)


class ReposOwnerRepoContentsPathPutBody(GitHubRestModel):
    """ReposOwnerRepoContentsPathPutBody"""

    message: str = Field(description="The commit message.", default=...)
    content: str = Field(
        description="The new file content, using Base64 encoding.", default=...
    )
    sha: Union[Unset, str] = Field(
        description="**Required if you are updating a file**. The blob SHA of the file being replaced.",
        default=UNSET,
    )
    branch: Union[Unset, str] = Field(
        description="The branch name. Default: the repository’s default branch (usually `master`)",
        default=UNSET,
    )
    committer: Union[Unset, ReposOwnerRepoContentsPathPutBodyPropCommitter] = Field(
        description="The person that committed the file. Default: the authenticated user.",
        default=UNSET,
    )
    author: Union[Unset, ReposOwnerRepoContentsPathPutBodyPropAuthor] = Field(
        description="The author of the file. Default: The `committer` or the authenticated user if you omit `committer`.",
        default=UNSET,
    )


class ReposOwnerRepoContentsPathPutBodyPropCommitter(GitHubRestModel):
    """ReposOwnerRepoContentsPathPutBodyPropCommitter

    The person that committed the file. Default: the authenticated user.
    """

    name: str = Field(
        description="The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted.",
        default=...,
    )
    email: str = Field(
        description="The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted.",
        default=...,
    )
    date: Union[Unset, str] = Field(default=UNSET)


class ReposOwnerRepoContentsPathPutBodyPropAuthor(GitHubRestModel):
    """ReposOwnerRepoContentsPathPutBodyPropAuthor

    The author of the file. Default: The `committer` or the authenticated user if
    you omit `committer`.
    """

    name: str = Field(
        description="The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted.",
        default=...,
    )
    email: str = Field(
        description="The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted.",
        default=...,
    )
    date: Union[Unset, str] = Field(default=UNSET)


class ReposOwnerRepoContentsPathDeleteBody(GitHubRestModel):
    """ReposOwnerRepoContentsPathDeleteBody"""

    message: str = Field(description="The commit message.", default=...)
    sha: str = Field(description="The blob SHA of the file being deleted.", default=...)
    branch: Union[Unset, str] = Field(
        description="The branch name. Default: the repository’s default branch (usually `master`)",
        default=UNSET,
    )
    committer: Union[Unset, ReposOwnerRepoContentsPathDeleteBodyPropCommitter] = Field(
        description="object containing information about the committer.", default=UNSET
    )
    author: Union[Unset, ReposOwnerRepoContentsPathDeleteBodyPropAuthor] = Field(
        description="object containing information about the author.", default=UNSET
    )


class ReposOwnerRepoContentsPathDeleteBodyPropCommitter(GitHubRestModel):
    """ReposOwnerRepoContentsPathDeleteBodyPropCommitter

    object containing information about the committer.
    """

    name: Union[Unset, str] = Field(
        description="The name of the author (or committer) of the commit", default=UNSET
    )
    email: Union[Unset, str] = Field(
        description="The email of the author (or committer) of the commit",
        default=UNSET,
    )


class ReposOwnerRepoContentsPathDeleteBodyPropAuthor(GitHubRestModel):
    """ReposOwnerRepoContentsPathDeleteBodyPropAuthor

    object containing information about the author.
    """

    name: Union[Unset, str] = Field(
        description="The name of the author (or committer) of the commit", default=UNSET
    )
    email: Union[Unset, str] = Field(
        description="The email of the author (or committer) of the commit",
        default=UNSET,
    )


class ReposOwnerRepoDependabotAlertsAlertNumberPatchBody(GitHubRestModel):
    """ReposOwnerRepoDependabotAlertsAlertNumberPatchBody"""

    state: Literal["dismissed", "open"] = Field(
        description="The state of the Dependabot alert.\nA `dismissed_reason` must be provided when setting the state to `dismissed`.",
        default=...,
    )
    dismissed_reason: Union[
        Unset,
        Literal[
            "fix_started", "inaccurate", "no_bandwidth", "not_used", "tolerable_risk"
        ],
    ] = Field(
        description="**Required when `state` is `dismissed`.** A reason for dismissing the alert.",
        default=UNSET,
    )
    dismissed_comment: Union[Unset, str] = Field(
        description="An optional comment associated with dismissing the alert.",
        max_length=280,
        default=UNSET,
    )


class ReposOwnerRepoDependabotSecretsGetResponse200(GitHubRestModel):
    """ReposOwnerRepoDependabotSecretsGetResponse200"""

    total_count: int = Field(default=...)
    secrets: List[DependabotSecret] = Field(default=...)


class ReposOwnerRepoDependabotSecretsSecretNamePutBody(GitHubRestModel):
    """ReposOwnerRepoDependabotSecretsSecretNamePutBody"""

    encrypted_value: Union[Unset, str] = Field(
        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.",
        regex="^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$",
        default=UNSET,
    )
    key_id: Union[Unset, str] = Field(
        description="ID of the key you used to encrypt the secret.", default=UNSET
    )


class ReposOwnerRepoDependencyGraphSnapshotsPostResponse201(GitHubRestModel):
    """ReposOwnerRepoDependencyGraphSnapshotsPostResponse201"""

    id: int = Field(description="ID of the created snapshot.", default=...)
    created_at: str = Field(
        description="The time at which the snapshot was created.", default=...
    )
    result: str = Field(
        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.',
        default=...,
    )
    message: str = Field(
        description="A message providing further details about the result, such as why the dependencies were not updated.",
        default=...,
    )


class ReposOwnerRepoDeploymentsPostBody(GitHubRestModel):
    """ReposOwnerRepoDeploymentsPostBody"""

    ref: str = Field(
        description="The ref to deploy. This can be a branch, tag, or SHA.", default=...
    )
    task: Union[Unset, str] = Field(
        description="Specifies a task to execute (e.g., `deploy` or `deploy:migrations`).",
        default="deploy",
    )
    auto_merge: Union[Unset, bool] = Field(
        description="Attempts to automatically merge the default branch into the requested ref, if it's behind the default branch.",
        default=True,
    )
    required_contexts: Union[Unset, List[str]] = Field(
        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.",
        default=UNSET,
    )
    payload: Union[
        Unset, Union[ReposOwnerRepoDeploymentsPostBodyPropPayloadOneof0, str]
    ] = Field(
        description="JSON payload with extra information about the deployment.",
        default="",
    )
    environment: Union[Unset, str] = Field(
        description="Name for the target deployment environment (e.g., `production`, `staging`, `qa`).",
        default="production",
    )
    description: Union[Unset, Union[str, None]] = Field(
        description="Short description of the deployment.", default=""
    )
    transient_environment: Union[Unset, bool] = Field(
        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,
    )
    production_environment: Union[Unset, bool] = Field(
        description="Specifies if the given environment is one that end-users directly interact with. Default: `true` when `environment` is `production` and `false` otherwise.",
        default=UNSET,
    )


class ReposOwnerRepoDeploymentsPostBodyPropPayloadOneof0(
    GitHubRestModel, extra=Extra.allow
):
    """ReposOwnerRepoDeploymentsPostBodyPropPayloadOneof0"""


class ReposOwnerRepoDeploymentsPostResponse202(GitHubRestModel):
    """ReposOwnerRepoDeploymentsPostResponse202"""

    message: Union[Unset, str] = Field(default=UNSET)


class ReposOwnerRepoDeploymentsDeploymentIdStatusesPostBody(GitHubRestModel):
    """ReposOwnerRepoDeploymentsDeploymentIdStatusesPostBody"""

    state: Literal[
        "error", "failure", "inactive", "in_progress", "queued", "pending", "success"
    ] = Field(
        description="The state of the status. When you set a transient deployment to `inactive`, the deployment will be shown as `destroyed` in GitHub.",
        default=...,
    )
    target_url: Union[Unset, str] = Field(
        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="",
    )
    log_url: Union[Unset, str] = Field(
        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="",
    )
    description: Union[Unset, str] = Field(
        description="A short description of the status. The maximum description length is 140 characters.",
        default="",
    )
    environment: Union[Unset, Literal["production", "staging", "qa"]] = Field(
        description="Name for the target deployment environment, which can be changed when setting a deploy status. For example, `production`, `staging`, or `qa`.",
        default=UNSET,
    )
    environment_url: Union[Unset, str] = Field(
        description='Sets the URL for accessing your environment. Default: `""`',
        default="",
    )
    auto_inactive: Union[Unset, bool] = Field(
        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`",
        default=UNSET,
    )


class ReposOwnerRepoDispatchesPostBody(GitHubRestModel):
    """ReposOwnerRepoDispatchesPostBody"""

    event_type: str = Field(
        description="A custom webhook event name. Must be 100 characters or fewer.",
        min_length=1,
        max_length=100,
        default=...,
    )
    client_payload: Union[
        Unset, ReposOwnerRepoDispatchesPostBodyPropClientPayload
    ] = Field(
        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.",
        default=UNSET,
    )


class ReposOwnerRepoDispatchesPostBodyPropClientPayload(
    GitHubRestModel, extra=Extra.allow
):
    """ReposOwnerRepoDispatchesPostBodyPropClientPayload

    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.
    """


class ReposOwnerRepoEnvironmentsGetResponse200(GitHubRestModel):
    """ReposOwnerRepoEnvironmentsGetResponse200"""

    total_count: Union[Unset, int] = Field(
        description="The number of environments in this repository", default=UNSET
    )
    environments: Union[Unset, List[Environment]] = Field(default=UNSET)


class ReposOwnerRepoEnvironmentsEnvironmentNamePutBodyPropReviewersItems(
    GitHubRestModel
):
    """ReposOwnerRepoEnvironmentsEnvironmentNamePutBodyPropReviewersItems"""

    type: Union[Unset, Literal["User", "Team"]] = Field(
        description="The type of reviewer.", default=UNSET
    )
    id: Union[Unset, int] = Field(
        description="The id of the user or team who can review the deployment",
        default=UNSET,
    )


class ReposOwnerRepoEnvironmentsEnvironmentNamePutBody(GitHubRestModel):
    """ReposOwnerRepoEnvironmentsEnvironmentNamePutBody"""

    wait_timer: Union[Unset, int] = Field(
        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).",
        default=UNSET,
    )
    reviewers: Union[
        Unset,
        Union[
            List[ReposOwnerRepoEnvironmentsEnvironmentNamePutBodyPropReviewersItems],
            None,
        ],
    ] = Field(
        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.",
        default=UNSET,
    )
    deployment_branch_policy: Union[
        Unset, Union[DeploymentBranchPolicySettings, None]
    ] = Field(
        description="The type of deployment branch policy for this environment. To allow all branches to deploy, set to `null`.",
        default=UNSET,
    )


class ReposOwnerRepoEnvironmentsEnvironmentNameDeploymentBranchPoliciesGetResponse200(
    GitHubRestModel
):
    """ReposOwnerRepoEnvironmentsEnvironmentNameDeploymentBranchPoliciesGetResponse200"""

    total_count: int = Field(
        description="The number of deployment branch policies for the environment.",
        default=...,
    )
    branch_policies: List[DeploymentBranchPolicy] = Field(default=...)


class ReposOwnerRepoForksPostBody(GitHubRestModel):
    """ReposOwnerRepoForksPostBody"""

    organization: Union[Unset, str] = Field(
        description="Optional parameter to specify the organization name if forking into an organization.",
        default=UNSET,
    )
    name: Union[Unset, str] = Field(
        description="When forking from an existing repository, a new name for the fork.",
        default=UNSET,
    )
    default_branch_only: Union[Unset, bool] = Field(
        description="When forking from an existing repository, fork with only the default branch.",
        default=UNSET,
    )


class ReposOwnerRepoGitBlobsPostBody(GitHubRestModel):
    """ReposOwnerRepoGitBlobsPostBody"""

    content: str = Field(description="The new blob's content.", default=...)
    encoding: Union[Unset, str] = Field(
        description='The encoding used for `content`. Currently, `"utf-8"` and `"base64"` are supported.',
        default="utf-8",
    )


class ReposOwnerRepoGitCommitsPostBody(GitHubRestModel):
    """ReposOwnerRepoGitCommitsPostBody"""

    message: str = Field(description="The commit message", default=...)
    tree: str = Field(
        description="The SHA of the tree object this commit points to", default=...
    )
    parents: Union[Unset, List[str]] = Field(
        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.",
        default=UNSET,
    )
    author: Union[Unset, ReposOwnerRepoGitCommitsPostBodyPropAuthor] = Field(
        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.",
        default=UNSET,
    )
    committer: Union[Unset, ReposOwnerRepoGitCommitsPostBodyPropCommitter] = Field(
        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.",
        default=UNSET,
    )
    signature: Union[Unset, str] = Field(
        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.",
        default=UNSET,
    )


class ReposOwnerRepoGitCommitsPostBodyPropAuthor(GitHubRestModel):
    """ReposOwnerRepoGitCommitsPostBodyPropAuthor

    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.
    """

    name: str = Field(
        description="The name of the author (or committer) of the commit", default=...
    )
    email: str = Field(
        description="The email of the author (or committer) of the commit", default=...
    )
    date: Union[Unset, datetime] = Field(
        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`.",
        default=UNSET,
    )


class ReposOwnerRepoGitCommitsPostBodyPropCommitter(GitHubRestModel):
    """ReposOwnerRepoGitCommitsPostBodyPropCommitter

    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.
    """

    name: Union[Unset, str] = Field(
        description="The name of the author (or committer) of the commit", default=UNSET
    )
    email: Union[Unset, str] = Field(
        description="The email of the author (or committer) of the commit",
        default=UNSET,
    )
    date: Union[Unset, datetime] = Field(
        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`.",
        default=UNSET,
    )


class ReposOwnerRepoGitRefsPostBody(GitHubRestModel):
    """ReposOwnerRepoGitRefsPostBody"""

    ref: str = Field(
        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.",
        default=...,
    )
    sha: str = Field(description="The SHA1 value for this reference.", default=...)
    key: Union[Unset, str] = Field(default=UNSET)


class ReposOwnerRepoGitRefsRefPatchBody(GitHubRestModel):
    """ReposOwnerRepoGitRefsRefPatchBody"""

    sha: str = Field(description="The SHA1 value to set this reference to", default=...)
    force: Union[Unset, bool] = Field(
        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,
    )


class ReposOwnerRepoGitTagsPostBody(GitHubRestModel):
    """ReposOwnerRepoGitTagsPostBody"""

    tag: str = Field(
        description='The tag\'s name. This is typically a version (e.g., "v0.0.1").',
        default=...,
    )
    message: str = Field(description="The tag message.", default=...)
    object_: str = Field(
        description="The SHA of the git object this is tagging.",
        default=...,
        alias="object",
    )
    type: Literal["commit", "tree", "blob"] = Field(
        description="The type of the object we're tagging. Normally this is a `commit` but it can also be a `tree` or a `blob`.",
        default=...,
    )
    tagger: Union[Unset, ReposOwnerRepoGitTagsPostBodyPropTagger] = Field(
        description="An object with information about the individual creating the tag.",
        default=UNSET,
    )


class ReposOwnerRepoGitTagsPostBodyPropTagger(GitHubRestModel):
    """ReposOwnerRepoGitTagsPostBodyPropTagger

    An object with information about the individual creating the tag.
    """

    name: str = Field(description="The name of the author of the tag", default=...)
    email: str = Field(description="The email of the author of the tag", default=...)
    date: Union[Unset, datetime] = Field(
        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`.",
        default=UNSET,
    )


class ReposOwnerRepoGitTreesPostBody(GitHubRestModel):
    """ReposOwnerRepoGitTreesPostBody"""

    tree: List[ReposOwnerRepoGitTreesPostBodyPropTreeItems] = Field(
        description="Objects (of `path`, `mode`, `type`, and `sha`) specifying a tree structure.",
        default=...,
    )
    base_tree: Union[Unset, str] = Field(
        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.\nIf 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.\n",
        default=UNSET,
    )


class ReposOwnerRepoGitTreesPostBodyPropTreeItems(GitHubRestModel):
    """ReposOwnerRepoGitTreesPostBodyPropTreeItems"""

    path: Union[Unset, str] = Field(
        description="The file referenced in the tree.", default=UNSET
    )
    mode: Union[
        Unset, Literal["100644", "100755", "040000", "160000", "120000"]
    ] = Field(
        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.",
        default=UNSET,
    )
    type: Union[Unset, Literal["blob", "tree", "commit"]] = Field(
        description="Either `blob`, `tree`, or `commit`.", default=UNSET
    )
    sha: Union[Unset, Union[str, None]] = Field(
        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.  \n  \n**Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error.",
        default=UNSET,
    )
    content: Union[Unset, str] = Field(
        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`.  \n  \n**Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error.",
        default=UNSET,
    )


class ReposOwnerRepoHooksPostBodyPropConfig(GitHubRestModel):
    """ReposOwnerRepoHooksPostBodyPropConfig

    Key/value pairs to provide settings for this webhook. [These are defined
    below](https://docs.github.com/rest/reference/repos#create-hook-config-params).
    """

    url: Union[Unset, str] = Field(
        description="The URL to which the payloads will be delivered.", default=UNSET
    )
    content_type: Union[Unset, str] = Field(
        description="The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`.",
        default=UNSET,
    )
    secret: Union[Unset, str] = Field(
        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).",
        default=UNSET,
    )
    insecure_ssl: Union[Unset, Union[str, float]] = Field(
        description="Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**",
        default=UNSET,
    )
    token: Union[Unset, str] = Field(default=UNSET)
    digest: Union[Unset, str] = Field(default=UNSET)


class ReposOwnerRepoHooksPostBody(GitHubRestModel):
    """ReposOwnerRepoHooksPostBody"""

    name: Union[Unset, str] = Field(
        description="Use `web` to create a webhook. Default: `web`. This parameter only accepts the value `web`.",
        default=UNSET,
    )
    config: Union[Unset, ReposOwnerRepoHooksPostBodyPropConfig] = Field(
        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).",
        default=UNSET,
    )
    events: Union[Unset, List[str]] = Field(
        description="Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for.",
        default=["push"],
    )
    active: Union[Unset, bool] = Field(
        description="Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications.",
        default=True,
    )


class ReposOwnerRepoHooksHookIdPatchBody(GitHubRestModel):
    """ReposOwnerRepoHooksHookIdPatchBody"""

    config: Union[Unset, ReposOwnerRepoHooksHookIdPatchBodyPropConfig] = Field(
        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).",
        default=UNSET,
    )
    events: Union[Unset, List[str]] = Field(
        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"],
    )
    add_events: Union[Unset, List[str]] = Field(
        description="Determines a list of events to be added to the list of events that the Hook triggers for.",
        default=UNSET,
    )
    remove_events: Union[Unset, List[str]] = Field(
        description="Determines a list of events to be removed from the list of events that the Hook triggers for.",
        default=UNSET,
    )
    active: Union[Unset, bool] = Field(
        description="Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications.",
        default=True,
    )


class ReposOwnerRepoHooksHookIdPatchBodyPropConfig(GitHubRestModel):
    """ReposOwnerRepoHooksHookIdPatchBodyPropConfig

    Key/value pairs to provide settings for this webhook. [These are defined
    below](https://docs.github.com/rest/reference/repos#create-hook-config-params).
    """

    url: str = Field(
        description="The URL to which the payloads will be delivered.", default=...
    )
    content_type: Union[Unset, str] = Field(
        description="The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`.",
        default=UNSET,
    )
    secret: Union[Unset, str] = Field(
        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).",
        default=UNSET,
    )
    insecure_ssl: Union[Unset, Union[str, float]] = Field(
        description="Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**",
        default=UNSET,
    )
    address: Union[Unset, str] = Field(default=UNSET)
    room: Union[Unset, str] = Field(default=UNSET)


class ReposOwnerRepoHooksHookIdConfigPatchBody(GitHubRestModel):
    """ReposOwnerRepoHooksHookIdConfigPatchBody"""

    url: Union[Unset, str] = Field(
        description="The URL to which the payloads will be delivered.", default=UNSET
    )
    content_type: Union[Unset, str] = Field(
        description="The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`.",
        default=UNSET,
    )
    secret: Union[Unset, str] = Field(
        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).",
        default=UNSET,
    )
    insecure_ssl: Union[Unset, Union[str, float]] = Field(
        description="Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**",
        default=UNSET,
    )


class ReposOwnerRepoImportPutBody(GitHubRestModel):
    """ReposOwnerRepoImportPutBody"""

    vcs_url: str = Field(
        description="The URL of the originating repository.", default=...
    )
    vcs: Union[Unset, Literal["subversion", "git", "mercurial", "tfvc"]] = Field(
        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.",
        default=UNSET,
    )
    vcs_username: Union[Unset, str] = Field(
        description="If authentication is required, the username to provide to `vcs_url`.",
        default=UNSET,
    )
    vcs_password: Union[Unset, str] = Field(
        description="If authentication is required, the password to provide to `vcs_url`.",
        default=UNSET,
    )
    tfvc_project: Union[Unset, str] = Field(
        description="For a tfvc import, the name of the project that is being imported.",
        default=UNSET,
    )


class ReposOwnerRepoImportPatchBody(GitHubRestModel):
    """ReposOwnerRepoImportPatchBody"""

    vcs_username: Union[Unset, str] = Field(
        description="The username to provide to the originating repository.",
        default=UNSET,
    )
    vcs_password: Union[Unset, str] = Field(
        description="The password to provide to the originating repository.",
        default=UNSET,
    )
    vcs: Union[Unset, Literal["subversion", "tfvc", "git", "mercurial"]] = Field(
        description="The type of version control system you are migrating from.",
        default=UNSET,
    )
    tfvc_project: Union[Unset, str] = Field(
        description="For a tfvc import, the name of the project that is being imported.",
        default=UNSET,
    )


class ReposOwnerRepoImportAuthorsAuthorIdPatchBody(GitHubRestModel):
    """ReposOwnerRepoImportAuthorsAuthorIdPatchBody"""

    email: Union[Unset, str] = Field(
        description="The new Git author email.", default=UNSET
    )
    name: Union[Unset, str] = Field(
        description="The new Git author name.", default=UNSET
    )


class ReposOwnerRepoImportLfsPatchBody(GitHubRestModel):
    """ReposOwnerRepoImportLfsPatchBody"""

    use_lfs: Literal["opt_in", "opt_out"] = Field(
        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.",
        default=...,
    )


class ReposOwnerRepoInteractionLimitsGetResponse200Anyof1(GitHubRestModel):
    """ReposOwnerRepoInteractionLimitsGetResponse200Anyof1"""


class ReposOwnerRepoInvitationsInvitationIdPatchBody(GitHubRestModel):
    """ReposOwnerRepoInvitationsInvitationIdPatchBody"""

    permissions: Union[
        Unset, Literal["read", "write", "maintain", "triage", "admin"]
    ] = Field(
        description="The permissions that the associated user will have on the repository. Valid values are `read`, `write`, `maintain`, `triage`, and `admin`.",
        default=UNSET,
    )


class ReposOwnerRepoIssuesPostBody(GitHubRestModel):
    """ReposOwnerRepoIssuesPostBody"""

    title: Union[str, int] = Field(description="The title of the issue.", default=...)
    body: Union[Unset, str] = Field(
        description="The contents of the issue.", default=UNSET
    )
    assignee: Union[Unset, Union[str, None]] = Field(
        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.**_",
        default=UNSET,
    )
    milestone: Union[Unset, Union[str, int, None]] = Field(
        description="The `number` of the milestone to associate this issue with. _NOTE: Only users with push access can set the milestone for new issues. The milestone is silently dropped otherwise._",
        default=UNSET,
    )
    labels: Union[
        Unset, List[Union[str, ReposOwnerRepoIssuesPostBodyPropLabelsItemsOneof1]]
    ] = Field(
        description="Labels to associate with this issue. _NOTE: Only users with push access can set labels for new issues. Labels are silently dropped otherwise._",
        default=UNSET,
    )
    assignees: Union[Unset, List[str]] = Field(
        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._",
        default=UNSET,
    )


class ReposOwnerRepoIssuesPostBodyPropLabelsItemsOneof1(GitHubRestModel):
    """ReposOwnerRepoIssuesPostBodyPropLabelsItemsOneof1"""

    id: Union[Unset, int] = Field(default=UNSET)
    name: Union[Unset, str] = Field(default=UNSET)
    description: Union[Unset, Union[str, None]] = Field(default=UNSET)
    color: Union[Unset, Union[str, None]] = Field(default=UNSET)


class ReposOwnerRepoIssuesCommentsCommentIdPatchBody(GitHubRestModel):
    """ReposOwnerRepoIssuesCommentsCommentIdPatchBody"""

    body: str = Field(description="The contents of the comment.", default=...)


class ReposOwnerRepoIssuesCommentsCommentIdReactionsPostBody(GitHubRestModel):
    """ReposOwnerRepoIssuesCommentsCommentIdReactionsPostBody"""

    content: Literal[
        "+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"
    ] = Field(
        description="The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the issue comment.",
        default=...,
    )


class ReposOwnerRepoIssuesIssueNumberPatchBody(GitHubRestModel):
    """ReposOwnerRepoIssuesIssueNumberPatchBody"""

    title: Union[Unset, Union[str, int, None]] = Field(
        description="The title of the issue.", default=UNSET
    )
    body: Union[Unset, Union[str, None]] = Field(
        description="The contents of the issue.", default=UNSET
    )
    assignee: Union[Unset, Union[str, None]] = Field(
        description="Login for the user that this issue should be assigned to. **This field is deprecated.**",
        default=UNSET,
    )
    state: Union[Unset, Literal["open", "closed"]] = Field(
        description="State of the issue. Either `open` or `closed`.", default=UNSET
    )
    state_reason: Union[
        Unset, Union[None, Literal["completed", "not_planned", "reopened"]]
    ] = Field(description="The reason for the current state", default=UNSET)
    milestone: Union[Unset, Union[str, int, None]] = Field(
        description="The `number` of the milestone to associate this issue with or `null` to remove current. _NOTE: Only users with push access can set the milestone for issues. The milestone is silently dropped otherwise._",
        default=UNSET,
    )
    labels: Union[
        Unset,
        List[Union[str, ReposOwnerRepoIssuesIssueNumberPatchBodyPropLabelsItemsOneof1]],
    ] = Field(
        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._",
        default=UNSET,
    )
    assignees: Union[Unset, List[str]] = Field(
        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._",
        default=UNSET,
    )


class ReposOwnerRepoIssuesIssueNumberPatchBodyPropLabelsItemsOneof1(GitHubRestModel):
    """ReposOwnerRepoIssuesIssueNumberPatchBodyPropLabelsItemsOneof1"""

    id: Union[Unset, int] = Field(default=UNSET)
    name: Union[Unset, str] = Field(default=UNSET)
    description: Union[Unset, Union[str, None]] = Field(default=UNSET)
    color: Union[Unset, Union[str, None]] = Field(default=UNSET)


class ReposOwnerRepoIssuesIssueNumberAssigneesPostBody(GitHubRestModel):
    """ReposOwnerRepoIssuesIssueNumberAssigneesPostBody"""

    assignees: Union[Unset, List[str]] = Field(
        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._",
        default=UNSET,
    )


class ReposOwnerRepoIssuesIssueNumberAssigneesDeleteBody(GitHubRestModel):
    """ReposOwnerRepoIssuesIssueNumberAssigneesDeleteBody"""

    assignees: Union[Unset, List[str]] = Field(
        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._",
        default=UNSET,
    )


class ReposOwnerRepoIssuesIssueNumberCommentsPostBody(GitHubRestModel):
    """ReposOwnerRepoIssuesIssueNumberCommentsPostBody"""

    body: str = Field(description="The contents of the comment.", default=...)


class ReposOwnerRepoIssuesIssueNumberLabelsPutBodyOneof0(GitHubRestModel):
    """ReposOwnerRepoIssuesIssueNumberLabelsPutBodyOneof0"""

    labels: Union[Unset, List[str]] = Field(
        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)."',
        min_items=1,
        default=UNSET,
    )


class ReposOwnerRepoIssuesIssueNumberLabelsPutBodyOneof2(GitHubRestModel):
    """ReposOwnerRepoIssuesIssueNumberLabelsPutBodyOneof2"""

    labels: Union[
        Unset, List[ReposOwnerRepoIssuesIssueNumberLabelsPutBodyOneof2PropLabelsItems]
    ] = Field(default=UNSET)


class ReposOwnerRepoIssuesIssueNumberLabelsPutBodyOneof2PropLabelsItems(
    GitHubRestModel
):
    """ReposOwnerRepoIssuesIssueNumberLabelsPutBodyOneof2PropLabelsItems"""

    name: str = Field(default=...)


class ReposOwnerRepoIssuesIssueNumberLabelsPutBodyOneof3Items(GitHubRestModel):
    """ReposOwnerRepoIssuesIssueNumberLabelsPutBodyOneof3Items"""

    name: str = Field(default=...)


class ReposOwnerRepoIssuesIssueNumberLabelsPostBodyOneof0(GitHubRestModel):
    """ReposOwnerRepoIssuesIssueNumberLabelsPostBodyOneof0"""

    labels: Union[Unset, List[str]] = Field(
        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)."',
        min_items=1,
        default=UNSET,
    )


class ReposOwnerRepoIssuesIssueNumberLabelsPostBodyOneof2(GitHubRestModel):
    """ReposOwnerRepoIssuesIssueNumberLabelsPostBodyOneof2"""

    labels: Union[
        Unset, List[ReposOwnerRepoIssuesIssueNumberLabelsPostBodyOneof2PropLabelsItems]
    ] = Field(default=UNSET)


class ReposOwnerRepoIssuesIssueNumberLabelsPostBodyOneof2PropLabelsItems(
    GitHubRestModel
):
    """ReposOwnerRepoIssuesIssueNumberLabelsPostBodyOneof2PropLabelsItems"""

    name: str = Field(default=...)


class ReposOwnerRepoIssuesIssueNumberLabelsPostBodyOneof3Items(GitHubRestModel):
    """ReposOwnerRepoIssuesIssueNumberLabelsPostBodyOneof3Items"""

    name: str = Field(default=...)


class ReposOwnerRepoIssuesIssueNumberLockPutBody(GitHubRestModel):
    """ReposOwnerRepoIssuesIssueNumberLockPutBody"""

    lock_reason: Union[
        Unset, Literal["off-topic", "too heated", "resolved", "spam"]
    ] = Field(
        description="The reason for locking the issue or pull request conversation. Lock will fail if you don't use one of these reasons:  \n\\* `off-topic`  \n\\* `too heated`  \n\\* `resolved`  \n\\* `spam`",
        default=UNSET,
    )


class ReposOwnerRepoIssuesIssueNumberReactionsPostBody(GitHubRestModel):
    """ReposOwnerRepoIssuesIssueNumberReactionsPostBody"""

    content: Literal[
        "+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"
    ] = Field(
        description="The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the issue.",
        default=...,
    )


class ReposOwnerRepoKeysPostBody(GitHubRestModel):
    """ReposOwnerRepoKeysPostBody"""

    title: Union[Unset, str] = Field(description="A name for the key.", default=UNSET)
    key: str = Field(description="The contents of the key.", default=...)
    read_only: Union[Unset, bool] = Field(
        description='If `true`, the key will only be able to read repository contents. Otherwise, the key will be able to read and write.  \n  \nDeploy 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/)."',
        default=UNSET,
    )


class ReposOwnerRepoLabelsPostBody(GitHubRestModel):
    """ReposOwnerRepoLabelsPostBody"""

    name: str = Field(
        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)."',
        default=...,
    )
    color: Union[Unset, str] = Field(
        description="The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`.",
        default=UNSET,
    )
    description: Union[Unset, str] = Field(
        description="A short description of the label. Must be 100 characters or fewer.",
        default=UNSET,
    )


class ReposOwnerRepoLabelsNamePatchBody(GitHubRestModel):
    """ReposOwnerRepoLabelsNamePatchBody"""

    new_name: Union[Unset, str] = Field(
        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)."',
        default=UNSET,
    )
    color: Union[Unset, str] = Field(
        description="The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`.",
        default=UNSET,
    )
    description: Union[Unset, str] = Field(
        description="A short description of the label. Must be 100 characters or fewer.",
        default=UNSET,
    )


class ReposOwnerRepoMergeUpstreamPostBody(GitHubRestModel):
    """ReposOwnerRepoMergeUpstreamPostBody"""

    branch: str = Field(
        description="The name of the branch which should be updated to match upstream.",
        default=...,
    )


class ReposOwnerRepoMergesPostBody(GitHubRestModel):
    """ReposOwnerRepoMergesPostBody"""

    base: str = Field(
        description="The name of the base branch that the head will be merged into.",
        default=...,
    )
    head: str = Field(
        description="The head to merge. This can be a branch name or a commit SHA1.",
        default=...,
    )
    commit_message: Union[Unset, str] = Field(
        description="Commit message to use for the merge commit. If omitted, a default message will be used.",
        default=UNSET,
    )


class ReposOwnerRepoMilestonesPostBody(GitHubRestModel):
    """ReposOwnerRepoMilestonesPostBody"""

    title: str = Field(description="The title of the milestone.", default=...)
    state: Union[Unset, Literal["open", "closed"]] = Field(
        description="The state of the milestone. Either `open` or `closed`.",
        default="open",
    )
    description: Union[Unset, str] = Field(
        description="A description of the milestone.", default=UNSET
    )
    due_on: Union[Unset, datetime] = Field(
        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`.",
        default=UNSET,
    )


class ReposOwnerRepoMilestonesMilestoneNumberPatchBody(GitHubRestModel):
    """ReposOwnerRepoMilestonesMilestoneNumberPatchBody"""

    title: Union[Unset, str] = Field(
        description="The title of the milestone.", default=UNSET
    )
    state: Union[Unset, Literal["open", "closed"]] = Field(
        description="The state of the milestone. Either `open` or `closed`.",
        default="open",
    )
    description: Union[Unset, str] = Field(
        description="A description of the milestone.", default=UNSET
    )
    due_on: Union[Unset, datetime] = Field(
        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`.",
        default=UNSET,
    )


class ReposOwnerRepoNotificationsPutBody(GitHubRestModel):
    """ReposOwnerRepoNotificationsPutBody"""

    last_read_at: Union[Unset, datetime] = Field(
        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.",
        default=UNSET,
    )


class ReposOwnerRepoNotificationsPutResponse202(GitHubRestModel):
    """ReposOwnerRepoNotificationsPutResponse202"""

    message: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class ReposOwnerRepoPagesPutBodyPropSourceAnyof1(GitHubRestModel):
    """ReposOwnerRepoPagesPutBodyPropSourceAnyof1

    Update the source for the repository. Must include the branch name and path.
    """

    branch: str = Field(
        description="The repository branch used to publish your site's source files.",
        default=...,
    )
    path: Literal["/", "/docs"] = Field(
        description="The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`.",
        default=...,
    )


class ReposOwnerRepoPagesPutBodyAnyof0(GitHubRestModel):
    """ReposOwnerRepoPagesPutBodyAnyof0"""

    cname: Union[Unset, Union[str, None]] = Field(
        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/)."',
        default=UNSET,
    )
    https_enforced: Union[Unset, bool] = Field(
        description="Specify whether HTTPS should be enforced for the repository.",
        default=UNSET,
    )
    public: Union[Unset, bool] = Field(
        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.",
        default=UNSET,
    )
    build_type: Literal["legacy", "workflow"] = Field(
        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.",
        default=...,
    )
    source: Union[
        Unset,
        Union[
            Literal["gh-pages", "master", "master /docs"],
            ReposOwnerRepoPagesPutBodyPropSourceAnyof1,
        ],
    ] = Field(
        description="Update the source for the repository. Must include the branch name and path.",
        default=UNSET,
    )


class ReposOwnerRepoPagesPutBodyAnyof1(GitHubRestModel):
    """ReposOwnerRepoPagesPutBodyAnyof1"""

    cname: Union[Unset, Union[str, None]] = Field(
        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/)."',
        default=UNSET,
    )
    https_enforced: Union[Unset, bool] = Field(
        description="Specify whether HTTPS should be enforced for the repository.",
        default=UNSET,
    )
    public: Union[Unset, bool] = Field(
        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.",
        default=UNSET,
    )
    build_type: Union[Unset, Literal["legacy", "workflow"]] = Field(
        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.",
        default=UNSET,
    )
    source: Union[
        Literal["gh-pages", "master", "master /docs"],
        ReposOwnerRepoPagesPutBodyPropSourceAnyof1,
    ] = Field(
        description="Update the source for the repository. Must include the branch name and path.",
        default=...,
    )


class ReposOwnerRepoPagesPutBodyAnyof2(GitHubRestModel):
    """ReposOwnerRepoPagesPutBodyAnyof2"""

    cname: Union[str, None] = Field(
        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/)."',
        default=...,
    )
    https_enforced: Union[Unset, bool] = Field(
        description="Specify whether HTTPS should be enforced for the repository.",
        default=UNSET,
    )
    public: Union[Unset, bool] = Field(
        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.",
        default=UNSET,
    )
    build_type: Union[Unset, Literal["legacy", "workflow"]] = Field(
        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.",
        default=UNSET,
    )
    source: Union[
        Unset,
        Union[
            Literal["gh-pages", "master", "master /docs"],
            ReposOwnerRepoPagesPutBodyPropSourceAnyof1,
        ],
    ] = Field(
        description="Update the source for the repository. Must include the branch name and path.",
        default=UNSET,
    )


class ReposOwnerRepoPagesPutBodyAnyof3(GitHubRestModel):
    """ReposOwnerRepoPagesPutBodyAnyof3"""

    cname: Union[Unset, Union[str, None]] = Field(
        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/)."',
        default=UNSET,
    )
    https_enforced: Union[Unset, bool] = Field(
        description="Specify whether HTTPS should be enforced for the repository.",
        default=UNSET,
    )
    public: bool = Field(
        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.",
        default=...,
    )
    build_type: Union[Unset, Literal["legacy", "workflow"]] = Field(
        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.",
        default=UNSET,
    )
    source: Union[
        Unset,
        Union[
            Literal["gh-pages", "master", "master /docs"],
            ReposOwnerRepoPagesPutBodyPropSourceAnyof1,
        ],
    ] = Field(
        description="Update the source for the repository. Must include the branch name and path.",
        default=UNSET,
    )


class ReposOwnerRepoPagesPutBodyAnyof4(GitHubRestModel):
    """ReposOwnerRepoPagesPutBodyAnyof4"""

    cname: Union[Unset, Union[str, None]] = Field(
        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/)."',
        default=UNSET,
    )
    https_enforced: bool = Field(
        description="Specify whether HTTPS should be enforced for the repository.",
        default=...,
    )
    public: Union[Unset, bool] = Field(
        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.",
        default=UNSET,
    )
    build_type: Union[Unset, Literal["legacy", "workflow"]] = Field(
        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.",
        default=UNSET,
    )
    source: Union[
        Unset,
        Union[
            Literal["gh-pages", "master", "master /docs"],
            ReposOwnerRepoPagesPutBodyPropSourceAnyof1,
        ],
    ] = Field(
        description="Update the source for the repository. Must include the branch name and path.",
        default=UNSET,
    )


class ReposOwnerRepoPagesPostBodyPropSource(GitHubRestModel):
    """ReposOwnerRepoPagesPostBodyPropSource

    The source branch and directory used to publish your Pages site.
    """

    branch: str = Field(
        description="The repository branch used to publish your site's source files.",
        default=...,
    )
    path: Union[Unset, Literal["/", "/docs"]] = Field(
        description="The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`. Default: `/`",
        default="/",
    )


class ReposOwnerRepoPagesPostBodyAnyof0(GitHubRestModel):
    """ReposOwnerRepoPagesPostBodyAnyof0"""

    build_type: Union[Unset, Literal["legacy", "workflow"]] = Field(
        description='The process in which the Page will be built. Possible values are `"legacy"` and `"workflow"`.',
        default=UNSET,
    )
    source: ReposOwnerRepoPagesPostBodyPropSource = Field(
        description="The source branch and directory used to publish your Pages site.",
        default=...,
    )


class ReposOwnerRepoPagesPostBodyAnyof1(GitHubRestModel):
    """ReposOwnerRepoPagesPostBodyAnyof1"""

    build_type: Literal["legacy", "workflow"] = Field(
        description='The process in which the Page will be built. Possible values are `"legacy"` and `"workflow"`.',
        default=...,
    )
    source: Union[Unset, ReposOwnerRepoPagesPostBodyPropSource] = Field(
        description="The source branch and directory used to publish your Pages site.",
        default=UNSET,
    )


class ReposOwnerRepoPagesDeploymentPostBody(GitHubRestModel):
    """ReposOwnerRepoPagesDeploymentPostBody

    The object used to create GitHub Pages deployment
    """

    artifact_url: str = Field(
        description="The URL of an artifact that contains the .zip or .tar of static assets to deploy. The artifact belongs to the repository.",
        default=...,
    )
    environment: Union[Unset, str] = Field(
        description="The target environment for this GitHub Pages deployment.",
        default="github-pages",
    )
    pages_build_version: str = Field(
        description="A unique string that represents the version of the build for this deployment.",
        default="GITHUB_SHA",
    )
    oidc_token: str = Field(
        description="The OIDC token issued by GitHub Actions certifying the origin of the deployment.",
        default=...,
    )


class ReposOwnerRepoProjectsPostBody(GitHubRestModel):
    """ReposOwnerRepoProjectsPostBody"""

    name: str = Field(description="The name of the project.", default=...)
    body: Union[Unset, str] = Field(
        description="The description of the project.", default=UNSET
    )


class ReposOwnerRepoPullsPostBody(GitHubRestModel):
    """ReposOwnerRepoPullsPostBody"""

    title: Union[Unset, str] = Field(
        description="The title of the new pull request. Required unless `issue` is specified.",
        default=UNSET,
    )
    head: str = Field(
        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`.",
        default=...,
    )
    base: str = Field(
        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.",
        default=...,
    )
    body: Union[Unset, str] = Field(
        description="The contents of the pull request.", default=UNSET
    )
    maintainer_can_modify: Union[Unset, bool] = Field(
        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.",
        default=UNSET,
    )
    draft: Union[Unset, bool] = Field(
        description='Indicates whether the pull request is a draft. See "[Draft Pull Requests](https://docs.github.com/en/articles/about-pull-requests#draft-pull-requests)" in the GitHub Help documentation to learn more.',
        default=UNSET,
    )
    issue: Union[Unset, int] = Field(
        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.",
        default=UNSET,
    )


class ReposOwnerRepoPullsCommentsCommentIdPatchBody(GitHubRestModel):
    """ReposOwnerRepoPullsCommentsCommentIdPatchBody"""

    body: str = Field(
        description="The text of the reply to the review comment.", default=...
    )


class ReposOwnerRepoPullsCommentsCommentIdReactionsPostBody(GitHubRestModel):
    """ReposOwnerRepoPullsCommentsCommentIdReactionsPostBody"""

    content: Literal[
        "+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"
    ] = Field(
        description="The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the pull request review comment.",
        default=...,
    )


class ReposOwnerRepoPullsPullNumberPatchBody(GitHubRestModel):
    """ReposOwnerRepoPullsPullNumberPatchBody"""

    title: Union[Unset, str] = Field(
        description="The title of the pull request.", default=UNSET
    )
    body: Union[Unset, str] = Field(
        description="The contents of the pull request.", default=UNSET
    )
    state: Union[Unset, Literal["open", "closed"]] = Field(
        description="State of this Pull Request. Either `open` or `closed`.",
        default=UNSET,
    )
    base: Union[Unset, str] = Field(
        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.",
        default=UNSET,
    )
    maintainer_can_modify: Union[Unset, bool] = Field(
        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.",
        default=UNSET,
    )


class ReposOwnerRepoPullsPullNumberCodespacesPostBody(GitHubRestModel):
    """ReposOwnerRepoPullsPullNumberCodespacesPostBody"""

    location: Union[Unset, str] = Field(
        description="Location for this codespace. Assigned by IP if not provided",
        default=UNSET,
    )
    client_ip: Union[Unset, str] = Field(
        description="IP for location auto-detection when proxying a request",
        default=UNSET,
    )
    machine: Union[Unset, str] = Field(
        description="Machine type to use for this codespace", default=UNSET
    )
    devcontainer_path: Union[Unset, str] = Field(
        description="Path to devcontainer.json config to use for this codespace",
        default=UNSET,
    )
    multi_repo_permissions_opt_out: Union[Unset, bool] = Field(
        description="Whether to authorize requested permissions from devcontainer.json",
        default=UNSET,
    )
    working_directory: Union[Unset, str] = Field(
        description="Working directory for this codespace", default=UNSET
    )
    idle_timeout_minutes: Union[Unset, int] = Field(
        description="Time in minutes before codespace stops from inactivity",
        default=UNSET,
    )
    display_name: Union[Unset, str] = Field(
        description="Display name for this codespace", default=UNSET
    )
    retention_period_minutes: Union[Unset, int] = Field(
        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).",
        default=UNSET,
    )


class ReposOwnerRepoPullsPullNumberCommentsPostBody(GitHubRestModel):
    """ReposOwnerRepoPullsPullNumberCommentsPostBody"""

    body: str = Field(description="The text of the review comment.", default=...)
    commit_id: str = Field(
        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`.",
        default=...,
    )
    path: str = Field(
        description="The relative path to the file that necessitates a comment.",
        default=...,
    )
    position: Union[Unset, int] = Field(
        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.",
        default=UNSET,
    )
    side: Union[Unset, Literal["LEFT", "RIGHT"]] = Field(
        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/en/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation.',
        default=UNSET,
    )
    line: int = Field(
        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.",
        default=...,
    )
    start_line: Union[Unset, int] = Field(
        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/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation.',
        default=UNSET,
    )
    start_side: Union[Unset, Literal["LEFT", "RIGHT", "side"]] = Field(
        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/en/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.',
        default=UNSET,
    )
    in_reply_to: Union[Unset, int] = Field(
        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.',
        default=UNSET,
    )


class ReposOwnerRepoPullsPullNumberCommentsCommentIdRepliesPostBody(GitHubRestModel):
    """ReposOwnerRepoPullsPullNumberCommentsCommentIdRepliesPostBody"""

    body: str = Field(description="The text of the review comment.", default=...)


class ReposOwnerRepoPullsPullNumberMergePutBody(GitHubRestModel):
    """ReposOwnerRepoPullsPullNumberMergePutBody"""

    commit_title: Union[Unset, str] = Field(
        description="Title for the automatic commit message.", default=UNSET
    )
    commit_message: Union[Unset, str] = Field(
        description="Extra detail to append to automatic commit message.", default=UNSET
    )
    sha: Union[Unset, str] = Field(
        description="SHA that pull request head must match to allow merge.",
        default=UNSET,
    )
    merge_method: Union[Unset, Literal["merge", "squash", "rebase"]] = Field(
        description="The merge method to use.", default=UNSET
    )


class ReposOwnerRepoPullsPullNumberMergePutResponse405(GitHubRestModel):
    """ReposOwnerRepoPullsPullNumberMergePutResponse405"""

    message: Union[Unset, str] = Field(default=UNSET)
    documentation_url: Union[Unset, str] = Field(default=UNSET)


class ReposOwnerRepoPullsPullNumberMergePutResponse409(GitHubRestModel):
    """ReposOwnerRepoPullsPullNumberMergePutResponse409"""

    message: Union[Unset, str] = Field(default=UNSET)
    documentation_url: Union[Unset, str] = Field(default=UNSET)


class ReposOwnerRepoPullsPullNumberRequestedReviewersPostBodyAnyof0(GitHubRestModel):
    """ReposOwnerRepoPullsPullNumberRequestedReviewersPostBodyAnyof0"""

    reviewers: List[str] = Field(
        description="An array of user `login`s that will be requested.", default=...
    )
    team_reviewers: Union[Unset, List[str]] = Field(
        description="An array of team `slug`s that will be requested.", default=UNSET
    )


class ReposOwnerRepoPullsPullNumberRequestedReviewersPostBodyAnyof1(GitHubRestModel):
    """ReposOwnerRepoPullsPullNumberRequestedReviewersPostBodyAnyof1"""

    reviewers: Union[Unset, List[str]] = Field(
        description="An array of user `login`s that will be requested.", default=UNSET
    )
    team_reviewers: List[str] = Field(
        description="An array of team `slug`s that will be requested.", default=...
    )


class ReposOwnerRepoPullsPullNumberRequestedReviewersDeleteBody(GitHubRestModel):
    """ReposOwnerRepoPullsPullNumberRequestedReviewersDeleteBody"""

    reviewers: List[str] = Field(
        description="An array of user `login`s that will be removed.", default=...
    )
    team_reviewers: Union[Unset, List[str]] = Field(
        description="An array of team `slug`s that will be removed.", default=UNSET
    )


class ReposOwnerRepoPullsPullNumberReviewsPostBody(GitHubRestModel):
    """ReposOwnerRepoPullsPullNumberReviewsPostBody"""

    commit_id: Union[Unset, str] = Field(
        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.",
        default=UNSET,
    )
    body: Union[Unset, str] = Field(
        description="**Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review.",
        default=UNSET,
    )
    event: Union[Unset, Literal["APPROVE", "REQUEST_CHANGES", "COMMENT"]] = Field(
        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.",
        default=UNSET,
    )
    comments: Union[
        Unset, List[ReposOwnerRepoPullsPullNumberReviewsPostBodyPropCommentsItems]
    ] = Field(
        description="Use the following table to specify the location, destination, and contents of the draft review comment.",
        default=UNSET,
    )


class ReposOwnerRepoPullsPullNumberReviewsPostBodyPropCommentsItems(GitHubRestModel):
    """ReposOwnerRepoPullsPullNumberReviewsPostBodyPropCommentsItems"""

    path: str = Field(
        description="The relative path to the file that necessitates a review comment.",
        default=...,
    )
    position: Union[Unset, int] = Field(
        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.",
        default=UNSET,
    )
    body: str = Field(description="Text of the review comment.", default=...)
    line: Union[Unset, int] = Field(default=UNSET)
    side: Union[Unset, str] = Field(default=UNSET)
    start_line: Union[Unset, int] = Field(default=UNSET)
    start_side: Union[Unset, str] = Field(default=UNSET)


class ReposOwnerRepoPullsPullNumberReviewsReviewIdPutBody(GitHubRestModel):
    """ReposOwnerRepoPullsPullNumberReviewsReviewIdPutBody"""

    body: str = Field(
        description="The body text of the pull request review.", default=...
    )


class ReposOwnerRepoPullsPullNumberReviewsReviewIdDismissalsPutBody(GitHubRestModel):
    """ReposOwnerRepoPullsPullNumberReviewsReviewIdDismissalsPutBody"""

    message: str = Field(
        description="The message for the pull request review dismissal", default=...
    )
    event: Union[Unset, Literal["DISMISS"]] = Field(default=UNSET)


class ReposOwnerRepoPullsPullNumberReviewsReviewIdEventsPostBody(GitHubRestModel):
    """ReposOwnerRepoPullsPullNumberReviewsReviewIdEventsPostBody"""

    body: Union[Unset, str] = Field(
        description="The body text of the pull request review", default=UNSET
    )
    event: Literal["APPROVE", "REQUEST_CHANGES", "COMMENT"] = Field(
        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.",
        default=...,
    )


class ReposOwnerRepoPullsPullNumberUpdateBranchPutBody(GitHubRestModel):
    """ReposOwnerRepoPullsPullNumberUpdateBranchPutBody"""

    expected_head_sha: Union[Unset, str] = Field(
        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.",
        default=UNSET,
    )


class ReposOwnerRepoPullsPullNumberUpdateBranchPutResponse202(GitHubRestModel):
    """ReposOwnerRepoPullsPullNumberUpdateBranchPutResponse202"""

    message: Union[Unset, str] = Field(default=UNSET)
    url: Union[Unset, str] = Field(default=UNSET)


class ReposOwnerRepoReleasesPostBody(GitHubRestModel):
    """ReposOwnerRepoReleasesPostBody"""

    tag_name: str = Field(description="The name of the tag.", default=...)
    target_commitish: Union[Unset, str] = Field(
        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`).",
        default=UNSET,
    )
    name: Union[Unset, str] = Field(
        description="The name of the release.", default=UNSET
    )
    body: Union[Unset, str] = Field(
        description="Text describing the contents of the tag.", default=UNSET
    )
    draft: Union[Unset, bool] = Field(
        description="`true` to create a draft (unpublished) release, `false` to create a published one.",
        default=False,
    )
    prerelease: Union[Unset, bool] = Field(
        description="`true` to identify the release as a prerelease. `false` to identify the release as a full release.",
        default=False,
    )
    discussion_category_name: Union[Unset, str] = Field(
        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)."',
        default=UNSET,
    )
    generate_release_notes: Union[Unset, bool] = Field(
        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,
    )


class ReposOwnerRepoReleasesAssetsAssetIdPatchBody(GitHubRestModel):
    """ReposOwnerRepoReleasesAssetsAssetIdPatchBody"""

    name: Union[Unset, str] = Field(
        description="The file name of the asset.", default=UNSET
    )
    label: Union[Unset, str] = Field(
        description="An alternate short description of the asset. Used in place of the filename.",
        default=UNSET,
    )
    state: Union[Unset, str] = Field(default=UNSET)


class ReposOwnerRepoReleasesGenerateNotesPostBody(GitHubRestModel):
    """ReposOwnerRepoReleasesGenerateNotesPostBody"""

    tag_name: str = Field(
        description="The tag name for the release. This can be an existing tag or a new one.",
        default=...,
    )
    target_commitish: Union[Unset, str] = Field(
        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.",
        default=UNSET,
    )
    previous_tag_name: Union[Unset, str] = Field(
        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.",
        default=UNSET,
    )
    configuration_file_path: Union[Unset, str] = Field(
        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.",
        default=UNSET,
    )


class ReposOwnerRepoReleasesReleaseIdPatchBody(GitHubRestModel):
    """ReposOwnerRepoReleasesReleaseIdPatchBody"""

    tag_name: Union[Unset, str] = Field(
        description="The name of the tag.", default=UNSET
    )
    target_commitish: Union[Unset, str] = Field(
        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`).",
        default=UNSET,
    )
    name: Union[Unset, str] = Field(
        description="The name of the release.", default=UNSET
    )
    body: Union[Unset, str] = Field(
        description="Text describing the contents of the tag.", default=UNSET
    )
    draft: Union[Unset, bool] = Field(
        description="`true` makes the release a draft, and `false` publishes the release.",
        default=UNSET,
    )
    prerelease: Union[Unset, bool] = Field(
        description="`true` to identify the release as a prerelease, `false` to identify the release as a full release.",
        default=UNSET,
    )
    discussion_category_name: Union[Unset, str] = Field(
        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)."',
        default=UNSET,
    )


class ReposOwnerRepoReleasesReleaseIdReactionsPostBody(GitHubRestModel):
    """ReposOwnerRepoReleasesReleaseIdReactionsPostBody"""

    content: Literal["+1", "laugh", "heart", "hooray", "rocket", "eyes"] = Field(
        description="The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the release.",
        default=...,
    )


class ReposOwnerRepoSecretScanningAlertsAlertNumberPatchBody(GitHubRestModel):
    """ReposOwnerRepoSecretScanningAlertsAlertNumberPatchBody"""

    state: Literal["open", "resolved"] = Field(
        description="Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`.",
        default=...,
    )
    resolution: Union[
        Unset,
        Union[None, Literal["false_positive", "wont_fix", "revoked", "used_in_tests"]],
    ] = Field(
        description="**Required when the `state` is `resolved`.** The reason for resolving the alert.",
        default=UNSET,
    )
    resolution_comment: Union[Unset, Union[str, None]] = Field(
        description="An optional comment when closing an alert. Cannot be updated or deleted. Must be `null` when changing `state` to `open`.",
        default=UNSET,
    )


class ReposOwnerRepoStatusesShaPostBody(GitHubRestModel):
    """ReposOwnerRepoStatusesShaPostBody"""

    state: Literal["error", "failure", "pending", "success"] = Field(
        description="The state of the status.", default=...
    )
    target_url: Union[Unset, Union[str, None]] = Field(
        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.  \nFor 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:  \n`http://ci.example.com/user/repo/build/sha`",
        default=UNSET,
    )
    description: Union[Unset, Union[str, None]] = Field(
        description="A short description of the status.", default=UNSET
    )
    context: Union[Unset, str] = Field(
        description="A string label to differentiate this status from the status of other systems. This field is case-insensitive.",
        default="default",
    )


class ReposOwnerRepoSubscriptionPutBody(GitHubRestModel):
    """ReposOwnerRepoSubscriptionPutBody"""

    subscribed: Union[Unset, bool] = Field(
        description="Determines if notifications should be received from this repository.",
        default=UNSET,
    )
    ignored: Union[Unset, bool] = Field(
        description="Determines if all notifications should be blocked from this repository.",
        default=UNSET,
    )


class ReposOwnerRepoTagsProtectionPostBody(GitHubRestModel):
    """ReposOwnerRepoTagsProtectionPostBody"""

    pattern: str = Field(
        description="An optional glob pattern to match against when enforcing tag protection.",
        default=...,
    )


class ReposOwnerRepoTopicsPutBody(GitHubRestModel):
    """ReposOwnerRepoTopicsPutBody"""

    names: List[str] = Field(
        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.",
        default=...,
    )


class ReposOwnerRepoTransferPostBody(GitHubRestModel):
    """ReposOwnerRepoTransferPostBody"""

    new_owner: str = Field(
        description="The username or organization name the repository will be transferred to.",
        default=...,
    )
    team_ids: Union[Unset, List[int]] = Field(
        description="ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories.",
        default=UNSET,
    )


class ReposTemplateOwnerTemplateRepoGeneratePostBody(GitHubRestModel):
    """ReposTemplateOwnerTemplateRepoGeneratePostBody"""

    owner: Union[Unset, str] = Field(
        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.",
        default=UNSET,
    )
    name: str = Field(description="The name of the new repository.", default=...)
    description: Union[Unset, str] = Field(
        description="A short description of the new repository.", default=UNSET
    )
    include_all_branches: Union[Unset, bool] = Field(
        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,
    )
    private: Union[Unset, bool] = Field(
        description="Either `true` to create a new private repository or `false` to create a new public one.",
        default=False,
    )


class RepositoriesRepositoryIdEnvironmentsEnvironmentNameSecretsGetResponse200(
    GitHubRestModel
):
    """RepositoriesRepositoryIdEnvironmentsEnvironmentNameSecretsGetResponse200"""

    total_count: int = Field(default=...)
    secrets: List[ActionsSecret] = Field(default=...)


class RepositoriesRepositoryIdEnvironmentsEnvironmentNameSecretsSecretNamePutBody(
    GitHubRestModel
):
    """RepositoriesRepositoryIdEnvironmentsEnvironmentNameSecretsSecretNamePutBody"""

    encrypted_value: str = Field(
        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.",
        regex="^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$",
        default=...,
    )
    key_id: str = Field(
        description="ID of the key you used to encrypt the secret.", default=...
    )


class SearchCodeGetResponse200(GitHubRestModel):
    """SearchCodeGetResponse200"""

    total_count: int = Field(default=...)
    incomplete_results: bool = Field(default=...)
    items: List[CodeSearchResultItem] = Field(default=...)


class SearchCommitsGetResponse200(GitHubRestModel):
    """SearchCommitsGetResponse200"""

    total_count: int = Field(default=...)
    incomplete_results: bool = Field(default=...)
    items: List[CommitSearchResultItem] = Field(default=...)


class SearchIssuesGetResponse200(GitHubRestModel):
    """SearchIssuesGetResponse200"""

    total_count: int = Field(default=...)
    incomplete_results: bool = Field(default=...)
    items: List[IssueSearchResultItem] = Field(default=...)


class SearchLabelsGetResponse200(GitHubRestModel):
    """SearchLabelsGetResponse200"""

    total_count: int = Field(default=...)
    incomplete_results: bool = Field(default=...)
    items: List[LabelSearchResultItem] = Field(default=...)


class SearchRepositoriesGetResponse200(GitHubRestModel):
    """SearchRepositoriesGetResponse200"""

    total_count: int = Field(default=...)
    incomplete_results: bool = Field(default=...)
    items: List[RepoSearchResultItem] = Field(default=...)


class SearchTopicsGetResponse200(GitHubRestModel):
    """SearchTopicsGetResponse200"""

    total_count: int = Field(default=...)
    incomplete_results: bool = Field(default=...)
    items: List[TopicSearchResultItem] = Field(default=...)


class SearchUsersGetResponse200(GitHubRestModel):
    """SearchUsersGetResponse200"""

    total_count: int = Field(default=...)
    incomplete_results: bool = Field(default=...)
    items: List[UserSearchResultItem] = Field(default=...)


class TeamsTeamIdPatchBody(GitHubRestModel):
    """TeamsTeamIdPatchBody"""

    name: str = Field(description="The name of the team.", default=...)
    description: Union[Unset, str] = Field(
        description="The description of the team.", default=UNSET
    )
    privacy: Union[Unset, Literal["secret", "closed"]] = Field(
        description="The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. The options are:  \n**For a non-nested team:**  \n\\* `secret` - only visible to organization owners and members of this team.  \n\\* `closed` - visible to all members of this organization.  \n**For a parent or child team:**  \n\\* `closed` - visible to all members of this organization.",
        default=UNSET,
    )
    permission: Union[Unset, Literal["pull", "push", "admin"]] = Field(
        description="**Deprecated**. The permission that new repositories will be added to the team with when none is specified.",
        default="pull",
    )
    parent_team_id: Union[Unset, Union[int, None]] = Field(
        description="The ID of a team to set as the parent team.", default=UNSET
    )


class TeamsTeamIdDiscussionsPostBody(GitHubRestModel):
    """TeamsTeamIdDiscussionsPostBody"""

    title: str = Field(description="The discussion post's title.", default=...)
    body: str = Field(description="The discussion post's body text.", default=...)
    private: Union[Unset, bool] = Field(
        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,
    )


class TeamsTeamIdDiscussionsDiscussionNumberPatchBody(GitHubRestModel):
    """TeamsTeamIdDiscussionsDiscussionNumberPatchBody"""

    title: Union[Unset, str] = Field(
        description="The discussion post's title.", default=UNSET
    )
    body: Union[Unset, str] = Field(
        description="The discussion post's body text.", default=UNSET
    )


class TeamsTeamIdDiscussionsDiscussionNumberCommentsPostBody(GitHubRestModel):
    """TeamsTeamIdDiscussionsDiscussionNumberCommentsPostBody"""

    body: str = Field(description="The discussion comment's body text.", default=...)


class TeamsTeamIdDiscussionsDiscussionNumberCommentsCommentNumberPatchBody(
    GitHubRestModel
):
    """TeamsTeamIdDiscussionsDiscussionNumberCommentsCommentNumberPatchBody"""

    body: str = Field(description="The discussion comment's body text.", default=...)


class TeamsTeamIdDiscussionsDiscussionNumberCommentsCommentNumberReactionsPostBody(
    GitHubRestModel
):
    """TeamsTeamIdDiscussionsDiscussionNumberCommentsCommentNumberReactionsPostBody"""

    content: Literal[
        "+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"
    ] = Field(
        description="The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion comment.",
        default=...,
    )


class TeamsTeamIdDiscussionsDiscussionNumberReactionsPostBody(GitHubRestModel):
    """TeamsTeamIdDiscussionsDiscussionNumberReactionsPostBody"""

    content: Literal[
        "+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"
    ] = Field(
        description="The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion.",
        default=...,
    )


class TeamsTeamIdMembershipsUsernamePutBody(GitHubRestModel):
    """TeamsTeamIdMembershipsUsernamePutBody"""

    role: Union[Unset, Literal["member", "maintainer"]] = Field(
        description="The role that this user should have in the team.", default="member"
    )


class TeamsTeamIdProjectsProjectIdPutBody(GitHubRestModel):
    """TeamsTeamIdProjectsProjectIdPutBody"""

    permission: Union[Unset, Literal["read", "write", "admin"]] = Field(
        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).\"",
        default=UNSET,
    )


class TeamsTeamIdProjectsProjectIdPutResponse403(GitHubRestModel):
    """TeamsTeamIdProjectsProjectIdPutResponse403"""

    message: Union[Unset, str] = Field(default=UNSET)
    documentation_url: Union[Unset, str] = Field(default=UNSET)


class TeamsTeamIdReposOwnerRepoPutBody(GitHubRestModel):
    """TeamsTeamIdReposOwnerRepoPutBody"""

    permission: Union[Unset, Literal["pull", "push", "admin"]] = Field(
        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.",
        default=UNSET,
    )


class UserPatchBody(GitHubRestModel):
    """UserPatchBody"""

    name: Union[Unset, str] = Field(
        description="The new name of the user.", default=UNSET
    )
    email: Union[Unset, str] = Field(
        description="The publicly visible email address of the user.", default=UNSET
    )
    blog: Union[Unset, str] = Field(
        description="The new blog URL of the user.", default=UNSET
    )
    twitter_username: Union[Unset, Union[str, None]] = Field(
        description="The new Twitter username of the user.", default=UNSET
    )
    company: Union[Unset, str] = Field(
        description="The new company of the user.", default=UNSET
    )
    location: Union[Unset, str] = Field(
        description="The new location of the user.", default=UNSET
    )
    hireable: Union[Unset, bool] = Field(
        description="The new hiring availability of the user.", default=UNSET
    )
    bio: Union[Unset, str] = Field(
        description="The new short biography of the user.", default=UNSET
    )


class UserCodespacesGetResponse200(GitHubRestModel):
    """UserCodespacesGetResponse200"""

    total_count: int = Field(default=...)
    codespaces: List[Codespace] = Field(default=...)


class UserCodespacesPostBodyOneof0(GitHubRestModel):
    """UserCodespacesPostBodyOneof0"""

    repository_id: int = Field(
        description="Repository id for this codespace", default=...
    )
    ref: Union[Unset, str] = Field(
        description="Git ref (typically a branch name) for this codespace",
        default=UNSET,
    )
    location: Union[Unset, str] = Field(
        description="Location for this codespace. Assigned by IP if not provided",
        default=UNSET,
    )
    client_ip: Union[Unset, str] = Field(
        description="IP for location auto-detection when proxying a request",
        default=UNSET,
    )
    machine: Union[Unset, str] = Field(
        description="Machine type to use for this codespace", default=UNSET
    )
    devcontainer_path: Union[Unset, str] = Field(
        description="Path to devcontainer.json config to use for this codespace",
        default=UNSET,
    )
    multi_repo_permissions_opt_out: Union[Unset, bool] = Field(
        description="Whether to authorize requested permissions from devcontainer.json",
        default=UNSET,
    )
    working_directory: Union[Unset, str] = Field(
        description="Working directory for this codespace", default=UNSET
    )
    idle_timeout_minutes: Union[Unset, int] = Field(
        description="Time in minutes before codespace stops from inactivity",
        default=UNSET,
    )
    display_name: Union[Unset, str] = Field(
        description="Display name for this codespace", default=UNSET
    )
    retention_period_minutes: Union[Unset, int] = Field(
        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).",
        default=UNSET,
    )


class UserCodespacesPostBodyOneof1(GitHubRestModel):
    """UserCodespacesPostBodyOneof1"""

    pull_request: UserCodespacesPostBodyOneof1PropPullRequest = Field(
        description="Pull request number for this codespace", default=...
    )
    location: Union[Unset, str] = Field(
        description="Location for this codespace. Assigned by IP if not provided",
        default=UNSET,
    )
    machine: Union[Unset, str] = Field(
        description="Machine type to use for this codespace", default=UNSET
    )
    devcontainer_path: Union[Unset, str] = Field(
        description="Path to devcontainer.json config to use for this codespace",
        default=UNSET,
    )
    working_directory: Union[Unset, str] = Field(
        description="Working directory for this codespace", default=UNSET
    )
    idle_timeout_minutes: Union[Unset, int] = Field(
        description="Time in minutes before codespace stops from inactivity",
        default=UNSET,
    )


class UserCodespacesPostBodyOneof1PropPullRequest(GitHubRestModel):
    """UserCodespacesPostBodyOneof1PropPullRequest

    Pull request number for this codespace
    """

    pull_request_number: int = Field(description="Pull request number", default=...)
    repository_id: int = Field(
        description="Repository id for this codespace", default=...
    )


class UserCodespacesSecretsGetResponse200(GitHubRestModel):
    """UserCodespacesSecretsGetResponse200"""

    total_count: int = Field(default=...)
    secrets: List[CodespacesSecret] = Field(default=...)


class UserCodespacesSecretsSecretNamePutBody(GitHubRestModel):
    """UserCodespacesSecretsSecretNamePutBody"""

    encrypted_value: Union[Unset, str] = Field(
        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.",
        regex="^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$",
        default=UNSET,
    )
    key_id: str = Field(
        description="ID of the key you used to encrypt the secret.", default=...
    )
    selected_repository_ids: Union[Unset, List[str]] = Field(
        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.",
        default=UNSET,
    )


class UserCodespacesSecretsSecretNameRepositoriesGetResponse200(GitHubRestModel):
    """UserCodespacesSecretsSecretNameRepositoriesGetResponse200"""

    total_count: int = Field(default=...)
    repositories: List[MinimalRepository] = Field(default=...)


class UserCodespacesSecretsSecretNameRepositoriesPutBody(GitHubRestModel):
    """UserCodespacesSecretsSecretNameRepositoriesPutBody"""

    selected_repository_ids: List[int] = Field(
        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.",
        default=...,
    )


class UserCodespacesCodespaceNamePatchBody(GitHubRestModel):
    """UserCodespacesCodespaceNamePatchBody"""

    machine: Union[Unset, str] = Field(
        description="A valid machine to transition this codespace to.", default=UNSET
    )
    display_name: Union[Unset, str] = Field(
        description="Display name for this codespace", default=UNSET
    )
    recent_folders: Union[Unset, List[str]] = Field(
        description="Recently opened folders inside the codespace. It is currently used by the clients to determine the folder path to load the codespace in.",
        default=UNSET,
    )


class UserCodespacesCodespaceNameMachinesGetResponse200(GitHubRestModel):
    """UserCodespacesCodespaceNameMachinesGetResponse200"""

    total_count: int = Field(default=...)
    machines: List[CodespaceMachine] = Field(default=...)


class UserEmailVisibilityPatchBody(GitHubRestModel):
    """UserEmailVisibilityPatchBody"""

    visibility: Literal["public", "private"] = Field(
        description="Denotes whether an email is publicly visible.", default=...
    )


class UserEmailsPostBodyOneof0(GitHubRestModel):
    """UserEmailsPostBodyOneof0

    Examples:
        {'emails': ['octocat@github.com', 'mona@github.com']}
    """

    emails: List[str] = Field(
        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.",
        default=...,
    )


class UserEmailsDeleteBodyOneof0(GitHubRestModel):
    """UserEmailsDeleteBodyOneof0

    Deletes one or more email addresses from 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.

    Examples:
        {'emails': ['octocat@github.com', 'mona@github.com']}
    """

    emails: List[str] = Field(
        description="Email addresses associated with the GitHub user account.",
        default=...,
    )


class UserGpgKeysPostBody(GitHubRestModel):
    """UserGpgKeysPostBody"""

    name: Union[Unset, str] = Field(
        description="A descriptive name for the new key.", default=UNSET
    )
    armored_public_key: str = Field(
        description="A GPG key in ASCII-armored format.", default=...
    )


class UserInstallationsGetResponse200(GitHubRestModel):
    """UserInstallationsGetResponse200"""

    total_count: int = Field(default=...)
    installations: List[Installation] = Field(default=...)


class UserInstallationsInstallationIdRepositoriesGetResponse200(GitHubRestModel):
    """UserInstallationsInstallationIdRepositoriesGetResponse200"""

    total_count: int = Field(default=...)
    repository_selection: Union[Unset, str] = Field(default=UNSET)
    repositories: List[Repository] = Field(default=...)


class UserInteractionLimitsGetResponse200Anyof1(GitHubRestModel):
    """UserInteractionLimitsGetResponse200Anyof1"""


class UserKeysPostBody(GitHubRestModel):
    """UserKeysPostBody"""

    title: Union[Unset, str] = Field(
        description="A descriptive name for the new key.", default=UNSET
    )
    key: str = Field(
        description="The public SSH key to add to your GitHub account.",
        regex="^ssh-(rsa|dss|ed25519) |^ecdsa-sha2-nistp(256|384|521) ",
        default=...,
    )


class UserMembershipsOrgsOrgPatchBody(GitHubRestModel):
    """UserMembershipsOrgsOrgPatchBody"""

    state: Literal["active"] = Field(
        description='The state that the membership should be in. Only `"active"` will be accepted.',
        default=...,
    )


class UserMigrationsPostBody(GitHubRestModel):
    """UserMigrationsPostBody"""

    lock_repositories: Union[Unset, bool] = Field(
        description="Lock the repositories being migrated at the start of the migration",
        default=UNSET,
    )
    exclude_metadata: Union[Unset, bool] = Field(
        description="Indicates whether metadata should be excluded and only git source should be included for the migration.",
        default=UNSET,
    )
    exclude_git_data: Union[Unset, bool] = Field(
        description="Indicates whether the repository git data should be excluded from the migration.",
        default=UNSET,
    )
    exclude_attachments: Union[Unset, bool] = Field(
        description="Do not include attachments in the migration", default=UNSET
    )
    exclude_releases: Union[Unset, bool] = Field(
        description="Do not include releases in the migration", default=UNSET
    )
    exclude_owner_projects: Union[Unset, bool] = Field(
        description="Indicates whether projects owned by the organization or users should be excluded.",
        default=UNSET,
    )
    org_metadata_only: Union[Unset, bool] = Field(
        description="Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags).",
        default=False,
    )
    exclude: Union[Unset, List[Literal["repositories"]]] = Field(
        description="Exclude attributes from the API response to improve performance",
        default=UNSET,
    )
    repositories: List[str] = Field(default=...)


class UserProjectsPostBody(GitHubRestModel):
    """UserProjectsPostBody"""

    name: str = Field(description="Name of the project", default=...)
    body: Union[Unset, Union[str, None]] = Field(
        description="Body of the project", default=UNSET
    )


class UserReposPostBody(GitHubRestModel):
    """UserReposPostBody"""

    name: str = Field(description="The name of the repository.", default=...)
    description: Union[Unset, str] = Field(
        description="A short description of the repository.", default=UNSET
    )
    homepage: Union[Unset, str] = Field(
        description="A URL with more information about the repository.", default=UNSET
    )
    private: Union[Unset, bool] = Field(
        description="Whether the repository is private.", default=False
    )
    has_issues: Union[Unset, bool] = Field(
        description="Whether issues are enabled.", default=True
    )
    has_projects: Union[Unset, bool] = Field(
        description="Whether projects are enabled.", default=True
    )
    has_wiki: Union[Unset, bool] = Field(
        description="Whether the wiki is enabled.", default=True
    )
    team_id: Union[Unset, int] = Field(
        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.",
        default=UNSET,
    )
    auto_init: Union[Unset, bool] = Field(
        description="Whether the repository is initialized with a minimal README.",
        default=False,
    )
    gitignore_template: Union[Unset, str] = Field(
        description="The desired language or platform to apply to the .gitignore.",
        default=UNSET,
    )
    license_template: Union[Unset, str] = Field(
        description="The license keyword of the open source license for this repository.",
        default=UNSET,
    )
    allow_squash_merge: Union[Unset, bool] = Field(
        description="Whether to allow squash merges for pull requests.", default=True
    )
    allow_merge_commit: Union[Unset, bool] = Field(
        description="Whether to allow merge commits for pull requests.", default=True
    )
    allow_rebase_merge: Union[Unset, bool] = Field(
        description="Whether to allow rebase merges for pull requests.", default=True
    )
    allow_auto_merge: Union[Unset, bool] = Field(
        description="Whether to allow Auto-merge to be used on pull requests.",
        default=False,
    )
    delete_branch_on_merge: Union[Unset, bool] = Field(
        description="Whether to delete head branches when pull requests are merged",
        default=False,
    )
    squash_merge_commit_title: Union[
        Unset, Literal["PR_TITLE", "COMMIT_OR_PR_TITLE"]
    ] = Field(
        description="The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `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).",
        default=UNSET,
    )
    squash_merge_commit_message: Union[
        Unset, Literal["PR_BODY", "COMMIT_MESSAGES", "BLANK"]
    ] = Field(
        description="The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message.",
        default=UNSET,
    )
    merge_commit_title: Union[Unset, Literal["PR_TITLE", "MERGE_MESSAGE"]] = Field(
        description="The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name).",
        default=UNSET,
    )
    merge_commit_message: Union[Unset, Literal["PR_BODY", "PR_TITLE", "BLANK"]] = Field(
        description="The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message.",
        default=UNSET,
    )
    has_downloads: Union[Unset, bool] = Field(
        description="Whether downloads are enabled.", default=True
    )
    is_template: Union[Unset, bool] = Field(
        description="Whether this repository acts as a template that can be used to generate new repositories.",
        default=False,
    )


class UserSshSigningKeysPostBody(GitHubRestModel):
    """UserSshSigningKeysPostBody"""

    title: Union[Unset, str] = Field(
        description="A descriptive name for the new key.", default=UNSET
    )
    key: str = Field(
        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)."',
        regex="^ssh-(rsa|dss|ed25519) |^ecdsa-sha2-nistp(256|384|521) |^(sk-ssh-ed25519|sk-ecdsa-sha2-nistp256)@openssh.com ",
        default=...,
    )


Root.update_forward_refs()
SimpleUser.update_forward_refs()
Integration.update_forward_refs()
IntegrationPropPermissions.update_forward_refs()
BasicError.update_forward_refs()
ValidationErrorSimple.update_forward_refs()
WebhookConfig.update_forward_refs()
HookDeliveryItem.update_forward_refs()
ScimError.update_forward_refs()
ValidationError.update_forward_refs()
ValidationErrorPropErrorsItems.update_forward_refs()
HookDelivery.update_forward_refs()
HookDeliveryPropRequest.update_forward_refs()
HookDeliveryPropRequestPropHeaders.update_forward_refs()
HookDeliveryPropRequestPropPayload.update_forward_refs()
HookDeliveryPropResponse.update_forward_refs()
HookDeliveryPropResponsePropHeaders.update_forward_refs()
Enterprise.update_forward_refs()
AppPermissions.update_forward_refs()
Installation.update_forward_refs()
LicenseSimple.update_forward_refs()
Repository.update_forward_refs()
RepositoryPropPermissions.update_forward_refs()
RepositoryPropTemplateRepositoryPropOwner.update_forward_refs()
RepositoryPropTemplateRepositoryPropPermissions.update_forward_refs()
RepositoryPropTemplateRepository.update_forward_refs()
InstallationToken.update_forward_refs()
ScopedInstallation.update_forward_refs()
Authorization.update_forward_refs()
AuthorizationPropApp.update_forward_refs()
CodeOfConduct.update_forward_refs()
ServerStatisticsItems.update_forward_refs()
ServerStatisticsItemsPropGithubConnect.update_forward_refs()
ServerStatisticsItemsPropGheStats.update_forward_refs()
ServerStatisticsItemsPropGheStatsPropComments.update_forward_refs()
ServerStatisticsItemsPropGheStatsPropGists.update_forward_refs()
ServerStatisticsItemsPropGheStatsPropHooks.update_forward_refs()
ServerStatisticsItemsPropGheStatsPropIssues.update_forward_refs()
ServerStatisticsItemsPropGheStatsPropMilestones.update_forward_refs()
ServerStatisticsItemsPropGheStatsPropOrgs.update_forward_refs()
ServerStatisticsItemsPropGheStatsPropPages.update_forward_refs()
ServerStatisticsItemsPropGheStatsPropPulls.update_forward_refs()
ServerStatisticsItemsPropGheStatsPropRepos.update_forward_refs()
ServerStatisticsItemsPropGheStatsPropUsers.update_forward_refs()
ServerStatisticsItemsPropDormantUsers.update_forward_refs()
ActionsCacheUsageOrgEnterprise.update_forward_refs()
ActionsEnterprisePermissions.update_forward_refs()
OrganizationSimple.update_forward_refs()
SelectedActions.update_forward_refs()
ActionsGetDefaultWorkflowPermissions.update_forward_refs()
ActionsSetDefaultWorkflowPermissions.update_forward_refs()
RunnerGroupsEnterprise.update_forward_refs()
RunnerLabel.update_forward_refs()
Runner.update_forward_refs()
RunnerApplication.update_forward_refs()
AuthenticationToken.update_forward_refs()
AuthenticationTokenPropPermissions.update_forward_refs()
CodeScanningAlertRule.update_forward_refs()
CodeScanningAnalysisTool.update_forward_refs()
CodeScanningAlertLocation.update_forward_refs()
CodeScanningAlertInstance.update_forward_refs()
CodeScanningAlertInstancePropMessage.update_forward_refs()
SimpleRepository.update_forward_refs()
CodeScanningOrganizationAlertItems.update_forward_refs()
OrganizationSecretScanningAlert.update_forward_refs()
AdvancedSecurityActiveCommittersUser.update_forward_refs()
AdvancedSecurityActiveCommittersRepository.update_forward_refs()
AdvancedSecurityActiveCommitters.update_forward_refs()
Actor.update_forward_refs()
Milestone.update_forward_refs()
ReactionRollup.update_forward_refs()
Issue.update_forward_refs()
IssuePropLabelsItemsOneof1.update_forward_refs()
IssuePropPullRequest.update_forward_refs()
IssueComment.update_forward_refs()
Event.update_forward_refs()
EventPropRepo.update_forward_refs()
EventPropPayload.update_forward_refs()
EventPropPayloadPropPagesItems.update_forward_refs()
LinkWithType.update_forward_refs()
Feed.update_forward_refs()
FeedPropLinks.update_forward_refs()
BaseGist.update_forward_refs()
BaseGistPropFiles.update_forward_refs()
PublicUser.update_forward_refs()
PublicUserPropPlan.update_forward_refs()
GistHistory.update_forward_refs()
GistHistoryPropChangeStatus.update_forward_refs()
GistSimple.update_forward_refs()
GistSimplePropForksItems.update_forward_refs()
GistSimplePropForkOfPropFiles.update_forward_refs()
GistSimplePropForkOf.update_forward_refs()
GistSimplePropFiles.update_forward_refs()
GistComment.update_forward_refs()
GistCommit.update_forward_refs()
GistCommitPropChangeStatus.update_forward_refs()
GitignoreTemplate.update_forward_refs()
License.update_forward_refs()
MarketplaceListingPlan.update_forward_refs()
MarketplacePurchase.update_forward_refs()
MarketplacePurchasePropMarketplacePendingChange.update_forward_refs()
MarketplacePurchasePropMarketplacePurchase.update_forward_refs()
ApiOverview.update_forward_refs()
ApiOverviewPropSshKeyFingerprints.update_forward_refs()
MinimalRepository.update_forward_refs()
MinimalRepositoryPropPermissions.update_forward_refs()
MinimalRepositoryPropLicense.update_forward_refs()
Thread.update_forward_refs()
ThreadPropSubject.update_forward_refs()
ThreadSubscription.update_forward_refs()
OrganizationCustomRepositoryRole.update_forward_refs()
OrganizationFull.update_forward_refs()
OrganizationFullPropPlan.update_forward_refs()
ActionsCacheUsageByRepository.update_forward_refs()
ActionsOrganizationPermissions.update_forward_refs()
RunnerGroupsOrg.update_forward_refs()
OrganizationActionsSecret.update_forward_refs()
ActionsPublicKey.update_forward_refs()
EmptyObject.update_forward_refs()
CodespaceMachine.update_forward_refs()
Codespace.update_forward_refs()
CodespacePropGitStatus.update_forward_refs()
CodespacePropRuntimeConstraints.update_forward_refs()
CodespacesOrgSecret.update_forward_refs()
CodespacesPublicKey.update_forward_refs()
DependabotAlertPackage.update_forward_refs()
DependabotAlertSecurityVulnerability.update_forward_refs()
DependabotAlertSecurityVulnerabilityPropFirstPatchedVersion.update_forward_refs()
DependabotAlertSecurityAdvisory.update_forward_refs()
DependabotAlertSecurityAdvisoryPropCvss.update_forward_refs()
DependabotAlertSecurityAdvisoryPropCwesItems.update_forward_refs()
DependabotAlertSecurityAdvisoryPropIdentifiersItems.update_forward_refs()
DependabotAlertSecurityAdvisoryPropReferencesItems.update_forward_refs()
DependabotAlertWithRepository.update_forward_refs()
DependabotAlertWithRepositoryPropDependency.update_forward_refs()
OrganizationDependabotSecret.update_forward_refs()
DependabotPublicKey.update_forward_refs()
OrganizationInvitation.update_forward_refs()
OrganizationFineGrainedPermission.update_forward_refs()
OrgHook.update_forward_refs()
OrgHookPropConfig.update_forward_refs()
InteractionLimitResponse.update_forward_refs()
InteractionLimit.update_forward_refs()
TeamSimple.update_forward_refs()
Team.update_forward_refs()
TeamPropPermissions.update_forward_refs()
OrgMembership.update_forward_refs()
OrgMembershipPropPermissions.update_forward_refs()
Migration.update_forward_refs()
Package.update_forward_refs()
PackageVersion.update_forward_refs()
PackageVersionPropMetadata.update_forward_refs()
PackageVersionPropMetadataPropContainer.update_forward_refs()
PackageVersionPropMetadataPropDocker.update_forward_refs()
Project.update_forward_refs()
ActionsBillingUsage.update_forward_refs()
ActionsBillingUsagePropMinutesUsedBreakdown.update_forward_refs()
PackagesBillingUsage.update_forward_refs()
CombinedBillingUsage.update_forward_refs()
TeamOrganization.update_forward_refs()
TeamOrganizationPropPlan.update_forward_refs()
TeamFull.update_forward_refs()
TeamDiscussion.update_forward_refs()
TeamDiscussionComment.update_forward_refs()
Reaction.update_forward_refs()
TeamMembership.update_forward_refs()
TeamProject.update_forward_refs()
TeamProjectPropPermissions.update_forward_refs()
TeamRepository.update_forward_refs()
TeamRepositoryPropPermissions.update_forward_refs()
ProjectCard.update_forward_refs()
ProjectColumn.update_forward_refs()
ProjectCollaboratorPermission.update_forward_refs()
RateLimit.update_forward_refs()
RateLimitOverview.update_forward_refs()
RateLimitOverviewPropResources.update_forward_refs()
CodeOfConductSimple.update_forward_refs()
SecurityAndAnalysisPropAdvancedSecurity.update_forward_refs()
SecurityAndAnalysisPropSecretScanning.update_forward_refs()
SecurityAndAnalysisPropSecretScanningPushProtection.update_forward_refs()
SecurityAndAnalysis.update_forward_refs()
FullRepository.update_forward_refs()
FullRepositoryPropPermissions.update_forward_refs()
Artifact.update_forward_refs()
ArtifactPropWorkflowRun.update_forward_refs()
ActionsCacheList.update_forward_refs()
ActionsCacheListPropActionsCachesItems.update_forward_refs()
Job.update_forward_refs()
JobPropStepsItems.update_forward_refs()
ActionsRepositoryPermissions.update_forward_refs()
ActionsWorkflowAccessToRepository.update_forward_refs()
ReferencedWorkflow.update_forward_refs()
PullRequestMinimal.update_forward_refs()
PullRequestMinimalPropHead.update_forward_refs()
PullRequestMinimalPropHeadPropRepo.update_forward_refs()
PullRequestMinimalPropBase.update_forward_refs()
PullRequestMinimalPropBasePropRepo.update_forward_refs()
SimpleCommit.update_forward_refs()
SimpleCommitPropAuthor.update_forward_refs()
SimpleCommitPropCommitter.update_forward_refs()
WorkflowRun.update_forward_refs()
EnvironmentApprovals.update_forward_refs()
EnvironmentApprovalsPropEnvironmentsItems.update_forward_refs()
PendingDeployment.update_forward_refs()
PendingDeploymentPropEnvironment.update_forward_refs()
PendingDeploymentPropReviewersItems.update_forward_refs()
Deployment.update_forward_refs()
DeploymentPropPayloadOneof0.update_forward_refs()
WorkflowRunUsage.update_forward_refs()
WorkflowRunUsagePropBillable.update_forward_refs()
WorkflowRunUsagePropBillablePropUbuntu.update_forward_refs()
WorkflowRunUsagePropBillablePropUbuntuPropJobRunsItems.update_forward_refs()
WorkflowRunUsagePropBillablePropMacos.update_forward_refs()
WorkflowRunUsagePropBillablePropMacosPropJobRunsItems.update_forward_refs()
WorkflowRunUsagePropBillablePropWindows.update_forward_refs()
WorkflowRunUsagePropBillablePropWindowsPropJobRunsItems.update_forward_refs()
ActionsSecret.update_forward_refs()
Workflow.update_forward_refs()
WorkflowUsage.update_forward_refs()
WorkflowUsagePropBillable.update_forward_refs()
WorkflowUsagePropBillablePropUbuntu.update_forward_refs()
WorkflowUsagePropBillablePropMacos.update_forward_refs()
WorkflowUsagePropBillablePropWindows.update_forward_refs()
Autolink.update_forward_refs()
ProtectedBranchRequiredStatusCheck.update_forward_refs()
ProtectedBranchRequiredStatusCheckPropChecksItems.update_forward_refs()
ProtectedBranchAdminEnforced.update_forward_refs()
ProtectedBranchPullRequestReview.update_forward_refs()
ProtectedBranchPullRequestReviewPropDismissalRestrictions.update_forward_refs()
ProtectedBranchPullRequestReviewPropBypassPullRequestAllowances.update_forward_refs()
BranchRestrictionPolicy.update_forward_refs()
BranchRestrictionPolicyPropUsersItems.update_forward_refs()
BranchRestrictionPolicyPropTeamsItems.update_forward_refs()
BranchRestrictionPolicyPropAppsItems.update_forward_refs()
BranchRestrictionPolicyPropAppsItemsPropOwner.update_forward_refs()
BranchRestrictionPolicyPropAppsItemsPropPermissions.update_forward_refs()
BranchProtection.update_forward_refs()
BranchProtectionPropRequiredLinearHistory.update_forward_refs()
BranchProtectionPropAllowForcePushes.update_forward_refs()
BranchProtectionPropAllowDeletions.update_forward_refs()
BranchProtectionPropBlockCreations.update_forward_refs()
BranchProtectionPropRequiredConversationResolution.update_forward_refs()
BranchProtectionPropRequiredSignatures.update_forward_refs()
ShortBranch.update_forward_refs()
ShortBranchPropCommit.update_forward_refs()
GitUser.update_forward_refs()
Verification.update_forward_refs()
DiffEntry.update_forward_refs()
Commit.update_forward_refs()
CommitPropCommit.update_forward_refs()
CommitPropCommitPropTree.update_forward_refs()
CommitPropParentsItems.update_forward_refs()
CommitPropStats.update_forward_refs()
BranchWithProtection.update_forward_refs()
BranchWithProtectionPropLinks.update_forward_refs()
StatusCheckPolicy.update_forward_refs()
StatusCheckPolicyPropChecksItems.update_forward_refs()
ProtectedBranch.update_forward_refs()
ProtectedBranchPropRequiredPullRequestReviews.update_forward_refs()
ProtectedBranchPropRequiredPullRequestReviewsPropDismissalRestrictions.update_forward_refs()
ProtectedBranchPropRequiredPullRequestReviewsPropBypassPullRequestAllowances.update_forward_refs()
ProtectedBranchPropRequiredSignatures.update_forward_refs()
ProtectedBranchPropEnforceAdmins.update_forward_refs()
ProtectedBranchPropRequiredLinearHistory.update_forward_refs()
ProtectedBranchPropAllowForcePushes.update_forward_refs()
ProtectedBranchPropAllowDeletions.update_forward_refs()
ProtectedBranchPropRequiredConversationResolution.update_forward_refs()
ProtectedBranchPropBlockCreations.update_forward_refs()
DeploymentSimple.update_forward_refs()
CheckRun.update_forward_refs()
CheckRunPropOutput.update_forward_refs()
CheckRunPropCheckSuite.update_forward_refs()
CheckAnnotation.update_forward_refs()
CheckSuite.update_forward_refs()
CheckSuitePreference.update_forward_refs()
CheckSuitePreferencePropPreferences.update_forward_refs()
CheckSuitePreferencePropPreferencesPropAutoTriggerChecksItems.update_forward_refs()
CodeScanningAlertRuleSummary.update_forward_refs()
CodeScanningAlertItems.update_forward_refs()
CodeScanningAlert.update_forward_refs()
CodeScanningAnalysis.update_forward_refs()
CodeScanningAnalysisDeletion.update_forward_refs()
CodeScanningCodeqlDatabase.update_forward_refs()
CodeScanningSarifsReceipt.update_forward_refs()
CodeScanningSarifsStatus.update_forward_refs()
CodeownersErrors.update_forward_refs()
CodeownersErrorsPropErrorsItems.update_forward_refs()
RepoCodespacesSecret.update_forward_refs()
Collaborator.update_forward_refs()
CollaboratorPropPermissions.update_forward_refs()
RepositoryInvitation.update_forward_refs()
RepositoryCollaboratorPermission.update_forward_refs()
CommitComment.update_forward_refs()
BranchShort.update_forward_refs()
BranchShortPropCommit.update_forward_refs()
Link.update_forward_refs()
AutoMerge.update_forward_refs()
PullRequestSimple.update_forward_refs()
PullRequestSimplePropLabelsItems.update_forward_refs()
PullRequestSimplePropHead.update_forward_refs()
PullRequestSimplePropBase.update_forward_refs()
PullRequestSimplePropLinks.update_forward_refs()
SimpleCommitStatus.update_forward_refs()
CombinedCommitStatus.update_forward_refs()
Status.update_forward_refs()
CommunityHealthFile.update_forward_refs()
CommunityProfile.update_forward_refs()
CommunityProfilePropFiles.update_forward_refs()
CommitComparison.update_forward_refs()
ContentTree.update_forward_refs()
ContentTreePropEntriesItems.update_forward_refs()
ContentTreePropEntriesItemsPropLinks.update_forward_refs()
ContentTreePropLinks.update_forward_refs()
ContentDirectoryItems.update_forward_refs()
ContentDirectoryItemsPropLinks.update_forward_refs()
ContentFile.update_forward_refs()
ContentFilePropLinks.update_forward_refs()
ContentSymlink.update_forward_refs()
ContentSymlinkPropLinks.update_forward_refs()
ContentSubmodule.update_forward_refs()
ContentSubmodulePropLinks.update_forward_refs()
FileCommit.update_forward_refs()
FileCommitPropContentPropLinks.update_forward_refs()
FileCommitPropContent.update_forward_refs()
FileCommitPropCommit.update_forward_refs()
FileCommitPropCommitPropAuthor.update_forward_refs()
FileCommitPropCommitPropCommitter.update_forward_refs()
FileCommitPropCommitPropTree.update_forward_refs()
FileCommitPropCommitPropParentsItems.update_forward_refs()
FileCommitPropCommitPropVerification.update_forward_refs()
Contributor.update_forward_refs()
DependabotAlert.update_forward_refs()
DependabotAlertPropDependency.update_forward_refs()
DependabotSecret.update_forward_refs()
DependencyGraphDiffItems.update_forward_refs()
DependencyGraphDiffItemsPropVulnerabilitiesItems.update_forward_refs()
Metadata.update_forward_refs()
Dependency.update_forward_refs()
Manifest.update_forward_refs()
ManifestPropFile.update_forward_refs()
ManifestPropResolved.update_forward_refs()
Snapshot.update_forward_refs()
SnapshotPropJob.update_forward_refs()
SnapshotPropDetector.update_forward_refs()
SnapshotPropManifests.update_forward_refs()
DeploymentStatus.update_forward_refs()
DeploymentBranchPolicySettings.update_forward_refs()
Environment.update_forward_refs()
EnvironmentPropProtectionRulesItemsAnyof0.update_forward_refs()
EnvironmentPropProtectionRulesItemsAnyof1.update_forward_refs()
EnvironmentPropProtectionRulesItemsAnyof1PropReviewersItems.update_forward_refs()
EnvironmentPropProtectionRulesItemsAnyof2.update_forward_refs()
DeploymentBranchPolicy.update_forward_refs()
DeploymentBranchPolicyNamePattern.update_forward_refs()
ShortBlob.update_forward_refs()
Blob.update_forward_refs()
GitCommit.update_forward_refs()
GitCommitPropAuthor.update_forward_refs()
GitCommitPropCommitter.update_forward_refs()
GitCommitPropTree.update_forward_refs()
GitCommitPropParentsItems.update_forward_refs()
GitCommitPropVerification.update_forward_refs()
GitRef.update_forward_refs()
GitRefPropObject.update_forward_refs()
GitTag.update_forward_refs()
GitTagPropTagger.update_forward_refs()
GitTagPropObject.update_forward_refs()
GitTree.update_forward_refs()
GitTreePropTreeItems.update_forward_refs()
HookResponse.update_forward_refs()
Hook.update_forward_refs()
HookPropConfig.update_forward_refs()
Import.update_forward_refs()
ImportPropProjectChoicesItems.update_forward_refs()
PorterAuthor.update_forward_refs()
PorterLargeFile.update_forward_refs()
IssueEventLabel.update_forward_refs()
IssueEventDismissedReview.update_forward_refs()
IssueEventMilestone.update_forward_refs()
IssueEventProjectCard.update_forward_refs()
IssueEventRename.update_forward_refs()
IssueEvent.update_forward_refs()
LabeledIssueEvent.update_forward_refs()
LabeledIssueEventPropLabel.update_forward_refs()
UnlabeledIssueEvent.update_forward_refs()
UnlabeledIssueEventPropLabel.update_forward_refs()
AssignedIssueEvent.update_forward_refs()
UnassignedIssueEvent.update_forward_refs()
MilestonedIssueEvent.update_forward_refs()
MilestonedIssueEventPropMilestone.update_forward_refs()
DemilestonedIssueEvent.update_forward_refs()
DemilestonedIssueEventPropMilestone.update_forward_refs()
RenamedIssueEvent.update_forward_refs()
RenamedIssueEventPropRename.update_forward_refs()
ReviewRequestedIssueEvent.update_forward_refs()
ReviewRequestRemovedIssueEvent.update_forward_refs()
ReviewDismissedIssueEvent.update_forward_refs()
ReviewDismissedIssueEventPropDismissedReview.update_forward_refs()
LockedIssueEvent.update_forward_refs()
AddedToProjectIssueEvent.update_forward_refs()
AddedToProjectIssueEventPropProjectCard.update_forward_refs()
MovedColumnInProjectIssueEvent.update_forward_refs()
MovedColumnInProjectIssueEventPropProjectCard.update_forward_refs()
RemovedFromProjectIssueEvent.update_forward_refs()
RemovedFromProjectIssueEventPropProjectCard.update_forward_refs()
ConvertedNoteToIssueIssueEvent.update_forward_refs()
ConvertedNoteToIssueIssueEventPropProjectCard.update_forward_refs()
Label.update_forward_refs()
TimelineCommentEvent.update_forward_refs()
TimelineCrossReferencedEvent.update_forward_refs()
TimelineCrossReferencedEventPropSource.update_forward_refs()
TimelineCommittedEvent.update_forward_refs()
TimelineCommittedEventPropAuthor.update_forward_refs()
TimelineCommittedEventPropCommitter.update_forward_refs()
TimelineCommittedEventPropTree.update_forward_refs()
TimelineCommittedEventPropParentsItems.update_forward_refs()
TimelineCommittedEventPropVerification.update_forward_refs()
TimelineReviewedEvent.update_forward_refs()
TimelineReviewedEventPropLinks.update_forward_refs()
TimelineReviewedEventPropLinksPropHtml.update_forward_refs()
TimelineReviewedEventPropLinksPropPullRequest.update_forward_refs()
PullRequestReviewComment.update_forward_refs()
PullRequestReviewCommentPropLinks.update_forward_refs()
PullRequestReviewCommentPropLinksPropSelf.update_forward_refs()
PullRequestReviewCommentPropLinksPropHtml.update_forward_refs()
PullRequestReviewCommentPropLinksPropPullRequest.update_forward_refs()
TimelineLineCommentedEvent.update_forward_refs()
TimelineCommitCommentedEvent.update_forward_refs()
TimelineAssignedIssueEvent.update_forward_refs()
TimelineUnassignedIssueEvent.update_forward_refs()
StateChangeIssueEvent.update_forward_refs()
DeployKey.update_forward_refs()
Language.update_forward_refs()
LicenseContent.update_forward_refs()
LicenseContentPropLinks.update_forward_refs()
MergedUpstream.update_forward_refs()
PagesSourceHash.update_forward_refs()
PagesHttpsCertificate.update_forward_refs()
Page.update_forward_refs()
PageBuild.update_forward_refs()
PageBuildPropError.update_forward_refs()
PageBuildStatus.update_forward_refs()
PageDeployment.update_forward_refs()
PagesHealthCheck.update_forward_refs()
PagesHealthCheckPropDomain.update_forward_refs()
PagesHealthCheckPropAltDomain.update_forward_refs()
PullRequest.update_forward_refs()
PullRequestPropLabelsItems.update_forward_refs()
PullRequestPropHead.update_forward_refs()
PullRequestPropHeadPropRepoPropOwner.update_forward_refs()
PullRequestPropHeadPropRepoPropPermissions.update_forward_refs()
PullRequestPropHeadPropRepoPropLicense.update_forward_refs()
PullRequestPropHeadPropRepo.update_forward_refs()
PullRequestPropHeadPropUser.update_forward_refs()
PullRequestPropBase.update_forward_refs()
PullRequestPropBasePropRepo.update_forward_refs()
PullRequestPropBasePropRepoPropOwner.update_forward_refs()
PullRequestPropBasePropRepoPropPermissions.update_forward_refs()
PullRequestPropBasePropUser.update_forward_refs()
PullRequestPropLinks.update_forward_refs()
PullRequestMergeResult.update_forward_refs()
PullRequestReviewRequest.update_forward_refs()
PullRequestReview.update_forward_refs()
PullRequestReviewPropLinks.update_forward_refs()
PullRequestReviewPropLinksPropHtml.update_forward_refs()
PullRequestReviewPropLinksPropPullRequest.update_forward_refs()
ReviewComment.update_forward_refs()
ReviewCommentPropLinks.update_forward_refs()
ReleaseAsset.update_forward_refs()
Release.update_forward_refs()
ReleaseNotesContent.update_forward_refs()
SecretScanningAlert.update_forward_refs()
SecretScanningLocationCommit.update_forward_refs()
SecretScanningLocation.update_forward_refs()
Stargazer.update_forward_refs()
CommitActivity.update_forward_refs()
ContributorActivity.update_forward_refs()
ContributorActivityPropWeeksItems.update_forward_refs()
ParticipationStats.update_forward_refs()
RepositorySubscription.update_forward_refs()
Tag.update_forward_refs()
TagPropCommit.update_forward_refs()
TagProtection.update_forward_refs()
Topic.update_forward_refs()
Traffic.update_forward_refs()
CloneTraffic.update_forward_refs()
ContentTraffic.update_forward_refs()
ReferrerTraffic.update_forward_refs()
ViewTraffic.update_forward_refs()
SearchResultTextMatchesItems.update_forward_refs()
SearchResultTextMatchesItemsPropMatchesItems.update_forward_refs()
CodeSearchResultItem.update_forward_refs()
CommitSearchResultItem.update_forward_refs()
CommitSearchResultItemPropCommit.update_forward_refs()
CommitSearchResultItemPropCommitPropAuthor.update_forward_refs()
CommitSearchResultItemPropCommitPropTree.update_forward_refs()
CommitSearchResultItemPropParentsItems.update_forward_refs()
IssueSearchResultItem.update_forward_refs()
IssueSearchResultItemPropLabelsItems.update_forward_refs()
IssueSearchResultItemPropPullRequest.update_forward_refs()
LabelSearchResultItem.update_forward_refs()
RepoSearchResultItem.update_forward_refs()
RepoSearchResultItemPropPermissions.update_forward_refs()
TopicSearchResultItem.update_forward_refs()
TopicSearchResultItemPropRelatedItems.update_forward_refs()
TopicSearchResultItemPropRelatedItemsPropTopicRelation.update_forward_refs()
TopicSearchResultItemPropAliasesItems.update_forward_refs()
TopicSearchResultItemPropAliasesItemsPropTopicRelation.update_forward_refs()
UserSearchResultItem.update_forward_refs()
PrivateUser.update_forward_refs()
PrivateUserPropPlan.update_forward_refs()
CodespacesSecret.update_forward_refs()
CodespacesUserPublicKey.update_forward_refs()
CodespaceExportDetails.update_forward_refs()
Email.update_forward_refs()
GpgKey.update_forward_refs()
GpgKeyPropEmailsItems.update_forward_refs()
GpgKeyPropSubkeysItems.update_forward_refs()
Key.update_forward_refs()
MarketplaceAccount.update_forward_refs()
UserMarketplacePurchase.update_forward_refs()
SshSigningKey.update_forward_refs()
StarredRepository.update_forward_refs()
Hovercard.update_forward_refs()
HovercardPropContextsItems.update_forward_refs()
KeySimple.update_forward_refs()
SimpleInstallation.update_forward_refs()
WebhookBranchProtectionRuleCreated.update_forward_refs()
WebhookBranchProtectionRuleCreatedPropRule.update_forward_refs()
WebhookBranchProtectionRuleDeleted.update_forward_refs()
WebhookBranchProtectionRuleDeletedPropRule.update_forward_refs()
WebhookBranchProtectionRuleEdited.update_forward_refs()
WebhookBranchProtectionRuleEditedPropChanges.update_forward_refs()
WebhookBranchProtectionRuleEditedPropChangesPropAdminEnforced.update_forward_refs()
WebhookBranchProtectionRuleEditedPropChangesPropAuthorizedActorNames.update_forward_refs()
WebhookBranchProtectionRuleEditedPropChangesPropAuthorizedActorsOnly.update_forward_refs()
WebhookBranchProtectionRuleEditedPropChangesPropAuthorizedDismissalActorsOnly.update_forward_refs()
WebhookBranchProtectionRuleEditedPropChangesPropLinearHistoryRequirementEnforcementLevel.update_forward_refs()
WebhookBranchProtectionRuleEditedPropChangesPropRequiredStatusChecks.update_forward_refs()
WebhookBranchProtectionRuleEditedPropChangesPropRequiredStatusChecksEnforcementLevel.update_forward_refs()
WebhookBranchProtectionRuleEditedPropRule.update_forward_refs()
WebhookDependabotAlertCreated.update_forward_refs()
WebhookDependabotAlertDismissed.update_forward_refs()
WebhookDependabotAlertFixed.update_forward_refs()
WebhookDependabotAlertReintroduced.update_forward_refs()
WebhookDependabotAlertReopened.update_forward_refs()
WebhookGollum.update_forward_refs()
WebhookGollumPropPagesItems.update_forward_refs()
WebhookIssueCommentCreated.update_forward_refs()
WebhookIssueCommentCreatedPropComment.update_forward_refs()
WebhookIssueCommentCreatedPropCommentPropReactions.update_forward_refs()
WebhookIssueCommentCreatedPropCommentPropUser.update_forward_refs()
WebhookIssueCommentCreatedPropIssue.update_forward_refs()
WebhookIssueCommentCreatedPropIssueAllof0.update_forward_refs()
WebhookIssueCommentCreatedPropIssueAllof0PropAssignee.update_forward_refs()
WebhookIssueCommentCreatedPropIssueAllof0PropAssigneesItems.update_forward_refs()
WebhookIssueCommentCreatedPropIssueAllof0PropLabelsItems.update_forward_refs()
WebhookIssueCommentCreatedPropIssueAllof0PropMilestonePropCreator.update_forward_refs()
WebhookIssueCommentCreatedPropIssueAllof0PropMilestone.update_forward_refs()
WebhookIssueCommentCreatedPropIssueAllof0PropPerformedViaGithubAppPropOwner.update_forward_refs()
WebhookIssueCommentCreatedPropIssueAllof0PropPerformedViaGithubAppPropPermissions.update_forward_refs()
WebhookIssueCommentCreatedPropIssueAllof0PropPerformedViaGithubApp.update_forward_refs()
WebhookIssueCommentCreatedPropIssueAllof0PropPullRequest.update_forward_refs()
WebhookIssueCommentCreatedPropIssueAllof0PropReactions.update_forward_refs()
WebhookIssueCommentCreatedPropIssueAllof0PropUser.update_forward_refs()
WebhookIssueCommentCreatedPropIssueAllof1.update_forward_refs()
WebhookIssueCommentCreatedPropIssueAllof1PropAssignee.update_forward_refs()
WebhookIssueCommentCreatedPropIssueAllof1PropAssigneesItems.update_forward_refs()
WebhookIssueCommentCreatedPropIssueAllof1PropLabelsItems.update_forward_refs()
WebhookIssueCommentCreatedPropIssueAllof1PropMilestone.update_forward_refs()
WebhookIssueCommentCreatedPropIssueAllof1PropPerformedViaGithubApp.update_forward_refs()
WebhookIssueCommentCreatedPropIssueAllof1PropReactions.update_forward_refs()
WebhookIssueCommentCreatedPropIssueAllof1PropUser.update_forward_refs()
WebhookIssueCommentCreatedPropIssueMergedAssignees.update_forward_refs()
WebhookIssueCommentCreatedPropIssueMergedMilestone.update_forward_refs()
WebhookIssueCommentCreatedPropIssueMergedPerformedViaGithubApp.update_forward_refs()
WebhookIssueCommentCreatedPropIssueMergedReactions.update_forward_refs()
WebhookIssueCommentCreatedPropIssueMergedUser.update_forward_refs()
WebhookIssueCommentDeleted.update_forward_refs()
WebhookIssueCommentDeletedPropComment.update_forward_refs()
WebhookIssueCommentDeletedPropCommentPropReactions.update_forward_refs()
WebhookIssueCommentDeletedPropCommentPropUser.update_forward_refs()
WebhookIssueCommentDeletedPropIssue.update_forward_refs()
WebhookIssueCommentDeletedPropIssueAllof0.update_forward_refs()
WebhookIssueCommentDeletedPropIssueAllof0PropAssignee.update_forward_refs()
WebhookIssueCommentDeletedPropIssueAllof0PropAssigneesItems.update_forward_refs()
WebhookIssueCommentDeletedPropIssueAllof0PropLabelsItems.update_forward_refs()
WebhookIssueCommentDeletedPropIssueAllof0PropMilestonePropCreator.update_forward_refs()
WebhookIssueCommentDeletedPropIssueAllof0PropMilestone.update_forward_refs()
WebhookIssueCommentDeletedPropIssueAllof0PropPerformedViaGithubAppPropOwner.update_forward_refs()
WebhookIssueCommentDeletedPropIssueAllof0PropPerformedViaGithubAppPropPermissions.update_forward_refs()
WebhookIssueCommentDeletedPropIssueAllof0PropPerformedViaGithubApp.update_forward_refs()
WebhookIssueCommentDeletedPropIssueAllof0PropPullRequest.update_forward_refs()
WebhookIssueCommentDeletedPropIssueAllof0PropReactions.update_forward_refs()
WebhookIssueCommentDeletedPropIssueAllof0PropUser.update_forward_refs()
WebhookIssueCommentDeletedPropIssueAllof1.update_forward_refs()
WebhookIssueCommentDeletedPropIssueAllof1PropAssignee.update_forward_refs()
WebhookIssueCommentDeletedPropIssueAllof1PropAssigneesItems.update_forward_refs()
WebhookIssueCommentDeletedPropIssueAllof1PropLabelsItems.update_forward_refs()
WebhookIssueCommentDeletedPropIssueAllof1PropMilestone.update_forward_refs()
WebhookIssueCommentDeletedPropIssueAllof1PropPerformedViaGithubApp.update_forward_refs()
WebhookIssueCommentDeletedPropIssueAllof1PropReactions.update_forward_refs()
WebhookIssueCommentDeletedPropIssueAllof1PropUser.update_forward_refs()
WebhookIssueCommentDeletedPropIssueMergedAssignees.update_forward_refs()
WebhookIssueCommentDeletedPropIssueMergedMilestone.update_forward_refs()
WebhookIssueCommentDeletedPropIssueMergedPerformedViaGithubApp.update_forward_refs()
WebhookIssueCommentDeletedPropIssueMergedReactions.update_forward_refs()
WebhookIssueCommentDeletedPropIssueMergedUser.update_forward_refs()
WebhookIssueCommentEdited.update_forward_refs()
WebhookIssueCommentEditedPropChanges.update_forward_refs()
WebhookIssueCommentEditedPropChangesPropBody.update_forward_refs()
WebhookIssueCommentEditedPropComment.update_forward_refs()
WebhookIssueCommentEditedPropCommentPropReactions.update_forward_refs()
WebhookIssueCommentEditedPropCommentPropUser.update_forward_refs()
WebhookIssueCommentEditedPropIssue.update_forward_refs()
WebhookIssueCommentEditedPropIssueAllof0.update_forward_refs()
WebhookIssueCommentEditedPropIssueAllof0PropAssignee.update_forward_refs()
WebhookIssueCommentEditedPropIssueAllof0PropAssigneesItems.update_forward_refs()
WebhookIssueCommentEditedPropIssueAllof0PropLabelsItems.update_forward_refs()
WebhookIssueCommentEditedPropIssueAllof0PropMilestonePropCreator.update_forward_refs()
WebhookIssueCommentEditedPropIssueAllof0PropMilestone.update_forward_refs()
WebhookIssueCommentEditedPropIssueAllof0PropPerformedViaGithubAppPropOwner.update_forward_refs()
WebhookIssueCommentEditedPropIssueAllof0PropPerformedViaGithubAppPropPermissions.update_forward_refs()
WebhookIssueCommentEditedPropIssueAllof0PropPerformedViaGithubApp.update_forward_refs()
WebhookIssueCommentEditedPropIssueAllof0PropPullRequest.update_forward_refs()
WebhookIssueCommentEditedPropIssueAllof0PropReactions.update_forward_refs()
WebhookIssueCommentEditedPropIssueAllof0PropUser.update_forward_refs()
WebhookIssueCommentEditedPropIssueAllof1.update_forward_refs()
WebhookIssueCommentEditedPropIssueAllof1PropAssignee.update_forward_refs()
WebhookIssueCommentEditedPropIssueAllof1PropAssigneesItems.update_forward_refs()
WebhookIssueCommentEditedPropIssueAllof1PropLabelsItems.update_forward_refs()
WebhookIssueCommentEditedPropIssueAllof1PropMilestone.update_forward_refs()
WebhookIssueCommentEditedPropIssueAllof1PropPerformedViaGithubApp.update_forward_refs()
WebhookIssueCommentEditedPropIssueAllof1PropReactions.update_forward_refs()
WebhookIssueCommentEditedPropIssueAllof1PropUser.update_forward_refs()
WebhookIssueCommentEditedPropIssueMergedAssignees.update_forward_refs()
WebhookIssueCommentEditedPropIssueMergedMilestone.update_forward_refs()
WebhookIssueCommentEditedPropIssueMergedPerformedViaGithubApp.update_forward_refs()
WebhookIssueCommentEditedPropIssueMergedReactions.update_forward_refs()
WebhookIssueCommentEditedPropIssueMergedUser.update_forward_refs()
WebhookIssuesAssigned.update_forward_refs()
WebhookIssuesAssignedPropAssignee.update_forward_refs()
WebhookIssuesAssignedPropIssue.update_forward_refs()
WebhookIssuesAssignedPropIssuePropAssignee.update_forward_refs()
WebhookIssuesAssignedPropIssuePropAssigneesItems.update_forward_refs()
WebhookIssuesAssignedPropIssuePropLabelsItems.update_forward_refs()
WebhookIssuesAssignedPropIssuePropMilestonePropCreator.update_forward_refs()
WebhookIssuesAssignedPropIssuePropMilestone.update_forward_refs()
WebhookIssuesAssignedPropIssuePropPerformedViaGithubAppPropOwner.update_forward_refs()
WebhookIssuesAssignedPropIssuePropPerformedViaGithubAppPropPermissions.update_forward_refs()
WebhookIssuesAssignedPropIssuePropPerformedViaGithubApp.update_forward_refs()
WebhookIssuesAssignedPropIssuePropPullRequest.update_forward_refs()
WebhookIssuesAssignedPropIssuePropReactions.update_forward_refs()
WebhookIssuesAssignedPropIssuePropUser.update_forward_refs()
WebhookIssuesClosed.update_forward_refs()
WebhookIssuesClosedPropIssue.update_forward_refs()
WebhookIssuesClosedPropIssueAllof0.update_forward_refs()
WebhookIssuesClosedPropIssueAllof0PropAssignee.update_forward_refs()
WebhookIssuesClosedPropIssueAllof0PropAssigneesItems.update_forward_refs()
WebhookIssuesClosedPropIssueAllof0PropLabelsItems.update_forward_refs()
WebhookIssuesClosedPropIssueAllof0PropMilestonePropCreator.update_forward_refs()
WebhookIssuesClosedPropIssueAllof0PropMilestone.update_forward_refs()
WebhookIssuesClosedPropIssueAllof0PropPerformedViaGithubAppPropOwner.update_forward_refs()
WebhookIssuesClosedPropIssueAllof0PropPerformedViaGithubAppPropPermissions.update_forward_refs()
WebhookIssuesClosedPropIssueAllof0PropPerformedViaGithubApp.update_forward_refs()
WebhookIssuesClosedPropIssueAllof0PropPullRequest.update_forward_refs()
WebhookIssuesClosedPropIssueAllof0PropReactions.update_forward_refs()
WebhookIssuesClosedPropIssueAllof0PropUser.update_forward_refs()
WebhookIssuesClosedPropIssueAllof1.update_forward_refs()
WebhookIssuesClosedPropIssueAllof1PropAssignee.update_forward_refs()
WebhookIssuesClosedPropIssueAllof1PropAssigneesItems.update_forward_refs()
WebhookIssuesClosedPropIssueAllof1PropLabelsItems.update_forward_refs()
WebhookIssuesClosedPropIssueAllof1PropMilestone.update_forward_refs()
WebhookIssuesClosedPropIssueAllof1PropPerformedViaGithubApp.update_forward_refs()
WebhookIssuesClosedPropIssueAllof1PropReactions.update_forward_refs()
WebhookIssuesClosedPropIssueAllof1PropUser.update_forward_refs()
WebhookIssuesClosedPropIssueMergedAssignee.update_forward_refs()
WebhookIssuesClosedPropIssueMergedAssignees.update_forward_refs()
WebhookIssuesClosedPropIssueMergedLabels.update_forward_refs()
WebhookIssuesClosedPropIssueMergedMilestone.update_forward_refs()
WebhookIssuesClosedPropIssueMergedPerformedViaGithubApp.update_forward_refs()
WebhookIssuesClosedPropIssueMergedReactions.update_forward_refs()
WebhookIssuesClosedPropIssueMergedUser.update_forward_refs()
WebhookIssuesDeleted.update_forward_refs()
WebhookIssuesDeletedPropIssue.update_forward_refs()
WebhookIssuesDeletedPropIssuePropAssignee.update_forward_refs()
WebhookIssuesDeletedPropIssuePropAssigneesItems.update_forward_refs()
WebhookIssuesDeletedPropIssuePropLabelsItems.update_forward_refs()
WebhookIssuesDeletedPropIssuePropMilestonePropCreator.update_forward_refs()
WebhookIssuesDeletedPropIssuePropMilestone.update_forward_refs()
WebhookIssuesDeletedPropIssuePropPerformedViaGithubAppPropOwner.update_forward_refs()
WebhookIssuesDeletedPropIssuePropPerformedViaGithubAppPropPermissions.update_forward_refs()
WebhookIssuesDeletedPropIssuePropPerformedViaGithubApp.update_forward_refs()
WebhookIssuesDeletedPropIssuePropPullRequest.update_forward_refs()
WebhookIssuesDeletedPropIssuePropReactions.update_forward_refs()
WebhookIssuesDeletedPropIssuePropUser.update_forward_refs()
WebhookIssuesDemilestoned.update_forward_refs()
WebhookIssuesDemilestonedPropIssue.update_forward_refs()
WebhookIssuesDemilestonedPropIssueAllof0.update_forward_refs()
WebhookIssuesDemilestonedPropIssueAllof0PropAssignee.update_forward_refs()
WebhookIssuesDemilestonedPropIssueAllof0PropAssigneesItems.update_forward_refs()
WebhookIssuesDemilestonedPropIssueAllof0PropLabelsItems.update_forward_refs()
WebhookIssuesDemilestonedPropIssueAllof0PropMilestonePropCreator.update_forward_refs()
WebhookIssuesDemilestonedPropIssueAllof0PropMilestone.update_forward_refs()
WebhookIssuesDemilestonedPropIssueAllof0PropPerformedViaGithubAppPropOwner.update_forward_refs()
WebhookIssuesDemilestonedPropIssueAllof0PropPerformedViaGithubAppPropPermissions.update_forward_refs()
WebhookIssuesDemilestonedPropIssueAllof0PropPerformedViaGithubApp.update_forward_refs()
WebhookIssuesDemilestonedPropIssueAllof0PropPullRequest.update_forward_refs()
WebhookIssuesDemilestonedPropIssueAllof0PropReactions.update_forward_refs()
WebhookIssuesDemilestonedPropIssueAllof0PropUser.update_forward_refs()
WebhookIssuesDemilestonedPropIssueAllof1.update_forward_refs()
WebhookIssuesDemilestonedPropIssueAllof1PropAssignee.update_forward_refs()
WebhookIssuesDemilestonedPropIssueAllof1PropAssigneesItems.update_forward_refs()
WebhookIssuesDemilestonedPropIssueAllof1PropLabelsItems.update_forward_refs()
WebhookIssuesDemilestonedPropIssueAllof1PropMilestonePropCreator.update_forward_refs()
WebhookIssuesDemilestonedPropIssueAllof1PropMilestone.update_forward_refs()
WebhookIssuesDemilestonedPropIssueAllof1PropPerformedViaGithubApp.update_forward_refs()
WebhookIssuesDemilestonedPropIssueAllof1PropReactions.update_forward_refs()
WebhookIssuesDemilestonedPropIssueAllof1PropUser.update_forward_refs()
WebhookIssuesDemilestonedPropIssueMergedAssignee.update_forward_refs()
WebhookIssuesDemilestonedPropIssueMergedAssignees.update_forward_refs()
WebhookIssuesDemilestonedPropIssueMergedLabels.update_forward_refs()
WebhookIssuesDemilestonedPropIssueMergedPerformedViaGithubApp.update_forward_refs()
WebhookIssuesDemilestonedPropIssueMergedReactions.update_forward_refs()
WebhookIssuesDemilestonedPropIssueMergedUser.update_forward_refs()
WebhookIssuesDemilestonedPropMilestone.update_forward_refs()
WebhookIssuesDemilestonedPropMilestonePropCreator.update_forward_refs()
WebhookIssuesEdited.update_forward_refs()
WebhookIssuesEditedPropChanges.update_forward_refs()
WebhookIssuesEditedPropChangesPropBody.update_forward_refs()
WebhookIssuesEditedPropChangesPropTitle.update_forward_refs()
WebhookIssuesEditedPropIssue.update_forward_refs()
WebhookIssuesEditedPropIssuePropAssignee.update_forward_refs()
WebhookIssuesEditedPropIssuePropAssigneesItems.update_forward_refs()
WebhookIssuesEditedPropIssuePropLabelsItems.update_forward_refs()
WebhookIssuesEditedPropIssuePropMilestonePropCreator.update_forward_refs()
WebhookIssuesEditedPropIssuePropMilestone.update_forward_refs()
WebhookIssuesEditedPropIssuePropPerformedViaGithubAppPropOwner.update_forward_refs()
WebhookIssuesEditedPropIssuePropPerformedViaGithubAppPropPermissions.update_forward_refs()
WebhookIssuesEditedPropIssuePropPerformedViaGithubApp.update_forward_refs()
WebhookIssuesEditedPropIssuePropPullRequest.update_forward_refs()
WebhookIssuesEditedPropIssuePropReactions.update_forward_refs()
WebhookIssuesEditedPropIssuePropUser.update_forward_refs()
WebhookIssuesEditedPropLabel.update_forward_refs()
WebhookIssuesLabeled.update_forward_refs()
WebhookIssuesLabeledPropIssue.update_forward_refs()
WebhookIssuesLabeledPropIssuePropAssignee.update_forward_refs()
WebhookIssuesLabeledPropIssuePropAssigneesItems.update_forward_refs()
WebhookIssuesLabeledPropIssuePropLabelsItems.update_forward_refs()
WebhookIssuesLabeledPropIssuePropMilestonePropCreator.update_forward_refs()
WebhookIssuesLabeledPropIssuePropMilestone.update_forward_refs()
WebhookIssuesLabeledPropIssuePropPerformedViaGithubAppPropOwner.update_forward_refs()
WebhookIssuesLabeledPropIssuePropPerformedViaGithubAppPropPermissions.update_forward_refs()
WebhookIssuesLabeledPropIssuePropPerformedViaGithubApp.update_forward_refs()
WebhookIssuesLabeledPropIssuePropPullRequest.update_forward_refs()
WebhookIssuesLabeledPropIssuePropReactions.update_forward_refs()
WebhookIssuesLabeledPropIssuePropUser.update_forward_refs()
WebhookIssuesLabeledPropLabel.update_forward_refs()
WebhookIssuesLocked.update_forward_refs()
WebhookIssuesLockedPropIssue.update_forward_refs()
WebhookIssuesLockedPropIssueAllof0.update_forward_refs()
WebhookIssuesLockedPropIssueAllof0PropAssignee.update_forward_refs()
WebhookIssuesLockedPropIssueAllof0PropAssigneesItems.update_forward_refs()
WebhookIssuesLockedPropIssueAllof0PropLabelsItems.update_forward_refs()
WebhookIssuesLockedPropIssueAllof0PropMilestonePropCreator.update_forward_refs()
WebhookIssuesLockedPropIssueAllof0PropMilestone.update_forward_refs()
WebhookIssuesLockedPropIssueAllof0PropPerformedViaGithubAppPropOwner.update_forward_refs()
WebhookIssuesLockedPropIssueAllof0PropPerformedViaGithubAppPropPermissions.update_forward_refs()
WebhookIssuesLockedPropIssueAllof0PropPerformedViaGithubApp.update_forward_refs()
WebhookIssuesLockedPropIssueAllof0PropPullRequest.update_forward_refs()
WebhookIssuesLockedPropIssueAllof0PropReactions.update_forward_refs()
WebhookIssuesLockedPropIssueAllof0PropUser.update_forward_refs()
WebhookIssuesLockedPropIssueAllof1.update_forward_refs()
WebhookIssuesLockedPropIssueAllof1PropAssignee.update_forward_refs()
WebhookIssuesLockedPropIssueAllof1PropAssigneesItems.update_forward_refs()
WebhookIssuesLockedPropIssueAllof1PropLabelsItems.update_forward_refs()
WebhookIssuesLockedPropIssueAllof1PropMilestone.update_forward_refs()
WebhookIssuesLockedPropIssueAllof1PropPerformedViaGithubApp.update_forward_refs()
WebhookIssuesLockedPropIssueAllof1PropReactions.update_forward_refs()
WebhookIssuesLockedPropIssueAllof1PropUser.update_forward_refs()
WebhookIssuesLockedPropIssueMergedAssignee.update_forward_refs()
WebhookIssuesLockedPropIssueMergedAssignees.update_forward_refs()
WebhookIssuesLockedPropIssueMergedLabels.update_forward_refs()
WebhookIssuesLockedPropIssueMergedMilestone.update_forward_refs()
WebhookIssuesLockedPropIssueMergedPerformedViaGithubApp.update_forward_refs()
WebhookIssuesLockedPropIssueMergedReactions.update_forward_refs()
WebhookIssuesLockedPropIssueMergedUser.update_forward_refs()
WebhookIssuesMilestoned.update_forward_refs()
WebhookIssuesMilestonedPropIssue.update_forward_refs()
WebhookIssuesMilestonedPropIssueAllof0.update_forward_refs()
WebhookIssuesMilestonedPropIssueAllof0PropAssignee.update_forward_refs()
WebhookIssuesMilestonedPropIssueAllof0PropAssigneesItems.update_forward_refs()
WebhookIssuesMilestonedPropIssueAllof0PropLabelsItems.update_forward_refs()
WebhookIssuesMilestonedPropIssueAllof0PropMilestonePropCreator.update_forward_refs()
WebhookIssuesMilestonedPropIssueAllof0PropMilestone.update_forward_refs()
WebhookIssuesMilestonedPropIssueAllof0PropPerformedViaGithubAppPropOwner.update_forward_refs()
WebhookIssuesMilestonedPropIssueAllof0PropPerformedViaGithubAppPropPermissions.update_forward_refs()
WebhookIssuesMilestonedPropIssueAllof0PropPerformedViaGithubApp.update_forward_refs()
WebhookIssuesMilestonedPropIssueAllof0PropPullRequest.update_forward_refs()
WebhookIssuesMilestonedPropIssueAllof0PropReactions.update_forward_refs()
WebhookIssuesMilestonedPropIssueAllof0PropUser.update_forward_refs()
WebhookIssuesMilestonedPropIssueAllof1.update_forward_refs()
WebhookIssuesMilestonedPropIssueAllof1PropAssignee.update_forward_refs()
WebhookIssuesMilestonedPropIssueAllof1PropAssigneesItems.update_forward_refs()
WebhookIssuesMilestonedPropIssueAllof1PropLabelsItems.update_forward_refs()
WebhookIssuesMilestonedPropIssueAllof1PropMilestone.update_forward_refs()
WebhookIssuesMilestonedPropIssueAllof1PropMilestonePropCreator.update_forward_refs()
WebhookIssuesMilestonedPropIssueAllof1PropPerformedViaGithubApp.update_forward_refs()
WebhookIssuesMilestonedPropIssueAllof1PropReactions.update_forward_refs()
WebhookIssuesMilestonedPropIssueAllof1PropUser.update_forward_refs()
WebhookIssuesMilestonedPropIssueMergedAssignee.update_forward_refs()
WebhookIssuesMilestonedPropIssueMergedAssignees.update_forward_refs()
WebhookIssuesMilestonedPropIssueMergedLabels.update_forward_refs()
WebhookIssuesMilestonedPropIssueMergedPerformedViaGithubApp.update_forward_refs()
WebhookIssuesMilestonedPropIssueMergedReactions.update_forward_refs()
WebhookIssuesMilestonedPropIssueMergedUser.update_forward_refs()
WebhookIssuesMilestonedPropMilestone.update_forward_refs()
WebhookIssuesMilestonedPropMilestonePropCreator.update_forward_refs()
WebhookIssuesOpened.update_forward_refs()
WebhookIssuesOpenedPropChanges.update_forward_refs()
WebhookIssuesOpenedPropChangesPropOldIssuePropAssignee.update_forward_refs()
WebhookIssuesOpenedPropChangesPropOldIssuePropAssigneesItems.update_forward_refs()
WebhookIssuesOpenedPropChangesPropOldIssuePropLabelsItems.update_forward_refs()
WebhookIssuesOpenedPropChangesPropOldIssuePropMilestonePropCreator.update_forward_refs()
WebhookIssuesOpenedPropChangesPropOldIssuePropMilestone.update_forward_refs()
WebhookIssuesOpenedPropChangesPropOldIssuePropPerformedViaGithubAppPropOwner.update_forward_refs()
WebhookIssuesOpenedPropChangesPropOldIssuePropPerformedViaGithubAppPropPermissions.update_forward_refs()
WebhookIssuesOpenedPropChangesPropOldIssuePropPerformedViaGithubApp.update_forward_refs()
WebhookIssuesOpenedPropChangesPropOldIssuePropPullRequest.update_forward_refs()
WebhookIssuesOpenedPropChangesPropOldIssuePropReactions.update_forward_refs()
WebhookIssuesOpenedPropChangesPropOldIssuePropUser.update_forward_refs()
WebhookIssuesOpenedPropChangesPropOldIssue.update_forward_refs()
WebhookIssuesOpenedPropChangesPropOldRepository.update_forward_refs()
WebhookIssuesOpenedPropChangesPropOldRepositoryPropLicense.update_forward_refs()
WebhookIssuesOpenedPropChangesPropOldRepositoryPropOwner.update_forward_refs()
WebhookIssuesOpenedPropChangesPropOldRepositoryPropPermissions.update_forward_refs()
WebhookIssuesOpenedPropIssue.update_forward_refs()
WebhookIssuesOpenedPropIssueAllof0.update_forward_refs()
WebhookIssuesOpenedPropIssueAllof0PropAssignee.update_forward_refs()
WebhookIssuesOpenedPropIssueAllof0PropAssigneesItems.update_forward_refs()
WebhookIssuesOpenedPropIssueAllof0PropLabelsItems.update_forward_refs()
WebhookIssuesOpenedPropIssueAllof0PropMilestonePropCreator.update_forward_refs()
WebhookIssuesOpenedPropIssueAllof0PropMilestone.update_forward_refs()
WebhookIssuesOpenedPropIssueAllof0PropPerformedViaGithubAppPropOwner.update_forward_refs()
WebhookIssuesOpenedPropIssueAllof0PropPerformedViaGithubAppPropPermissions.update_forward_refs()
WebhookIssuesOpenedPropIssueAllof0PropPerformedViaGithubApp.update_forward_refs()
WebhookIssuesOpenedPropIssueAllof0PropPullRequest.update_forward_refs()
WebhookIssuesOpenedPropIssueAllof0PropReactions.update_forward_refs()
WebhookIssuesOpenedPropIssueAllof0PropUser.update_forward_refs()
WebhookIssuesOpenedPropIssueAllof1.update_forward_refs()
WebhookIssuesOpenedPropIssueAllof1PropAssignee.update_forward_refs()
WebhookIssuesOpenedPropIssueAllof1PropAssigneesItems.update_forward_refs()
WebhookIssuesOpenedPropIssueAllof1PropLabelsItems.update_forward_refs()
WebhookIssuesOpenedPropIssueAllof1PropMilestone.update_forward_refs()
WebhookIssuesOpenedPropIssueAllof1PropPerformedViaGithubApp.update_forward_refs()
WebhookIssuesOpenedPropIssueAllof1PropReactions.update_forward_refs()
WebhookIssuesOpenedPropIssueAllof1PropUser.update_forward_refs()
WebhookIssuesOpenedPropIssueMergedAssignee.update_forward_refs()
WebhookIssuesOpenedPropIssueMergedAssignees.update_forward_refs()
WebhookIssuesOpenedPropIssueMergedLabels.update_forward_refs()
WebhookIssuesOpenedPropIssueMergedMilestone.update_forward_refs()
WebhookIssuesOpenedPropIssueMergedPerformedViaGithubApp.update_forward_refs()
WebhookIssuesOpenedPropIssueMergedReactions.update_forward_refs()
WebhookIssuesOpenedPropIssueMergedUser.update_forward_refs()
WebhookIssuesPinned.update_forward_refs()
WebhookIssuesPinnedPropIssue.update_forward_refs()
WebhookIssuesPinnedPropIssuePropAssignee.update_forward_refs()
WebhookIssuesPinnedPropIssuePropAssigneesItems.update_forward_refs()
WebhookIssuesPinnedPropIssuePropLabelsItems.update_forward_refs()
WebhookIssuesPinnedPropIssuePropMilestonePropCreator.update_forward_refs()
WebhookIssuesPinnedPropIssuePropMilestone.update_forward_refs()
WebhookIssuesPinnedPropIssuePropPerformedViaGithubAppPropOwner.update_forward_refs()
WebhookIssuesPinnedPropIssuePropPerformedViaGithubAppPropPermissions.update_forward_refs()
WebhookIssuesPinnedPropIssuePropPerformedViaGithubApp.update_forward_refs()
WebhookIssuesPinnedPropIssuePropPullRequest.update_forward_refs()
WebhookIssuesPinnedPropIssuePropReactions.update_forward_refs()
WebhookIssuesPinnedPropIssuePropUser.update_forward_refs()
WebhookIssuesReopened.update_forward_refs()
WebhookIssuesReopenedPropIssue.update_forward_refs()
WebhookIssuesReopenedPropIssueAllof0.update_forward_refs()
WebhookIssuesReopenedPropIssueAllof0PropAssignee.update_forward_refs()
WebhookIssuesReopenedPropIssueAllof0PropAssigneesItems.update_forward_refs()
WebhookIssuesReopenedPropIssueAllof0PropLabelsItems.update_forward_refs()
WebhookIssuesReopenedPropIssueAllof0PropMilestonePropCreator.update_forward_refs()
WebhookIssuesReopenedPropIssueAllof0PropMilestone.update_forward_refs()
WebhookIssuesReopenedPropIssueAllof0PropPerformedViaGithubAppPropOwner.update_forward_refs()
WebhookIssuesReopenedPropIssueAllof0PropPerformedViaGithubAppPropPermissions.update_forward_refs()
WebhookIssuesReopenedPropIssueAllof0PropPerformedViaGithubApp.update_forward_refs()
WebhookIssuesReopenedPropIssueAllof0PropPullRequest.update_forward_refs()
WebhookIssuesReopenedPropIssueAllof0PropReactions.update_forward_refs()
WebhookIssuesReopenedPropIssueAllof0PropUser.update_forward_refs()
WebhookIssuesReopenedPropIssueAllof1.update_forward_refs()
WebhookIssuesReopenedPropIssueAllof1PropAssignee.update_forward_refs()
WebhookIssuesReopenedPropIssueAllof1PropAssigneesItems.update_forward_refs()
WebhookIssuesReopenedPropIssueAllof1PropLabelsItems.update_forward_refs()
WebhookIssuesReopenedPropIssueAllof1PropMilestone.update_forward_refs()
WebhookIssuesReopenedPropIssueAllof1PropPerformedViaGithubApp.update_forward_refs()
WebhookIssuesReopenedPropIssueAllof1PropReactions.update_forward_refs()
WebhookIssuesReopenedPropIssueAllof1PropUser.update_forward_refs()
WebhookIssuesReopenedPropIssueMergedAssignee.update_forward_refs()
WebhookIssuesReopenedPropIssueMergedAssignees.update_forward_refs()
WebhookIssuesReopenedPropIssueMergedLabels.update_forward_refs()
WebhookIssuesReopenedPropIssueMergedMilestone.update_forward_refs()
WebhookIssuesReopenedPropIssueMergedPerformedViaGithubApp.update_forward_refs()
WebhookIssuesReopenedPropIssueMergedReactions.update_forward_refs()
WebhookIssuesReopenedPropIssueMergedUser.update_forward_refs()
WebhookIssuesTransferred.update_forward_refs()
WebhookIssuesTransferredPropChanges.update_forward_refs()
WebhookIssuesTransferredPropChangesPropNewIssue.update_forward_refs()
WebhookIssuesTransferredPropChangesPropNewIssuePropAssignee.update_forward_refs()
WebhookIssuesTransferredPropChangesPropNewIssuePropAssigneesItems.update_forward_refs()
WebhookIssuesTransferredPropChangesPropNewIssuePropLabelsItems.update_forward_refs()
WebhookIssuesTransferredPropChangesPropNewIssuePropMilestonePropCreator.update_forward_refs()
WebhookIssuesTransferredPropChangesPropNewIssuePropMilestone.update_forward_refs()
WebhookIssuesTransferredPropChangesPropNewIssuePropPerformedViaGithubAppPropOwner.update_forward_refs()
WebhookIssuesTransferredPropChangesPropNewIssuePropPerformedViaGithubAppPropPermissions.update_forward_refs()
WebhookIssuesTransferredPropChangesPropNewIssuePropPerformedViaGithubApp.update_forward_refs()
WebhookIssuesTransferredPropChangesPropNewIssuePropPullRequest.update_forward_refs()
WebhookIssuesTransferredPropChangesPropNewIssuePropReactions.update_forward_refs()
WebhookIssuesTransferredPropChangesPropNewIssuePropUser.update_forward_refs()
WebhookIssuesTransferredPropChangesPropNewRepository.update_forward_refs()
WebhookIssuesTransferredPropChangesPropNewRepositoryPropLicense.update_forward_refs()
WebhookIssuesTransferredPropChangesPropNewRepositoryPropOwner.update_forward_refs()
WebhookIssuesTransferredPropChangesPropNewRepositoryPropPermissions.update_forward_refs()
WebhookIssuesTransferredPropIssue.update_forward_refs()
WebhookIssuesTransferredPropIssuePropAssignee.update_forward_refs()
WebhookIssuesTransferredPropIssuePropAssigneesItems.update_forward_refs()
WebhookIssuesTransferredPropIssuePropLabelsItems.update_forward_refs()
WebhookIssuesTransferredPropIssuePropMilestonePropCreator.update_forward_refs()
WebhookIssuesTransferredPropIssuePropMilestone.update_forward_refs()
WebhookIssuesTransferredPropIssuePropPerformedViaGithubAppPropOwner.update_forward_refs()
WebhookIssuesTransferredPropIssuePropPerformedViaGithubAppPropPermissions.update_forward_refs()
WebhookIssuesTransferredPropIssuePropPerformedViaGithubApp.update_forward_refs()
WebhookIssuesTransferredPropIssuePropPullRequest.update_forward_refs()
WebhookIssuesTransferredPropIssuePropReactions.update_forward_refs()
WebhookIssuesTransferredPropIssuePropUser.update_forward_refs()
WebhookIssuesUnassigned.update_forward_refs()
WebhookIssuesUnassignedPropAssignee.update_forward_refs()
WebhookIssuesUnassignedPropIssue.update_forward_refs()
WebhookIssuesUnassignedPropIssuePropAssignee.update_forward_refs()
WebhookIssuesUnassignedPropIssuePropAssigneesItems.update_forward_refs()
WebhookIssuesUnassignedPropIssuePropLabelsItems.update_forward_refs()
WebhookIssuesUnassignedPropIssuePropMilestonePropCreator.update_forward_refs()
WebhookIssuesUnassignedPropIssuePropMilestone.update_forward_refs()
WebhookIssuesUnassignedPropIssuePropPerformedViaGithubAppPropOwner.update_forward_refs()
WebhookIssuesUnassignedPropIssuePropPerformedViaGithubAppPropPermissions.update_forward_refs()
WebhookIssuesUnassignedPropIssuePropPerformedViaGithubApp.update_forward_refs()
WebhookIssuesUnassignedPropIssuePropPullRequest.update_forward_refs()
WebhookIssuesUnassignedPropIssuePropReactions.update_forward_refs()
WebhookIssuesUnassignedPropIssuePropUser.update_forward_refs()
WebhookIssuesUnlabeled.update_forward_refs()
WebhookIssuesUnlabeledPropIssue.update_forward_refs()
WebhookIssuesUnlabeledPropIssuePropAssignee.update_forward_refs()
WebhookIssuesUnlabeledPropIssuePropAssigneesItems.update_forward_refs()
WebhookIssuesUnlabeledPropIssuePropLabelsItems.update_forward_refs()
WebhookIssuesUnlabeledPropIssuePropMilestonePropCreator.update_forward_refs()
WebhookIssuesUnlabeledPropIssuePropMilestone.update_forward_refs()
WebhookIssuesUnlabeledPropIssuePropPerformedViaGithubAppPropOwner.update_forward_refs()
WebhookIssuesUnlabeledPropIssuePropPerformedViaGithubAppPropPermissions.update_forward_refs()
WebhookIssuesUnlabeledPropIssuePropPerformedViaGithubApp.update_forward_refs()
WebhookIssuesUnlabeledPropIssuePropPullRequest.update_forward_refs()
WebhookIssuesUnlabeledPropIssuePropReactions.update_forward_refs()
WebhookIssuesUnlabeledPropIssuePropUser.update_forward_refs()
WebhookIssuesUnlabeledPropLabel.update_forward_refs()
WebhookIssuesUnlocked.update_forward_refs()
WebhookIssuesUnlockedPropIssue.update_forward_refs()
WebhookIssuesUnlockedPropIssueAllof0.update_forward_refs()
WebhookIssuesUnlockedPropIssueAllof0PropAssignee.update_forward_refs()
WebhookIssuesUnlockedPropIssueAllof0PropAssigneesItems.update_forward_refs()
WebhookIssuesUnlockedPropIssueAllof0PropLabelsItems.update_forward_refs()
WebhookIssuesUnlockedPropIssueAllof0PropMilestonePropCreator.update_forward_refs()
WebhookIssuesUnlockedPropIssueAllof0PropMilestone.update_forward_refs()
WebhookIssuesUnlockedPropIssueAllof0PropPerformedViaGithubAppPropOwner.update_forward_refs()
WebhookIssuesUnlockedPropIssueAllof0PropPerformedViaGithubAppPropPermissions.update_forward_refs()
WebhookIssuesUnlockedPropIssueAllof0PropPerformedViaGithubApp.update_forward_refs()
WebhookIssuesUnlockedPropIssueAllof0PropPullRequest.update_forward_refs()
WebhookIssuesUnlockedPropIssueAllof0PropReactions.update_forward_refs()
WebhookIssuesUnlockedPropIssueAllof0PropUser.update_forward_refs()
WebhookIssuesUnlockedPropIssueAllof1.update_forward_refs()
WebhookIssuesUnlockedPropIssueAllof1PropAssignee.update_forward_refs()
WebhookIssuesUnlockedPropIssueAllof1PropAssigneesItems.update_forward_refs()
WebhookIssuesUnlockedPropIssueAllof1PropLabelsItems.update_forward_refs()
WebhookIssuesUnlockedPropIssueAllof1PropMilestone.update_forward_refs()
WebhookIssuesUnlockedPropIssueAllof1PropReactions.update_forward_refs()
WebhookIssuesUnlockedPropIssueAllof1PropUser.update_forward_refs()
WebhookIssuesUnlockedPropIssueMergedAssignee.update_forward_refs()
WebhookIssuesUnlockedPropIssueMergedAssignees.update_forward_refs()
WebhookIssuesUnlockedPropIssueMergedLabels.update_forward_refs()
WebhookIssuesUnlockedPropIssueMergedMilestone.update_forward_refs()
WebhookIssuesUnlockedPropIssueMergedReactions.update_forward_refs()
WebhookIssuesUnlockedPropIssueMergedUser.update_forward_refs()
WebhookIssuesUnpinned.update_forward_refs()
WebhookIssuesUnpinnedPropIssue.update_forward_refs()
WebhookIssuesUnpinnedPropIssuePropAssignee.update_forward_refs()
WebhookIssuesUnpinnedPropIssuePropAssigneesItems.update_forward_refs()
WebhookIssuesUnpinnedPropIssuePropLabelsItems.update_forward_refs()
WebhookIssuesUnpinnedPropIssuePropMilestonePropCreator.update_forward_refs()
WebhookIssuesUnpinnedPropIssuePropMilestone.update_forward_refs()
WebhookIssuesUnpinnedPropIssuePropPerformedViaGithubAppPropOwner.update_forward_refs()
WebhookIssuesUnpinnedPropIssuePropPerformedViaGithubAppPropPermissions.update_forward_refs()
WebhookIssuesUnpinnedPropIssuePropPerformedViaGithubApp.update_forward_refs()
WebhookIssuesUnpinnedPropIssuePropPullRequest.update_forward_refs()
WebhookIssuesUnpinnedPropIssuePropReactions.update_forward_refs()
WebhookIssuesUnpinnedPropIssuePropUser.update_forward_refs()
WebhookLabelCreated.update_forward_refs()
WebhookLabelCreatedPropLabel.update_forward_refs()
WebhookLabelDeleted.update_forward_refs()
WebhookLabelDeletedPropLabel.update_forward_refs()
WebhookLabelEdited.update_forward_refs()
WebhookLabelEditedPropChanges.update_forward_refs()
WebhookLabelEditedPropChangesPropColor.update_forward_refs()
WebhookLabelEditedPropChangesPropDescription.update_forward_refs()
WebhookLabelEditedPropChangesPropName.update_forward_refs()
WebhookLabelEditedPropLabel.update_forward_refs()
WebhookMemberAdded.update_forward_refs()
WebhookMemberAddedPropChanges.update_forward_refs()
WebhookMemberAddedPropChangesPropPermission.update_forward_refs()
WebhookMemberAddedPropMember.update_forward_refs()
WebhookMemberEdited.update_forward_refs()
WebhookMemberEditedPropChanges.update_forward_refs()
WebhookMemberEditedPropChangesPropOldPermission.update_forward_refs()
WebhookMemberEditedPropChangesPropPermission.update_forward_refs()
WebhookMemberEditedPropMember.update_forward_refs()
WebhookMemberRemoved.update_forward_refs()
WebhookMemberRemovedPropMember.update_forward_refs()
WebhookMembershipAdded.update_forward_refs()
WebhookMembershipAddedPropMember.update_forward_refs()
WebhookMembershipAddedPropSender.update_forward_refs()
WebhookMembershipAddedPropTeam.update_forward_refs()
WebhookMembershipAddedPropTeamPropParent.update_forward_refs()
WebhookMembershipRemoved.update_forward_refs()
WebhookMembershipRemovedPropMember.update_forward_refs()
WebhookMembershipRemovedPropSender.update_forward_refs()
WebhookMembershipRemovedPropTeam.update_forward_refs()
WebhookMembershipRemovedPropTeamPropParent.update_forward_refs()
WebhookMergeGroupChecksRequested.update_forward_refs()
WebhookMergeGroupChecksRequestedPropMergeGroup.update_forward_refs()
WebhookMergeGroupChecksRequestedPropMergeGroupPropHeadCommit.update_forward_refs()
WebhookMergeGroupChecksRequestedPropMergeGroupPropHeadCommitPropAuthor.update_forward_refs()
WebhookMergeGroupChecksRequestedPropMergeGroupPropHeadCommitPropCommitter.update_forward_refs()
WebhookMetaDeleted.update_forward_refs()
WebhookMetaDeletedPropHook.update_forward_refs()
WebhookMetaDeletedPropHookPropConfig.update_forward_refs()
WebhookMilestoneClosed.update_forward_refs()
WebhookMilestoneClosedPropMilestone.update_forward_refs()
WebhookMilestoneClosedPropMilestonePropCreator.update_forward_refs()
WebhookMilestoneCreated.update_forward_refs()
WebhookMilestoneCreatedPropMilestone.update_forward_refs()
WebhookMilestoneCreatedPropMilestonePropCreator.update_forward_refs()
WebhookMilestoneDeleted.update_forward_refs()
WebhookMilestoneDeletedPropMilestone.update_forward_refs()
WebhookMilestoneDeletedPropMilestonePropCreator.update_forward_refs()
WebhookMilestoneEdited.update_forward_refs()
WebhookMilestoneEditedPropChanges.update_forward_refs()
WebhookMilestoneEditedPropChangesPropDescription.update_forward_refs()
WebhookMilestoneEditedPropChangesPropDueOn.update_forward_refs()
WebhookMilestoneEditedPropChangesPropTitle.update_forward_refs()
WebhookMilestoneEditedPropMilestone.update_forward_refs()
WebhookMilestoneEditedPropMilestonePropCreator.update_forward_refs()
WebhookMilestoneOpened.update_forward_refs()
WebhookMilestoneOpenedPropMilestone.update_forward_refs()
WebhookMilestoneOpenedPropMilestonePropCreator.update_forward_refs()
WebhookOrgBlockBlocked.update_forward_refs()
WebhookOrgBlockBlockedPropBlockedUser.update_forward_refs()
WebhookOrgBlockUnblocked.update_forward_refs()
WebhookOrgBlockUnblockedPropBlockedUser.update_forward_refs()
WebhookOrganizationDeleted.update_forward_refs()
WebhookOrganizationDeletedPropMembership.update_forward_refs()
WebhookOrganizationDeletedPropMembershipPropUser.update_forward_refs()
WebhookOrganizationMemberAdded.update_forward_refs()
WebhookOrganizationMemberAddedPropMembership.update_forward_refs()
WebhookOrganizationMemberAddedPropMembershipPropUser.update_forward_refs()
WebhookOrganizationMemberInvited.update_forward_refs()
WebhookOrganizationMemberInvitedPropInvitation.update_forward_refs()
WebhookOrganizationMemberInvitedPropInvitationPropInviter.update_forward_refs()
WebhookOrganizationMemberInvitedPropUser.update_forward_refs()
WebhookOrganizationMemberRemoved.update_forward_refs()
WebhookOrganizationMemberRemovedPropMembership.update_forward_refs()
WebhookOrganizationMemberRemovedPropMembershipPropUser.update_forward_refs()
WebhookOrganizationRenamed.update_forward_refs()
WebhookOrganizationRenamedPropChanges.update_forward_refs()
WebhookOrganizationRenamedPropChangesPropLogin.update_forward_refs()
WebhookOrganizationRenamedPropMembership.update_forward_refs()
WebhookOrganizationRenamedPropMembershipPropUser.update_forward_refs()
WebhookPing.update_forward_refs()
WebhookPingPropHook.update_forward_refs()
WebhookPingPropHookPropConfig.update_forward_refs()
WebhookPingFormEncoded.update_forward_refs()
WebhookProjectCardConverted.update_forward_refs()
WebhookProjectCardConvertedPropChanges.update_forward_refs()
WebhookProjectCardConvertedPropChangesPropNote.update_forward_refs()
WebhookProjectCardConvertedPropProjectCard.update_forward_refs()
WebhookProjectCardConvertedPropProjectCardPropCreator.update_forward_refs()
WebhookProjectCardCreated.update_forward_refs()
WebhookProjectCardCreatedPropProjectCard.update_forward_refs()
WebhookProjectCardCreatedPropProjectCardPropCreator.update_forward_refs()
WebhookProjectCardDeleted.update_forward_refs()
WebhookProjectCardDeletedPropProjectCard.update_forward_refs()
WebhookProjectCardDeletedPropProjectCardPropCreator.update_forward_refs()
WebhookProjectCardEdited.update_forward_refs()
WebhookProjectCardEditedPropChanges.update_forward_refs()
WebhookProjectCardEditedPropChangesPropNote.update_forward_refs()
WebhookProjectCardEditedPropProjectCard.update_forward_refs()
WebhookProjectCardEditedPropProjectCardPropCreator.update_forward_refs()
WebhookProjectCardMoved.update_forward_refs()
WebhookProjectCardMovedPropChanges.update_forward_refs()
WebhookProjectCardMovedPropChangesPropColumnId.update_forward_refs()
WebhookProjectCardMovedPropProjectCard.update_forward_refs()
WebhookProjectCardMovedPropProjectCardAllof0.update_forward_refs()
WebhookProjectCardMovedPropProjectCardAllof0PropCreator.update_forward_refs()
WebhookProjectCardMovedPropProjectCardAllof1.update_forward_refs()
WebhookProjectCardMovedPropProjectCardAllof1PropCreator.update_forward_refs()
WebhookProjectCardMovedPropProjectCardMergedCreator.update_forward_refs()
WebhookProjectClosed.update_forward_refs()
WebhookProjectClosedPropProject.update_forward_refs()
WebhookProjectClosedPropProjectPropCreator.update_forward_refs()
WebhookProjectColumnCreated.update_forward_refs()
WebhookProjectColumnCreatedPropProjectColumn.update_forward_refs()
WebhookProjectColumnDeleted.update_forward_refs()
WebhookProjectColumnDeletedPropProjectColumn.update_forward_refs()
WebhookProjectColumnEdited.update_forward_refs()
WebhookProjectColumnEditedPropChanges.update_forward_refs()
WebhookProjectColumnEditedPropChangesPropName.update_forward_refs()
WebhookProjectColumnEditedPropProjectColumn.update_forward_refs()
WebhookProjectColumnMoved.update_forward_refs()
WebhookProjectColumnMovedPropProjectColumn.update_forward_refs()
WebhookProjectCreated.update_forward_refs()
WebhookProjectCreatedPropProject.update_forward_refs()
WebhookProjectCreatedPropProjectPropCreator.update_forward_refs()
WebhookProjectDeleted.update_forward_refs()
WebhookProjectDeletedPropProject.update_forward_refs()
WebhookProjectDeletedPropProjectPropCreator.update_forward_refs()
WebhookProjectEdited.update_forward_refs()
WebhookProjectEditedPropChanges.update_forward_refs()
WebhookProjectEditedPropChangesPropBody.update_forward_refs()
WebhookProjectEditedPropChangesPropName.update_forward_refs()
WebhookProjectEditedPropProject.update_forward_refs()
WebhookProjectEditedPropProjectPropCreator.update_forward_refs()
WebhookProjectReopened.update_forward_refs()
WebhookProjectReopenedPropProject.update_forward_refs()
WebhookProjectReopenedPropProjectPropCreator.update_forward_refs()
WebhookSecretScanningAlertCreated.update_forward_refs()
WebhookSecretScanningAlertLocationCreated.update_forward_refs()
WebhookSecretScanningAlertLocationCreatedFormEncoded.update_forward_refs()
WebhookSecretScanningAlertReopened.update_forward_refs()
WebhookSecretScanningAlertResolved.update_forward_refs()
WebhookSecretScanningAlertResolvedPropAlert.update_forward_refs()
WebhookSecretScanningAlertRevoked.update_forward_refs()
WebhookTeamAdd.update_forward_refs()
WebhookTeamAddPropTeam.update_forward_refs()
WebhookTeamAddPropTeamPropParent.update_forward_refs()
WebhookTeamAddedToRepository.update_forward_refs()
WebhookTeamAddedToRepositoryPropRepository.update_forward_refs()
WebhookTeamAddedToRepositoryPropRepositoryPropLicense.update_forward_refs()
WebhookTeamAddedToRepositoryPropRepositoryPropOwner.update_forward_refs()
WebhookTeamAddedToRepositoryPropRepositoryPropPermissions.update_forward_refs()
WebhookTeamAddedToRepositoryPropTeam.update_forward_refs()
WebhookTeamAddedToRepositoryPropTeamPropParent.update_forward_refs()
WebhookTeamCreated.update_forward_refs()
WebhookTeamCreatedPropRepository.update_forward_refs()
WebhookTeamCreatedPropRepositoryPropLicense.update_forward_refs()
WebhookTeamCreatedPropRepositoryPropOwner.update_forward_refs()
WebhookTeamCreatedPropRepositoryPropPermissions.update_forward_refs()
WebhookTeamCreatedPropTeam.update_forward_refs()
WebhookTeamCreatedPropTeamPropParent.update_forward_refs()
WebhookTeamDeleted.update_forward_refs()
WebhookTeamDeletedPropRepository.update_forward_refs()
WebhookTeamDeletedPropRepositoryPropLicense.update_forward_refs()
WebhookTeamDeletedPropRepositoryPropOwner.update_forward_refs()
WebhookTeamDeletedPropRepositoryPropPermissions.update_forward_refs()
WebhookTeamDeletedPropTeam.update_forward_refs()
WebhookTeamDeletedPropTeamPropParent.update_forward_refs()
WebhookTeamEdited.update_forward_refs()
WebhookTeamEditedPropChanges.update_forward_refs()
WebhookTeamEditedPropChangesPropDescription.update_forward_refs()
WebhookTeamEditedPropChangesPropName.update_forward_refs()
WebhookTeamEditedPropChangesPropPrivacy.update_forward_refs()
WebhookTeamEditedPropChangesPropRepository.update_forward_refs()
WebhookTeamEditedPropChangesPropRepositoryPropPermissions.update_forward_refs()
WebhookTeamEditedPropChangesPropRepositoryPropPermissionsPropFrom.update_forward_refs()
WebhookTeamEditedPropRepository.update_forward_refs()
WebhookTeamEditedPropRepositoryPropLicense.update_forward_refs()
WebhookTeamEditedPropRepositoryPropOwner.update_forward_refs()
WebhookTeamEditedPropRepositoryPropPermissions.update_forward_refs()
WebhookTeamEditedPropTeam.update_forward_refs()
WebhookTeamEditedPropTeamPropParent.update_forward_refs()
WebhookTeamRemovedFromRepository.update_forward_refs()
WebhookTeamRemovedFromRepositoryPropRepository.update_forward_refs()
WebhookTeamRemovedFromRepositoryPropRepositoryPropLicense.update_forward_refs()
WebhookTeamRemovedFromRepositoryPropRepositoryPropOwner.update_forward_refs()
WebhookTeamRemovedFromRepositoryPropRepositoryPropPermissions.update_forward_refs()
WebhookTeamRemovedFromRepositoryPropTeam.update_forward_refs()
WebhookTeamRemovedFromRepositoryPropTeamPropParent.update_forward_refs()
WebhookUserCreated.update_forward_refs()
WebhookUserCreatedPropUser.update_forward_refs()
AppManifestsCodeConversionsPostResponse201.update_forward_refs()
AppManifestsCodeConversionsPostResponse201Allof1.update_forward_refs()
AppHookConfigPatchBody.update_forward_refs()
AppHookDeliveriesDeliveryIdAttemptsPostResponse202.update_forward_refs()
AppInstallationsInstallationIdAccessTokensPostBody.update_forward_refs()
ApplicationsClientIdGrantDeleteBody.update_forward_refs()
ApplicationsClientIdTokenPostBody.update_forward_refs()
ApplicationsClientIdTokenDeleteBody.update_forward_refs()
ApplicationsClientIdTokenPatchBody.update_forward_refs()
ApplicationsClientIdTokenScopedPostBody.update_forward_refs()
EmojisGetResponse200.update_forward_refs()
EnterprisesEnterpriseActionsPermissionsPutBody.update_forward_refs()
EnterprisesEnterpriseActionsPermissionsOrganizationsGetResponse200.update_forward_refs()
EnterprisesEnterpriseActionsPermissionsOrganizationsPutBody.update_forward_refs()
EnterprisesEnterpriseActionsRunnerGroupsGetResponse200.update_forward_refs()
EnterprisesEnterpriseActionsRunnerGroupsPostBody.update_forward_refs()
EnterprisesEnterpriseActionsRunnerGroupsRunnerGroupIdPatchBody.update_forward_refs()
EnterprisesEnterpriseActionsRunnerGroupsRunnerGroupIdOrganizationsGetResponse200.update_forward_refs()
EnterprisesEnterpriseActionsRunnerGroupsRunnerGroupIdOrganizationsPutBody.update_forward_refs()
EnterprisesEnterpriseActionsRunnerGroupsRunnerGroupIdRunnersGetResponse200.update_forward_refs()
EnterprisesEnterpriseActionsRunnerGroupsRunnerGroupIdRunnersPutBody.update_forward_refs()
EnterprisesEnterpriseActionsRunnersGetResponse200.update_forward_refs()
EnterprisesEnterpriseActionsRunnersRunnerIdLabelsGetResponse200.update_forward_refs()
EnterprisesEnterpriseActionsRunnersRunnerIdLabelsPutBody.update_forward_refs()
EnterprisesEnterpriseActionsRunnersRunnerIdLabelsPostBody.update_forward_refs()
EnterprisesEnterpriseActionsRunnersRunnerIdLabelsDeleteResponse200.update_forward_refs()
EnterprisesEnterpriseCodeScanningAlertsGetResponse503.update_forward_refs()
GistsPostBody.update_forward_refs()
GistsPostBodyPropFiles.update_forward_refs()
GistsGistIdGetResponse403.update_forward_refs()
GistsGistIdGetResponse403PropBlock.update_forward_refs()
GistsGistIdPatchBodyPropFiles.update_forward_refs()
GistsGistIdPatchBodyAnyof0.update_forward_refs()
GistsGistIdPatchBodyAnyof1.update_forward_refs()
GistsGistIdCommentsPostBody.update_forward_refs()
GistsGistIdCommentsCommentIdPatchBody.update_forward_refs()
GistsGistIdStarGetResponse404.update_forward_refs()
InstallationRepositoriesGetResponse200.update_forward_refs()
MarkdownPostBody.update_forward_refs()
NotificationsPutBody.update_forward_refs()
NotificationsPutResponse202.update_forward_refs()
NotificationsThreadsThreadIdSubscriptionPutBody.update_forward_refs()
OrganizationsOrganizationIdCustomRolesGetResponse200.update_forward_refs()
OrgsOrgPatchBody.update_forward_refs()
OrgsOrgActionsCacheUsageByRepositoryGetResponse200.update_forward_refs()
OrgsOrgActionsPermissionsPutBody.update_forward_refs()
OrgsOrgActionsPermissionsRepositoriesGetResponse200.update_forward_refs()
OrgsOrgActionsPermissionsRepositoriesPutBody.update_forward_refs()
OrgsOrgActionsRunnerGroupsGetResponse200.update_forward_refs()
OrgsOrgActionsRunnerGroupsPostBody.update_forward_refs()
OrgsOrgActionsRunnerGroupsRunnerGroupIdPatchBody.update_forward_refs()
OrgsOrgActionsRunnerGroupsRunnerGroupIdRepositoriesGetResponse200.update_forward_refs()
OrgsOrgActionsRunnerGroupsRunnerGroupIdRepositoriesPutBody.update_forward_refs()
OrgsOrgActionsRunnerGroupsRunnerGroupIdRunnersGetResponse200.update_forward_refs()
OrgsOrgActionsRunnerGroupsRunnerGroupIdRunnersPutBody.update_forward_refs()
OrgsOrgActionsRunnersGetResponse200.update_forward_refs()
OrgsOrgActionsRunnersRunnerIdLabelsPutBody.update_forward_refs()
OrgsOrgActionsRunnersRunnerIdLabelsPostBody.update_forward_refs()
OrgsOrgActionsSecretsGetResponse200.update_forward_refs()
OrgsOrgActionsSecretsSecretNamePutBody.update_forward_refs()
OrgsOrgActionsSecretsSecretNameRepositoriesGetResponse200.update_forward_refs()
OrgsOrgActionsSecretsSecretNameRepositoriesPutBody.update_forward_refs()
OrgsOrgCodespacesGetResponse200.update_forward_refs()
OrgsOrgCodespacesBillingPutBody.update_forward_refs()
OrgsOrgCodespacesSecretsGetResponse200.update_forward_refs()
OrgsOrgCodespacesSecretsSecretNamePutBody.update_forward_refs()
OrgsOrgCodespacesSecretsSecretNameRepositoriesGetResponse200.update_forward_refs()
OrgsOrgCodespacesSecretsSecretNameRepositoriesPutBody.update_forward_refs()
OrgsOrgCustomRolesPostBody.update_forward_refs()
OrgsOrgCustomRolesRoleIdPatchBody.update_forward_refs()
OrgsOrgDependabotSecretsGetResponse200.update_forward_refs()
OrgsOrgDependabotSecretsSecretNamePutBody.update_forward_refs()
OrgsOrgDependabotSecretsSecretNameRepositoriesGetResponse200.update_forward_refs()
OrgsOrgDependabotSecretsSecretNameRepositoriesPutBody.update_forward_refs()
OrgsOrgHooksPostBody.update_forward_refs()
OrgsOrgHooksPostBodyPropConfig.update_forward_refs()
OrgsOrgHooksHookIdPatchBody.update_forward_refs()
OrgsOrgHooksHookIdPatchBodyPropConfig.update_forward_refs()
OrgsOrgHooksHookIdConfigPatchBody.update_forward_refs()
OrgsOrgInstallationsGetResponse200.update_forward_refs()
OrgsOrgInteractionLimitsGetResponse200Anyof1.update_forward_refs()
OrgsOrgInvitationsPostBody.update_forward_refs()
OrgsOrgMembersUsernameCodespacesGetResponse200.update_forward_refs()
OrgsOrgMembershipsUsernamePutBody.update_forward_refs()
OrgsOrgMigrationsPostBody.update_forward_refs()
OrgsOrgOutsideCollaboratorsUsernamePutBody.update_forward_refs()
OrgsOrgOutsideCollaboratorsUsernamePutResponse202.update_forward_refs()
OrgsOrgOutsideCollaboratorsUsernameDeleteResponse422.update_forward_refs()
OrgsOrgProjectsPostBody.update_forward_refs()
OrgsOrgReposPostBody.update_forward_refs()
OrgsOrgTeamsPostBody.update_forward_refs()
OrgsOrgTeamsTeamSlugPatchBody.update_forward_refs()
OrgsOrgTeamsTeamSlugDiscussionsPostBody.update_forward_refs()
OrgsOrgTeamsTeamSlugDiscussionsDiscussionNumberPatchBody.update_forward_refs()
OrgsOrgTeamsTeamSlugDiscussionsDiscussionNumberCommentsPostBody.update_forward_refs()
OrgsOrgTeamsTeamSlugDiscussionsDiscussionNumberCommentsCommentNumberPatchBody.update_forward_refs()
OrgsOrgTeamsTeamSlugDiscussionsDiscussionNumberCommentsCommentNumberReactionsPostBody.update_forward_refs()
OrgsOrgTeamsTeamSlugDiscussionsDiscussionNumberReactionsPostBody.update_forward_refs()
OrgsOrgTeamsTeamSlugMembershipsUsernamePutBody.update_forward_refs()
OrgsOrgTeamsTeamSlugProjectsProjectIdPutBody.update_forward_refs()
OrgsOrgTeamsTeamSlugProjectsProjectIdPutResponse403.update_forward_refs()
OrgsOrgTeamsTeamSlugReposOwnerRepoPutBody.update_forward_refs()
ProjectsColumnsCardsCardIdDeleteResponse403.update_forward_refs()
ProjectsColumnsCardsCardIdPatchBody.update_forward_refs()
ProjectsColumnsCardsCardIdMovesPostBody.update_forward_refs()
ProjectsColumnsCardsCardIdMovesPostResponse201.update_forward_refs()
ProjectsColumnsCardsCardIdMovesPostResponse403.update_forward_refs()
ProjectsColumnsCardsCardIdMovesPostResponse403PropErrorsItems.update_forward_refs()
ProjectsColumnsCardsCardIdMovesPostResponse503.update_forward_refs()
ProjectsColumnsCardsCardIdMovesPostResponse503PropErrorsItems.update_forward_refs()
ProjectsColumnsColumnIdPatchBody.update_forward_refs()
ProjectsColumnsColumnIdCardsPostBodyOneof0.update_forward_refs()
ProjectsColumnsColumnIdCardsPostBodyOneof1.update_forward_refs()
ProjectsColumnsColumnIdCardsPostResponse503.update_forward_refs()
ProjectsColumnsColumnIdCardsPostResponse503PropErrorsItems.update_forward_refs()
ProjectsColumnsColumnIdMovesPostBody.update_forward_refs()
ProjectsColumnsColumnIdMovesPostResponse201.update_forward_refs()
ProjectsProjectIdDeleteResponse403.update_forward_refs()
ProjectsProjectIdPatchBody.update_forward_refs()
ProjectsProjectIdPatchResponse403.update_forward_refs()
ProjectsProjectIdCollaboratorsUsernamePutBody.update_forward_refs()
ProjectsProjectIdColumnsPostBody.update_forward_refs()
ReposOwnerRepoDeleteResponse403.update_forward_refs()
ReposOwnerRepoPatchBody.update_forward_refs()
ReposOwnerRepoPatchBodyPropSecurityAndAnalysisPropAdvancedSecurity.update_forward_refs()
ReposOwnerRepoPatchBodyPropSecurityAndAnalysisPropSecretScanning.update_forward_refs()
ReposOwnerRepoPatchBodyPropSecurityAndAnalysisPropSecretScanningPushProtection.update_forward_refs()
ReposOwnerRepoPatchBodyPropSecurityAndAnalysis.update_forward_refs()
ReposOwnerRepoActionsArtifactsGetResponse200.update_forward_refs()
ReposOwnerRepoActionsJobsJobIdRerunPostBody.update_forward_refs()
ReposOwnerRepoActionsPermissionsPutBody.update_forward_refs()
ReposOwnerRepoActionsRunnersGetResponse200.update_forward_refs()
ReposOwnerRepoActionsRunnersRunnerIdLabelsPutBody.update_forward_refs()
ReposOwnerRepoActionsRunnersRunnerIdLabelsPostBody.update_forward_refs()
ReposOwnerRepoActionsRunsGetResponse200.update_forward_refs()
ReposOwnerRepoActionsRunsRunIdArtifactsGetResponse200.update_forward_refs()
ReposOwnerRepoActionsRunsRunIdAttemptsAttemptNumberJobsGetResponse200.update_forward_refs()
ReposOwnerRepoActionsRunsRunIdJobsGetResponse200.update_forward_refs()
ReposOwnerRepoActionsRunsRunIdPendingDeploymentsPostBody.update_forward_refs()
ReposOwnerRepoActionsRunsRunIdRerunPostBody.update_forward_refs()
ReposOwnerRepoActionsRunsRunIdRerunFailedJobsPostBody.update_forward_refs()
ReposOwnerRepoActionsSecretsGetResponse200.update_forward_refs()
ReposOwnerRepoActionsSecretsSecretNamePutBody.update_forward_refs()
ReposOwnerRepoActionsWorkflowsGetResponse200.update_forward_refs()
ReposOwnerRepoActionsWorkflowsWorkflowIdDispatchesPostBody.update_forward_refs()
ReposOwnerRepoActionsWorkflowsWorkflowIdDispatchesPostBodyPropInputs.update_forward_refs()
ReposOwnerRepoActionsWorkflowsWorkflowIdRunsGetResponse200.update_forward_refs()
ReposOwnerRepoAutolinksPostBody.update_forward_refs()
ReposOwnerRepoBranchesBranchProtectionPutBody.update_forward_refs()
ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredStatusChecksPropChecksItems.update_forward_refs()
ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredStatusChecks.update_forward_refs()
ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredPullRequestReviewsPropDismissalRestrictions.update_forward_refs()
ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredPullRequestReviewsPropBypassPullRequestAllowances.update_forward_refs()
ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredPullRequestReviews.update_forward_refs()
ReposOwnerRepoBranchesBranchProtectionPutBodyPropRestrictions.update_forward_refs()
ReposOwnerRepoBranchesBranchProtectionRequiredPullRequestReviewsPatchBody.update_forward_refs()
ReposOwnerRepoBranchesBranchProtectionRequiredPullRequestReviewsPatchBodyPropDismissalRestrictions.update_forward_refs()
ReposOwnerRepoBranchesBranchProtectionRequiredPullRequestReviewsPatchBodyPropBypassPullRequestAllowances.update_forward_refs()
ReposOwnerRepoBranchesBranchProtectionRequiredStatusChecksPatchBody.update_forward_refs()
ReposOwnerRepoBranchesBranchProtectionRequiredStatusChecksPatchBodyPropChecksItems.update_forward_refs()
ReposOwnerRepoBranchesBranchProtectionRequiredStatusChecksContextsPutBodyOneof0.update_forward_refs()
ReposOwnerRepoBranchesBranchProtectionRequiredStatusChecksContextsPostBodyOneof0.update_forward_refs()
ReposOwnerRepoBranchesBranchProtectionRequiredStatusChecksContextsDeleteBodyOneof0.update_forward_refs()
ReposOwnerRepoBranchesBranchProtectionRestrictionsAppsPutBodyOneof0.update_forward_refs()
ReposOwnerRepoBranchesBranchProtectionRestrictionsAppsPostBodyOneof0.update_forward_refs()
ReposOwnerRepoBranchesBranchProtectionRestrictionsAppsDeleteBodyOneof0.update_forward_refs()
ReposOwnerRepoBranchesBranchProtectionRestrictionsTeamsPutBodyOneof0.update_forward_refs()
ReposOwnerRepoBranchesBranchProtectionRestrictionsTeamsPostBodyOneof0.update_forward_refs()
ReposOwnerRepoBranchesBranchProtectionRestrictionsTeamsDeleteBodyOneof0.update_forward_refs()
ReposOwnerRepoBranchesBranchProtectionRestrictionsUsersPutBodyOneof0.update_forward_refs()
ReposOwnerRepoBranchesBranchProtectionRestrictionsUsersPostBodyOneof0.update_forward_refs()
ReposOwnerRepoBranchesBranchProtectionRestrictionsUsersDeleteBodyOneof0.update_forward_refs()
ReposOwnerRepoBranchesBranchRenamePostBody.update_forward_refs()
ReposOwnerRepoCheckRunsPostBodyPropOutput.update_forward_refs()
ReposOwnerRepoCheckRunsPostBodyPropOutputPropAnnotationsItems.update_forward_refs()
ReposOwnerRepoCheckRunsPostBodyPropOutputPropImagesItems.update_forward_refs()
ReposOwnerRepoCheckRunsPostBodyPropActionsItems.update_forward_refs()
ReposOwnerRepoCheckRunsPostBodyOneof0.update_forward_refs()
ReposOwnerRepoCheckRunsPostBodyOneof1.update_forward_refs()
ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropOutput.update_forward_refs()
ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropOutputPropAnnotationsItems.update_forward_refs()
ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropOutputPropImagesItems.update_forward_refs()
ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropActionsItems.update_forward_refs()
ReposOwnerRepoCheckRunsCheckRunIdPatchBodyAnyof0.update_forward_refs()
ReposOwnerRepoCheckRunsCheckRunIdPatchBodyAnyof1.update_forward_refs()
ReposOwnerRepoCheckSuitesPostBody.update_forward_refs()
ReposOwnerRepoCheckSuitesPreferencesPatchBody.update_forward_refs()
ReposOwnerRepoCheckSuitesPreferencesPatchBodyPropAutoTriggerChecksItems.update_forward_refs()
ReposOwnerRepoCheckSuitesCheckSuiteIdCheckRunsGetResponse200.update_forward_refs()
ReposOwnerRepoCodeScanningAlertsAlertNumberPatchBody.update_forward_refs()
ReposOwnerRepoCodeScanningSarifsPostBody.update_forward_refs()
ReposOwnerRepoCodespacesGetResponse200.update_forward_refs()
ReposOwnerRepoCodespacesPostBody.update_forward_refs()
ReposOwnerRepoCodespacesDevcontainersGetResponse200.update_forward_refs()
ReposOwnerRepoCodespacesDevcontainersGetResponse200PropDevcontainersItems.update_forward_refs()
ReposOwnerRepoCodespacesMachinesGetResponse200.update_forward_refs()
ReposOwnerRepoCodespacesNewGetResponse200.update_forward_refs()
ReposOwnerRepoCodespacesNewGetResponse200PropDefaults.update_forward_refs()
ReposOwnerRepoCodespacesSecretsGetResponse200.update_forward_refs()
ReposOwnerRepoCodespacesSecretsSecretNamePutBody.update_forward_refs()
ReposOwnerRepoCollaboratorsUsernamePutBody.update_forward_refs()
ReposOwnerRepoCommentsCommentIdPatchBody.update_forward_refs()
ReposOwnerRepoCommentsCommentIdReactionsPostBody.update_forward_refs()
ReposOwnerRepoCommitsCommitShaCommentsPostBody.update_forward_refs()
ReposOwnerRepoCommitsRefCheckRunsGetResponse200.update_forward_refs()
ReposOwnerRepoCommitsRefCheckSuitesGetResponse200.update_forward_refs()
ReposOwnerRepoContentsPathPutBody.update_forward_refs()
ReposOwnerRepoContentsPathPutBodyPropCommitter.update_forward_refs()
ReposOwnerRepoContentsPathPutBodyPropAuthor.update_forward_refs()
ReposOwnerRepoContentsPathDeleteBody.update_forward_refs()
ReposOwnerRepoContentsPathDeleteBodyPropCommitter.update_forward_refs()
ReposOwnerRepoContentsPathDeleteBodyPropAuthor.update_forward_refs()
ReposOwnerRepoDependabotAlertsAlertNumberPatchBody.update_forward_refs()
ReposOwnerRepoDependabotSecretsGetResponse200.update_forward_refs()
ReposOwnerRepoDependabotSecretsSecretNamePutBody.update_forward_refs()
ReposOwnerRepoDependencyGraphSnapshotsPostResponse201.update_forward_refs()
ReposOwnerRepoDeploymentsPostBody.update_forward_refs()
ReposOwnerRepoDeploymentsPostBodyPropPayloadOneof0.update_forward_refs()
ReposOwnerRepoDeploymentsPostResponse202.update_forward_refs()
ReposOwnerRepoDeploymentsDeploymentIdStatusesPostBody.update_forward_refs()
ReposOwnerRepoDispatchesPostBody.update_forward_refs()
ReposOwnerRepoDispatchesPostBodyPropClientPayload.update_forward_refs()
ReposOwnerRepoEnvironmentsGetResponse200.update_forward_refs()
ReposOwnerRepoEnvironmentsEnvironmentNamePutBodyPropReviewersItems.update_forward_refs()
ReposOwnerRepoEnvironmentsEnvironmentNamePutBody.update_forward_refs()
ReposOwnerRepoEnvironmentsEnvironmentNameDeploymentBranchPoliciesGetResponse200.update_forward_refs()
ReposOwnerRepoForksPostBody.update_forward_refs()
ReposOwnerRepoGitBlobsPostBody.update_forward_refs()
ReposOwnerRepoGitCommitsPostBody.update_forward_refs()
ReposOwnerRepoGitCommitsPostBodyPropAuthor.update_forward_refs()
ReposOwnerRepoGitCommitsPostBodyPropCommitter.update_forward_refs()
ReposOwnerRepoGitRefsPostBody.update_forward_refs()
ReposOwnerRepoGitRefsRefPatchBody.update_forward_refs()
ReposOwnerRepoGitTagsPostBody.update_forward_refs()
ReposOwnerRepoGitTagsPostBodyPropTagger.update_forward_refs()
ReposOwnerRepoGitTreesPostBody.update_forward_refs()
ReposOwnerRepoGitTreesPostBodyPropTreeItems.update_forward_refs()
ReposOwnerRepoHooksPostBodyPropConfig.update_forward_refs()
ReposOwnerRepoHooksPostBody.update_forward_refs()
ReposOwnerRepoHooksHookIdPatchBody.update_forward_refs()
ReposOwnerRepoHooksHookIdPatchBodyPropConfig.update_forward_refs()
ReposOwnerRepoHooksHookIdConfigPatchBody.update_forward_refs()
ReposOwnerRepoImportPutBody.update_forward_refs()
ReposOwnerRepoImportPatchBody.update_forward_refs()
ReposOwnerRepoImportAuthorsAuthorIdPatchBody.update_forward_refs()
ReposOwnerRepoImportLfsPatchBody.update_forward_refs()
ReposOwnerRepoInteractionLimitsGetResponse200Anyof1.update_forward_refs()
ReposOwnerRepoInvitationsInvitationIdPatchBody.update_forward_refs()
ReposOwnerRepoIssuesPostBody.update_forward_refs()
ReposOwnerRepoIssuesPostBodyPropLabelsItemsOneof1.update_forward_refs()
ReposOwnerRepoIssuesCommentsCommentIdPatchBody.update_forward_refs()
ReposOwnerRepoIssuesCommentsCommentIdReactionsPostBody.update_forward_refs()
ReposOwnerRepoIssuesIssueNumberPatchBody.update_forward_refs()
ReposOwnerRepoIssuesIssueNumberPatchBodyPropLabelsItemsOneof1.update_forward_refs()
ReposOwnerRepoIssuesIssueNumberAssigneesPostBody.update_forward_refs()
ReposOwnerRepoIssuesIssueNumberAssigneesDeleteBody.update_forward_refs()
ReposOwnerRepoIssuesIssueNumberCommentsPostBody.update_forward_refs()
ReposOwnerRepoIssuesIssueNumberLabelsPutBodyOneof0.update_forward_refs()
ReposOwnerRepoIssuesIssueNumberLabelsPutBodyOneof2.update_forward_refs()
ReposOwnerRepoIssuesIssueNumberLabelsPutBodyOneof2PropLabelsItems.update_forward_refs()
ReposOwnerRepoIssuesIssueNumberLabelsPutBodyOneof3Items.update_forward_refs()
ReposOwnerRepoIssuesIssueNumberLabelsPostBodyOneof0.update_forward_refs()
ReposOwnerRepoIssuesIssueNumberLabelsPostBodyOneof2.update_forward_refs()
ReposOwnerRepoIssuesIssueNumberLabelsPostBodyOneof2PropLabelsItems.update_forward_refs()
ReposOwnerRepoIssuesIssueNumberLabelsPostBodyOneof3Items.update_forward_refs()
ReposOwnerRepoIssuesIssueNumberLockPutBody.update_forward_refs()
ReposOwnerRepoIssuesIssueNumberReactionsPostBody.update_forward_refs()
ReposOwnerRepoKeysPostBody.update_forward_refs()
ReposOwnerRepoLabelsPostBody.update_forward_refs()
ReposOwnerRepoLabelsNamePatchBody.update_forward_refs()
ReposOwnerRepoMergeUpstreamPostBody.update_forward_refs()
ReposOwnerRepoMergesPostBody.update_forward_refs()
ReposOwnerRepoMilestonesPostBody.update_forward_refs()
ReposOwnerRepoMilestonesMilestoneNumberPatchBody.update_forward_refs()
ReposOwnerRepoNotificationsPutBody.update_forward_refs()
ReposOwnerRepoNotificationsPutResponse202.update_forward_refs()
ReposOwnerRepoPagesPutBodyPropSourceAnyof1.update_forward_refs()
ReposOwnerRepoPagesPutBodyAnyof0.update_forward_refs()
ReposOwnerRepoPagesPutBodyAnyof1.update_forward_refs()
ReposOwnerRepoPagesPutBodyAnyof2.update_forward_refs()
ReposOwnerRepoPagesPutBodyAnyof3.update_forward_refs()
ReposOwnerRepoPagesPutBodyAnyof4.update_forward_refs()
ReposOwnerRepoPagesPostBodyPropSource.update_forward_refs()
ReposOwnerRepoPagesPostBodyAnyof0.update_forward_refs()
ReposOwnerRepoPagesPostBodyAnyof1.update_forward_refs()
ReposOwnerRepoPagesDeploymentPostBody.update_forward_refs()
ReposOwnerRepoProjectsPostBody.update_forward_refs()
ReposOwnerRepoPullsPostBody.update_forward_refs()
ReposOwnerRepoPullsCommentsCommentIdPatchBody.update_forward_refs()
ReposOwnerRepoPullsCommentsCommentIdReactionsPostBody.update_forward_refs()
ReposOwnerRepoPullsPullNumberPatchBody.update_forward_refs()
ReposOwnerRepoPullsPullNumberCodespacesPostBody.update_forward_refs()
ReposOwnerRepoPullsPullNumberCommentsPostBody.update_forward_refs()
ReposOwnerRepoPullsPullNumberCommentsCommentIdRepliesPostBody.update_forward_refs()
ReposOwnerRepoPullsPullNumberMergePutBody.update_forward_refs()
ReposOwnerRepoPullsPullNumberMergePutResponse405.update_forward_refs()
ReposOwnerRepoPullsPullNumberMergePutResponse409.update_forward_refs()
ReposOwnerRepoPullsPullNumberRequestedReviewersPostBodyAnyof0.update_forward_refs()
ReposOwnerRepoPullsPullNumberRequestedReviewersPostBodyAnyof1.update_forward_refs()
ReposOwnerRepoPullsPullNumberRequestedReviewersDeleteBody.update_forward_refs()
ReposOwnerRepoPullsPullNumberReviewsPostBody.update_forward_refs()
ReposOwnerRepoPullsPullNumberReviewsPostBodyPropCommentsItems.update_forward_refs()
ReposOwnerRepoPullsPullNumberReviewsReviewIdPutBody.update_forward_refs()
ReposOwnerRepoPullsPullNumberReviewsReviewIdDismissalsPutBody.update_forward_refs()
ReposOwnerRepoPullsPullNumberReviewsReviewIdEventsPostBody.update_forward_refs()
ReposOwnerRepoPullsPullNumberUpdateBranchPutBody.update_forward_refs()
ReposOwnerRepoPullsPullNumberUpdateBranchPutResponse202.update_forward_refs()
ReposOwnerRepoReleasesPostBody.update_forward_refs()
ReposOwnerRepoReleasesAssetsAssetIdPatchBody.update_forward_refs()
ReposOwnerRepoReleasesGenerateNotesPostBody.update_forward_refs()
ReposOwnerRepoReleasesReleaseIdPatchBody.update_forward_refs()
ReposOwnerRepoReleasesReleaseIdReactionsPostBody.update_forward_refs()
ReposOwnerRepoSecretScanningAlertsAlertNumberPatchBody.update_forward_refs()
ReposOwnerRepoStatusesShaPostBody.update_forward_refs()
ReposOwnerRepoSubscriptionPutBody.update_forward_refs()
ReposOwnerRepoTagsProtectionPostBody.update_forward_refs()
ReposOwnerRepoTopicsPutBody.update_forward_refs()
ReposOwnerRepoTransferPostBody.update_forward_refs()
ReposTemplateOwnerTemplateRepoGeneratePostBody.update_forward_refs()
RepositoriesRepositoryIdEnvironmentsEnvironmentNameSecretsGetResponse200.update_forward_refs()
RepositoriesRepositoryIdEnvironmentsEnvironmentNameSecretsSecretNamePutBody.update_forward_refs()
SearchCodeGetResponse200.update_forward_refs()
SearchCommitsGetResponse200.update_forward_refs()
SearchIssuesGetResponse200.update_forward_refs()
SearchLabelsGetResponse200.update_forward_refs()
SearchRepositoriesGetResponse200.update_forward_refs()
SearchTopicsGetResponse200.update_forward_refs()
SearchUsersGetResponse200.update_forward_refs()
TeamsTeamIdPatchBody.update_forward_refs()
TeamsTeamIdDiscussionsPostBody.update_forward_refs()
TeamsTeamIdDiscussionsDiscussionNumberPatchBody.update_forward_refs()
TeamsTeamIdDiscussionsDiscussionNumberCommentsPostBody.update_forward_refs()
TeamsTeamIdDiscussionsDiscussionNumberCommentsCommentNumberPatchBody.update_forward_refs()
TeamsTeamIdDiscussionsDiscussionNumberCommentsCommentNumberReactionsPostBody.update_forward_refs()
TeamsTeamIdDiscussionsDiscussionNumberReactionsPostBody.update_forward_refs()
TeamsTeamIdMembershipsUsernamePutBody.update_forward_refs()
TeamsTeamIdProjectsProjectIdPutBody.update_forward_refs()
TeamsTeamIdProjectsProjectIdPutResponse403.update_forward_refs()
TeamsTeamIdReposOwnerRepoPutBody.update_forward_refs()
UserPatchBody.update_forward_refs()
UserCodespacesGetResponse200.update_forward_refs()
UserCodespacesPostBodyOneof0.update_forward_refs()
UserCodespacesPostBodyOneof1.update_forward_refs()
UserCodespacesPostBodyOneof1PropPullRequest.update_forward_refs()
UserCodespacesSecretsGetResponse200.update_forward_refs()
UserCodespacesSecretsSecretNamePutBody.update_forward_refs()
UserCodespacesSecretsSecretNameRepositoriesGetResponse200.update_forward_refs()
UserCodespacesSecretsSecretNameRepositoriesPutBody.update_forward_refs()
UserCodespacesCodespaceNamePatchBody.update_forward_refs()
UserCodespacesCodespaceNameMachinesGetResponse200.update_forward_refs()
UserEmailVisibilityPatchBody.update_forward_refs()
UserEmailsPostBodyOneof0.update_forward_refs()
UserEmailsDeleteBodyOneof0.update_forward_refs()
UserGpgKeysPostBody.update_forward_refs()
UserInstallationsGetResponse200.update_forward_refs()
UserInstallationsInstallationIdRepositoriesGetResponse200.update_forward_refs()
UserInteractionLimitsGetResponse200Anyof1.update_forward_refs()
UserKeysPostBody.update_forward_refs()
UserMembershipsOrgsOrgPatchBody.update_forward_refs()
UserMigrationsPostBody.update_forward_refs()
UserProjectsPostBody.update_forward_refs()
UserReposPostBody.update_forward_refs()
UserSshSigningKeysPostBody.update_forward_refs()

__all__ = [
    "GitHubRestModel",
    "Root",
    "SimpleUser",
    "Integration",
    "IntegrationPropPermissions",
    "BasicError",
    "ValidationErrorSimple",
    "WebhookConfig",
    "HookDeliveryItem",
    "ScimError",
    "ValidationError",
    "ValidationErrorPropErrorsItems",
    "HookDelivery",
    "HookDeliveryPropRequest",
    "HookDeliveryPropRequestPropHeaders",
    "HookDeliveryPropRequestPropPayload",
    "HookDeliveryPropResponse",
    "HookDeliveryPropResponsePropHeaders",
    "Enterprise",
    "AppPermissions",
    "Installation",
    "LicenseSimple",
    "Repository",
    "RepositoryPropPermissions",
    "RepositoryPropTemplateRepositoryPropOwner",
    "RepositoryPropTemplateRepositoryPropPermissions",
    "RepositoryPropTemplateRepository",
    "InstallationToken",
    "ScopedInstallation",
    "Authorization",
    "AuthorizationPropApp",
    "CodeOfConduct",
    "ServerStatisticsItems",
    "ServerStatisticsItemsPropGithubConnect",
    "ServerStatisticsItemsPropGheStats",
    "ServerStatisticsItemsPropGheStatsPropComments",
    "ServerStatisticsItemsPropGheStatsPropGists",
    "ServerStatisticsItemsPropGheStatsPropHooks",
    "ServerStatisticsItemsPropGheStatsPropIssues",
    "ServerStatisticsItemsPropGheStatsPropMilestones",
    "ServerStatisticsItemsPropGheStatsPropOrgs",
    "ServerStatisticsItemsPropGheStatsPropPages",
    "ServerStatisticsItemsPropGheStatsPropPulls",
    "ServerStatisticsItemsPropGheStatsPropRepos",
    "ServerStatisticsItemsPropGheStatsPropUsers",
    "ServerStatisticsItemsPropDormantUsers",
    "ActionsCacheUsageOrgEnterprise",
    "ActionsEnterprisePermissions",
    "OrganizationSimple",
    "SelectedActions",
    "ActionsGetDefaultWorkflowPermissions",
    "ActionsSetDefaultWorkflowPermissions",
    "RunnerGroupsEnterprise",
    "RunnerLabel",
    "Runner",
    "RunnerApplication",
    "AuthenticationToken",
    "AuthenticationTokenPropPermissions",
    "CodeScanningAlertRule",
    "CodeScanningAnalysisTool",
    "CodeScanningAlertLocation",
    "CodeScanningAlertInstance",
    "CodeScanningAlertInstancePropMessage",
    "SimpleRepository",
    "CodeScanningOrganizationAlertItems",
    "OrganizationSecretScanningAlert",
    "AdvancedSecurityActiveCommittersUser",
    "AdvancedSecurityActiveCommittersRepository",
    "AdvancedSecurityActiveCommitters",
    "Actor",
    "Milestone",
    "ReactionRollup",
    "Issue",
    "IssuePropLabelsItemsOneof1",
    "IssuePropPullRequest",
    "IssueComment",
    "Event",
    "EventPropRepo",
    "EventPropPayload",
    "EventPropPayloadPropPagesItems",
    "LinkWithType",
    "Feed",
    "FeedPropLinks",
    "BaseGist",
    "BaseGistPropFiles",
    "PublicUser",
    "PublicUserPropPlan",
    "GistHistory",
    "GistHistoryPropChangeStatus",
    "GistSimple",
    "GistSimplePropForksItems",
    "GistSimplePropForkOfPropFiles",
    "GistSimplePropForkOf",
    "GistSimplePropFiles",
    "GistComment",
    "GistCommit",
    "GistCommitPropChangeStatus",
    "GitignoreTemplate",
    "License",
    "MarketplaceListingPlan",
    "MarketplacePurchase",
    "MarketplacePurchasePropMarketplacePendingChange",
    "MarketplacePurchasePropMarketplacePurchase",
    "ApiOverview",
    "ApiOverviewPropSshKeyFingerprints",
    "MinimalRepository",
    "MinimalRepositoryPropPermissions",
    "MinimalRepositoryPropLicense",
    "Thread",
    "ThreadPropSubject",
    "ThreadSubscription",
    "OrganizationCustomRepositoryRole",
    "OrganizationFull",
    "OrganizationFullPropPlan",
    "ActionsCacheUsageByRepository",
    "ActionsOrganizationPermissions",
    "RunnerGroupsOrg",
    "OrganizationActionsSecret",
    "ActionsPublicKey",
    "EmptyObject",
    "CodespaceMachine",
    "Codespace",
    "CodespacePropGitStatus",
    "CodespacePropRuntimeConstraints",
    "CodespacesOrgSecret",
    "CodespacesPublicKey",
    "DependabotAlertPackage",
    "DependabotAlertSecurityVulnerability",
    "DependabotAlertSecurityVulnerabilityPropFirstPatchedVersion",
    "DependabotAlertSecurityAdvisory",
    "DependabotAlertSecurityAdvisoryPropCvss",
    "DependabotAlertSecurityAdvisoryPropCwesItems",
    "DependabotAlertSecurityAdvisoryPropIdentifiersItems",
    "DependabotAlertSecurityAdvisoryPropReferencesItems",
    "DependabotAlertWithRepository",
    "DependabotAlertWithRepositoryPropDependency",
    "OrganizationDependabotSecret",
    "DependabotPublicKey",
    "OrganizationInvitation",
    "OrganizationFineGrainedPermission",
    "OrgHook",
    "OrgHookPropConfig",
    "InteractionLimitResponse",
    "InteractionLimit",
    "TeamSimple",
    "Team",
    "TeamPropPermissions",
    "OrgMembership",
    "OrgMembershipPropPermissions",
    "Migration",
    "Package",
    "PackageVersion",
    "PackageVersionPropMetadata",
    "PackageVersionPropMetadataPropContainer",
    "PackageVersionPropMetadataPropDocker",
    "Project",
    "ActionsBillingUsage",
    "ActionsBillingUsagePropMinutesUsedBreakdown",
    "PackagesBillingUsage",
    "CombinedBillingUsage",
    "TeamOrganization",
    "TeamOrganizationPropPlan",
    "TeamFull",
    "TeamDiscussion",
    "TeamDiscussionComment",
    "Reaction",
    "TeamMembership",
    "TeamProject",
    "TeamProjectPropPermissions",
    "TeamRepository",
    "TeamRepositoryPropPermissions",
    "ProjectCard",
    "ProjectColumn",
    "ProjectCollaboratorPermission",
    "RateLimit",
    "RateLimitOverview",
    "RateLimitOverviewPropResources",
    "CodeOfConductSimple",
    "SecurityAndAnalysisPropAdvancedSecurity",
    "SecurityAndAnalysisPropSecretScanning",
    "SecurityAndAnalysisPropSecretScanningPushProtection",
    "SecurityAndAnalysis",
    "FullRepository",
    "FullRepositoryPropPermissions",
    "Artifact",
    "ArtifactPropWorkflowRun",
    "ActionsCacheList",
    "ActionsCacheListPropActionsCachesItems",
    "Job",
    "JobPropStepsItems",
    "ActionsRepositoryPermissions",
    "ActionsWorkflowAccessToRepository",
    "ReferencedWorkflow",
    "PullRequestMinimal",
    "PullRequestMinimalPropHead",
    "PullRequestMinimalPropHeadPropRepo",
    "PullRequestMinimalPropBase",
    "PullRequestMinimalPropBasePropRepo",
    "SimpleCommit",
    "SimpleCommitPropAuthor",
    "SimpleCommitPropCommitter",
    "WorkflowRun",
    "EnvironmentApprovals",
    "EnvironmentApprovalsPropEnvironmentsItems",
    "PendingDeployment",
    "PendingDeploymentPropEnvironment",
    "PendingDeploymentPropReviewersItems",
    "Deployment",
    "DeploymentPropPayloadOneof0",
    "WorkflowRunUsage",
    "WorkflowRunUsagePropBillable",
    "WorkflowRunUsagePropBillablePropUbuntu",
    "WorkflowRunUsagePropBillablePropUbuntuPropJobRunsItems",
    "WorkflowRunUsagePropBillablePropMacos",
    "WorkflowRunUsagePropBillablePropMacosPropJobRunsItems",
    "WorkflowRunUsagePropBillablePropWindows",
    "WorkflowRunUsagePropBillablePropWindowsPropJobRunsItems",
    "ActionsSecret",
    "Workflow",
    "WorkflowUsage",
    "WorkflowUsagePropBillable",
    "WorkflowUsagePropBillablePropUbuntu",
    "WorkflowUsagePropBillablePropMacos",
    "WorkflowUsagePropBillablePropWindows",
    "Autolink",
    "ProtectedBranchRequiredStatusCheck",
    "ProtectedBranchRequiredStatusCheckPropChecksItems",
    "ProtectedBranchAdminEnforced",
    "ProtectedBranchPullRequestReview",
    "ProtectedBranchPullRequestReviewPropDismissalRestrictions",
    "ProtectedBranchPullRequestReviewPropBypassPullRequestAllowances",
    "BranchRestrictionPolicy",
    "BranchRestrictionPolicyPropUsersItems",
    "BranchRestrictionPolicyPropTeamsItems",
    "BranchRestrictionPolicyPropAppsItems",
    "BranchRestrictionPolicyPropAppsItemsPropOwner",
    "BranchRestrictionPolicyPropAppsItemsPropPermissions",
    "BranchProtection",
    "BranchProtectionPropRequiredLinearHistory",
    "BranchProtectionPropAllowForcePushes",
    "BranchProtectionPropAllowDeletions",
    "BranchProtectionPropBlockCreations",
    "BranchProtectionPropRequiredConversationResolution",
    "BranchProtectionPropRequiredSignatures",
    "ShortBranch",
    "ShortBranchPropCommit",
    "GitUser",
    "Verification",
    "DiffEntry",
    "Commit",
    "CommitPropCommit",
    "CommitPropCommitPropTree",
    "CommitPropParentsItems",
    "CommitPropStats",
    "BranchWithProtection",
    "BranchWithProtectionPropLinks",
    "StatusCheckPolicy",
    "StatusCheckPolicyPropChecksItems",
    "ProtectedBranch",
    "ProtectedBranchPropRequiredPullRequestReviews",
    "ProtectedBranchPropRequiredPullRequestReviewsPropDismissalRestrictions",
    "ProtectedBranchPropRequiredPullRequestReviewsPropBypassPullRequestAllowances",
    "ProtectedBranchPropRequiredSignatures",
    "ProtectedBranchPropEnforceAdmins",
    "ProtectedBranchPropRequiredLinearHistory",
    "ProtectedBranchPropAllowForcePushes",
    "ProtectedBranchPropAllowDeletions",
    "ProtectedBranchPropRequiredConversationResolution",
    "ProtectedBranchPropBlockCreations",
    "DeploymentSimple",
    "CheckRun",
    "CheckRunPropOutput",
    "CheckRunPropCheckSuite",
    "CheckAnnotation",
    "CheckSuite",
    "CheckSuitePreference",
    "CheckSuitePreferencePropPreferences",
    "CheckSuitePreferencePropPreferencesPropAutoTriggerChecksItems",
    "CodeScanningAlertRuleSummary",
    "CodeScanningAlertItems",
    "CodeScanningAlert",
    "CodeScanningAnalysis",
    "CodeScanningAnalysisDeletion",
    "CodeScanningCodeqlDatabase",
    "CodeScanningSarifsReceipt",
    "CodeScanningSarifsStatus",
    "CodeownersErrors",
    "CodeownersErrorsPropErrorsItems",
    "RepoCodespacesSecret",
    "Collaborator",
    "CollaboratorPropPermissions",
    "RepositoryInvitation",
    "RepositoryCollaboratorPermission",
    "CommitComment",
    "BranchShort",
    "BranchShortPropCommit",
    "Link",
    "AutoMerge",
    "PullRequestSimple",
    "PullRequestSimplePropLabelsItems",
    "PullRequestSimplePropHead",
    "PullRequestSimplePropBase",
    "PullRequestSimplePropLinks",
    "SimpleCommitStatus",
    "CombinedCommitStatus",
    "Status",
    "CommunityHealthFile",
    "CommunityProfile",
    "CommunityProfilePropFiles",
    "CommitComparison",
    "ContentTree",
    "ContentTreePropEntriesItems",
    "ContentTreePropEntriesItemsPropLinks",
    "ContentTreePropLinks",
    "ContentDirectoryItems",
    "ContentDirectoryItemsPropLinks",
    "ContentFile",
    "ContentFilePropLinks",
    "ContentSymlink",
    "ContentSymlinkPropLinks",
    "ContentSubmodule",
    "ContentSubmodulePropLinks",
    "FileCommit",
    "FileCommitPropContentPropLinks",
    "FileCommitPropContent",
    "FileCommitPropCommit",
    "FileCommitPropCommitPropAuthor",
    "FileCommitPropCommitPropCommitter",
    "FileCommitPropCommitPropTree",
    "FileCommitPropCommitPropParentsItems",
    "FileCommitPropCommitPropVerification",
    "Contributor",
    "DependabotAlert",
    "DependabotAlertPropDependency",
    "DependabotSecret",
    "DependencyGraphDiffItems",
    "DependencyGraphDiffItemsPropVulnerabilitiesItems",
    "Metadata",
    "Dependency",
    "Manifest",
    "ManifestPropFile",
    "ManifestPropResolved",
    "Snapshot",
    "SnapshotPropJob",
    "SnapshotPropDetector",
    "SnapshotPropManifests",
    "DeploymentStatus",
    "DeploymentBranchPolicySettings",
    "Environment",
    "EnvironmentPropProtectionRulesItemsAnyof0",
    "EnvironmentPropProtectionRulesItemsAnyof1",
    "EnvironmentPropProtectionRulesItemsAnyof1PropReviewersItems",
    "EnvironmentPropProtectionRulesItemsAnyof2",
    "DeploymentBranchPolicy",
    "DeploymentBranchPolicyNamePattern",
    "ShortBlob",
    "Blob",
    "GitCommit",
    "GitCommitPropAuthor",
    "GitCommitPropCommitter",
    "GitCommitPropTree",
    "GitCommitPropParentsItems",
    "GitCommitPropVerification",
    "GitRef",
    "GitRefPropObject",
    "GitTag",
    "GitTagPropTagger",
    "GitTagPropObject",
    "GitTree",
    "GitTreePropTreeItems",
    "HookResponse",
    "Hook",
    "HookPropConfig",
    "Import",
    "ImportPropProjectChoicesItems",
    "PorterAuthor",
    "PorterLargeFile",
    "IssueEventLabel",
    "IssueEventDismissedReview",
    "IssueEventMilestone",
    "IssueEventProjectCard",
    "IssueEventRename",
    "IssueEvent",
    "LabeledIssueEvent",
    "LabeledIssueEventPropLabel",
    "UnlabeledIssueEvent",
    "UnlabeledIssueEventPropLabel",
    "AssignedIssueEvent",
    "UnassignedIssueEvent",
    "MilestonedIssueEvent",
    "MilestonedIssueEventPropMilestone",
    "DemilestonedIssueEvent",
    "DemilestonedIssueEventPropMilestone",
    "RenamedIssueEvent",
    "RenamedIssueEventPropRename",
    "ReviewRequestedIssueEvent",
    "ReviewRequestRemovedIssueEvent",
    "ReviewDismissedIssueEvent",
    "ReviewDismissedIssueEventPropDismissedReview",
    "LockedIssueEvent",
    "AddedToProjectIssueEvent",
    "AddedToProjectIssueEventPropProjectCard",
    "MovedColumnInProjectIssueEvent",
    "MovedColumnInProjectIssueEventPropProjectCard",
    "RemovedFromProjectIssueEvent",
    "RemovedFromProjectIssueEventPropProjectCard",
    "ConvertedNoteToIssueIssueEvent",
    "ConvertedNoteToIssueIssueEventPropProjectCard",
    "Label",
    "TimelineCommentEvent",
    "TimelineCrossReferencedEvent",
    "TimelineCrossReferencedEventPropSource",
    "TimelineCommittedEvent",
    "TimelineCommittedEventPropAuthor",
    "TimelineCommittedEventPropCommitter",
    "TimelineCommittedEventPropTree",
    "TimelineCommittedEventPropParentsItems",
    "TimelineCommittedEventPropVerification",
    "TimelineReviewedEvent",
    "TimelineReviewedEventPropLinks",
    "TimelineReviewedEventPropLinksPropHtml",
    "TimelineReviewedEventPropLinksPropPullRequest",
    "PullRequestReviewComment",
    "PullRequestReviewCommentPropLinks",
    "PullRequestReviewCommentPropLinksPropSelf",
    "PullRequestReviewCommentPropLinksPropHtml",
    "PullRequestReviewCommentPropLinksPropPullRequest",
    "TimelineLineCommentedEvent",
    "TimelineCommitCommentedEvent",
    "TimelineAssignedIssueEvent",
    "TimelineUnassignedIssueEvent",
    "StateChangeIssueEvent",
    "DeployKey",
    "Language",
    "LicenseContent",
    "LicenseContentPropLinks",
    "MergedUpstream",
    "PagesSourceHash",
    "PagesHttpsCertificate",
    "Page",
    "PageBuild",
    "PageBuildPropError",
    "PageBuildStatus",
    "PageDeployment",
    "PagesHealthCheck",
    "PagesHealthCheckPropDomain",
    "PagesHealthCheckPropAltDomain",
    "PullRequest",
    "PullRequestPropLabelsItems",
    "PullRequestPropHead",
    "PullRequestPropHeadPropRepoPropOwner",
    "PullRequestPropHeadPropRepoPropPermissions",
    "PullRequestPropHeadPropRepoPropLicense",
    "PullRequestPropHeadPropRepo",
    "PullRequestPropHeadPropUser",
    "PullRequestPropBase",
    "PullRequestPropBasePropRepo",
    "PullRequestPropBasePropRepoPropOwner",
    "PullRequestPropBasePropRepoPropPermissions",
    "PullRequestPropBasePropUser",
    "PullRequestPropLinks",
    "PullRequestMergeResult",
    "PullRequestReviewRequest",
    "PullRequestReview",
    "PullRequestReviewPropLinks",
    "PullRequestReviewPropLinksPropHtml",
    "PullRequestReviewPropLinksPropPullRequest",
    "ReviewComment",
    "ReviewCommentPropLinks",
    "ReleaseAsset",
    "Release",
    "ReleaseNotesContent",
    "SecretScanningAlert",
    "SecretScanningLocationCommit",
    "SecretScanningLocation",
    "Stargazer",
    "CommitActivity",
    "ContributorActivity",
    "ContributorActivityPropWeeksItems",
    "ParticipationStats",
    "RepositorySubscription",
    "Tag",
    "TagPropCommit",
    "TagProtection",
    "Topic",
    "Traffic",
    "CloneTraffic",
    "ContentTraffic",
    "ReferrerTraffic",
    "ViewTraffic",
    "SearchResultTextMatchesItems",
    "SearchResultTextMatchesItemsPropMatchesItems",
    "CodeSearchResultItem",
    "CommitSearchResultItem",
    "CommitSearchResultItemPropCommit",
    "CommitSearchResultItemPropCommitPropAuthor",
    "CommitSearchResultItemPropCommitPropTree",
    "CommitSearchResultItemPropParentsItems",
    "IssueSearchResultItem",
    "IssueSearchResultItemPropLabelsItems",
    "IssueSearchResultItemPropPullRequest",
    "LabelSearchResultItem",
    "RepoSearchResultItem",
    "RepoSearchResultItemPropPermissions",
    "TopicSearchResultItem",
    "TopicSearchResultItemPropRelatedItems",
    "TopicSearchResultItemPropRelatedItemsPropTopicRelation",
    "TopicSearchResultItemPropAliasesItems",
    "TopicSearchResultItemPropAliasesItemsPropTopicRelation",
    "UserSearchResultItem",
    "PrivateUser",
    "PrivateUserPropPlan",
    "CodespacesSecret",
    "CodespacesUserPublicKey",
    "CodespaceExportDetails",
    "Email",
    "GpgKey",
    "GpgKeyPropEmailsItems",
    "GpgKeyPropSubkeysItems",
    "Key",
    "MarketplaceAccount",
    "UserMarketplacePurchase",
    "SshSigningKey",
    "StarredRepository",
    "Hovercard",
    "HovercardPropContextsItems",
    "KeySimple",
    "SimpleInstallation",
    "WebhookBranchProtectionRuleCreated",
    "WebhookBranchProtectionRuleCreatedPropRule",
    "WebhookBranchProtectionRuleDeleted",
    "WebhookBranchProtectionRuleDeletedPropRule",
    "WebhookBranchProtectionRuleEdited",
    "WebhookBranchProtectionRuleEditedPropChanges",
    "WebhookBranchProtectionRuleEditedPropChangesPropAdminEnforced",
    "WebhookBranchProtectionRuleEditedPropChangesPropAuthorizedActorNames",
    "WebhookBranchProtectionRuleEditedPropChangesPropAuthorizedActorsOnly",
    "WebhookBranchProtectionRuleEditedPropChangesPropAuthorizedDismissalActorsOnly",
    "WebhookBranchProtectionRuleEditedPropChangesPropLinearHistoryRequirementEnforcementLevel",
    "WebhookBranchProtectionRuleEditedPropChangesPropRequiredStatusChecks",
    "WebhookBranchProtectionRuleEditedPropChangesPropRequiredStatusChecksEnforcementLevel",
    "WebhookBranchProtectionRuleEditedPropRule",
    "WebhookDependabotAlertCreated",
    "WebhookDependabotAlertDismissed",
    "WebhookDependabotAlertFixed",
    "WebhookDependabotAlertReintroduced",
    "WebhookDependabotAlertReopened",
    "WebhookGollum",
    "WebhookGollumPropPagesItems",
    "WebhookIssueCommentCreated",
    "WebhookIssueCommentCreatedPropComment",
    "WebhookIssueCommentCreatedPropCommentPropReactions",
    "WebhookIssueCommentCreatedPropCommentPropUser",
    "WebhookIssueCommentCreatedPropIssue",
    "WebhookIssueCommentCreatedPropIssueAllof0",
    "WebhookIssueCommentCreatedPropIssueAllof0PropAssignee",
    "WebhookIssueCommentCreatedPropIssueAllof0PropAssigneesItems",
    "WebhookIssueCommentCreatedPropIssueAllof0PropLabelsItems",
    "WebhookIssueCommentCreatedPropIssueAllof0PropMilestonePropCreator",
    "WebhookIssueCommentCreatedPropIssueAllof0PropMilestone",
    "WebhookIssueCommentCreatedPropIssueAllof0PropPerformedViaGithubAppPropOwner",
    "WebhookIssueCommentCreatedPropIssueAllof0PropPerformedViaGithubAppPropPermissions",
    "WebhookIssueCommentCreatedPropIssueAllof0PropPerformedViaGithubApp",
    "WebhookIssueCommentCreatedPropIssueAllof0PropPullRequest",
    "WebhookIssueCommentCreatedPropIssueAllof0PropReactions",
    "WebhookIssueCommentCreatedPropIssueAllof0PropUser",
    "WebhookIssueCommentCreatedPropIssueAllof1",
    "WebhookIssueCommentCreatedPropIssueAllof1PropAssignee",
    "WebhookIssueCommentCreatedPropIssueAllof1PropAssigneesItems",
    "WebhookIssueCommentCreatedPropIssueAllof1PropLabelsItems",
    "WebhookIssueCommentCreatedPropIssueAllof1PropMilestone",
    "WebhookIssueCommentCreatedPropIssueAllof1PropPerformedViaGithubApp",
    "WebhookIssueCommentCreatedPropIssueAllof1PropReactions",
    "WebhookIssueCommentCreatedPropIssueAllof1PropUser",
    "WebhookIssueCommentCreatedPropIssueMergedAssignees",
    "WebhookIssueCommentCreatedPropIssueMergedMilestone",
    "WebhookIssueCommentCreatedPropIssueMergedPerformedViaGithubApp",
    "WebhookIssueCommentCreatedPropIssueMergedReactions",
    "WebhookIssueCommentCreatedPropIssueMergedUser",
    "WebhookIssueCommentDeleted",
    "WebhookIssueCommentDeletedPropComment",
    "WebhookIssueCommentDeletedPropCommentPropReactions",
    "WebhookIssueCommentDeletedPropCommentPropUser",
    "WebhookIssueCommentDeletedPropIssue",
    "WebhookIssueCommentDeletedPropIssueAllof0",
    "WebhookIssueCommentDeletedPropIssueAllof0PropAssignee",
    "WebhookIssueCommentDeletedPropIssueAllof0PropAssigneesItems",
    "WebhookIssueCommentDeletedPropIssueAllof0PropLabelsItems",
    "WebhookIssueCommentDeletedPropIssueAllof0PropMilestonePropCreator",
    "WebhookIssueCommentDeletedPropIssueAllof0PropMilestone",
    "WebhookIssueCommentDeletedPropIssueAllof0PropPerformedViaGithubAppPropOwner",
    "WebhookIssueCommentDeletedPropIssueAllof0PropPerformedViaGithubAppPropPermissions",
    "WebhookIssueCommentDeletedPropIssueAllof0PropPerformedViaGithubApp",
    "WebhookIssueCommentDeletedPropIssueAllof0PropPullRequest",
    "WebhookIssueCommentDeletedPropIssueAllof0PropReactions",
    "WebhookIssueCommentDeletedPropIssueAllof0PropUser",
    "WebhookIssueCommentDeletedPropIssueAllof1",
    "WebhookIssueCommentDeletedPropIssueAllof1PropAssignee",
    "WebhookIssueCommentDeletedPropIssueAllof1PropAssigneesItems",
    "WebhookIssueCommentDeletedPropIssueAllof1PropLabelsItems",
    "WebhookIssueCommentDeletedPropIssueAllof1PropMilestone",
    "WebhookIssueCommentDeletedPropIssueAllof1PropPerformedViaGithubApp",
    "WebhookIssueCommentDeletedPropIssueAllof1PropReactions",
    "WebhookIssueCommentDeletedPropIssueAllof1PropUser",
    "WebhookIssueCommentDeletedPropIssueMergedAssignees",
    "WebhookIssueCommentDeletedPropIssueMergedMilestone",
    "WebhookIssueCommentDeletedPropIssueMergedPerformedViaGithubApp",
    "WebhookIssueCommentDeletedPropIssueMergedReactions",
    "WebhookIssueCommentDeletedPropIssueMergedUser",
    "WebhookIssueCommentEdited",
    "WebhookIssueCommentEditedPropChanges",
    "WebhookIssueCommentEditedPropChangesPropBody",
    "WebhookIssueCommentEditedPropComment",
    "WebhookIssueCommentEditedPropCommentPropReactions",
    "WebhookIssueCommentEditedPropCommentPropUser",
    "WebhookIssueCommentEditedPropIssue",
    "WebhookIssueCommentEditedPropIssueAllof0",
    "WebhookIssueCommentEditedPropIssueAllof0PropAssignee",
    "WebhookIssueCommentEditedPropIssueAllof0PropAssigneesItems",
    "WebhookIssueCommentEditedPropIssueAllof0PropLabelsItems",
    "WebhookIssueCommentEditedPropIssueAllof0PropMilestonePropCreator",
    "WebhookIssueCommentEditedPropIssueAllof0PropMilestone",
    "WebhookIssueCommentEditedPropIssueAllof0PropPerformedViaGithubAppPropOwner",
    "WebhookIssueCommentEditedPropIssueAllof0PropPerformedViaGithubAppPropPermissions",
    "WebhookIssueCommentEditedPropIssueAllof0PropPerformedViaGithubApp",
    "WebhookIssueCommentEditedPropIssueAllof0PropPullRequest",
    "WebhookIssueCommentEditedPropIssueAllof0PropReactions",
    "WebhookIssueCommentEditedPropIssueAllof0PropUser",
    "WebhookIssueCommentEditedPropIssueAllof1",
    "WebhookIssueCommentEditedPropIssueAllof1PropAssignee",
    "WebhookIssueCommentEditedPropIssueAllof1PropAssigneesItems",
    "WebhookIssueCommentEditedPropIssueAllof1PropLabelsItems",
    "WebhookIssueCommentEditedPropIssueAllof1PropMilestone",
    "WebhookIssueCommentEditedPropIssueAllof1PropPerformedViaGithubApp",
    "WebhookIssueCommentEditedPropIssueAllof1PropReactions",
    "WebhookIssueCommentEditedPropIssueAllof1PropUser",
    "WebhookIssueCommentEditedPropIssueMergedAssignees",
    "WebhookIssueCommentEditedPropIssueMergedMilestone",
    "WebhookIssueCommentEditedPropIssueMergedPerformedViaGithubApp",
    "WebhookIssueCommentEditedPropIssueMergedReactions",
    "WebhookIssueCommentEditedPropIssueMergedUser",
    "WebhookIssuesAssigned",
    "WebhookIssuesAssignedPropAssignee",
    "WebhookIssuesAssignedPropIssue",
    "WebhookIssuesAssignedPropIssuePropAssignee",
    "WebhookIssuesAssignedPropIssuePropAssigneesItems",
    "WebhookIssuesAssignedPropIssuePropLabelsItems",
    "WebhookIssuesAssignedPropIssuePropMilestonePropCreator",
    "WebhookIssuesAssignedPropIssuePropMilestone",
    "WebhookIssuesAssignedPropIssuePropPerformedViaGithubAppPropOwner",
    "WebhookIssuesAssignedPropIssuePropPerformedViaGithubAppPropPermissions",
    "WebhookIssuesAssignedPropIssuePropPerformedViaGithubApp",
    "WebhookIssuesAssignedPropIssuePropPullRequest",
    "WebhookIssuesAssignedPropIssuePropReactions",
    "WebhookIssuesAssignedPropIssuePropUser",
    "WebhookIssuesClosed",
    "WebhookIssuesClosedPropIssue",
    "WebhookIssuesClosedPropIssueAllof0",
    "WebhookIssuesClosedPropIssueAllof0PropAssignee",
    "WebhookIssuesClosedPropIssueAllof0PropAssigneesItems",
    "WebhookIssuesClosedPropIssueAllof0PropLabelsItems",
    "WebhookIssuesClosedPropIssueAllof0PropMilestonePropCreator",
    "WebhookIssuesClosedPropIssueAllof0PropMilestone",
    "WebhookIssuesClosedPropIssueAllof0PropPerformedViaGithubAppPropOwner",
    "WebhookIssuesClosedPropIssueAllof0PropPerformedViaGithubAppPropPermissions",
    "WebhookIssuesClosedPropIssueAllof0PropPerformedViaGithubApp",
    "WebhookIssuesClosedPropIssueAllof0PropPullRequest",
    "WebhookIssuesClosedPropIssueAllof0PropReactions",
    "WebhookIssuesClosedPropIssueAllof0PropUser",
    "WebhookIssuesClosedPropIssueAllof1",
    "WebhookIssuesClosedPropIssueAllof1PropAssignee",
    "WebhookIssuesClosedPropIssueAllof1PropAssigneesItems",
    "WebhookIssuesClosedPropIssueAllof1PropLabelsItems",
    "WebhookIssuesClosedPropIssueAllof1PropMilestone",
    "WebhookIssuesClosedPropIssueAllof1PropPerformedViaGithubApp",
    "WebhookIssuesClosedPropIssueAllof1PropReactions",
    "WebhookIssuesClosedPropIssueAllof1PropUser",
    "WebhookIssuesClosedPropIssueMergedAssignee",
    "WebhookIssuesClosedPropIssueMergedAssignees",
    "WebhookIssuesClosedPropIssueMergedLabels",
    "WebhookIssuesClosedPropIssueMergedMilestone",
    "WebhookIssuesClosedPropIssueMergedPerformedViaGithubApp",
    "WebhookIssuesClosedPropIssueMergedReactions",
    "WebhookIssuesClosedPropIssueMergedUser",
    "WebhookIssuesDeleted",
    "WebhookIssuesDeletedPropIssue",
    "WebhookIssuesDeletedPropIssuePropAssignee",
    "WebhookIssuesDeletedPropIssuePropAssigneesItems",
    "WebhookIssuesDeletedPropIssuePropLabelsItems",
    "WebhookIssuesDeletedPropIssuePropMilestonePropCreator",
    "WebhookIssuesDeletedPropIssuePropMilestone",
    "WebhookIssuesDeletedPropIssuePropPerformedViaGithubAppPropOwner",
    "WebhookIssuesDeletedPropIssuePropPerformedViaGithubAppPropPermissions",
    "WebhookIssuesDeletedPropIssuePropPerformedViaGithubApp",
    "WebhookIssuesDeletedPropIssuePropPullRequest",
    "WebhookIssuesDeletedPropIssuePropReactions",
    "WebhookIssuesDeletedPropIssuePropUser",
    "WebhookIssuesDemilestoned",
    "WebhookIssuesDemilestonedPropIssue",
    "WebhookIssuesDemilestonedPropIssueAllof0",
    "WebhookIssuesDemilestonedPropIssueAllof0PropAssignee",
    "WebhookIssuesDemilestonedPropIssueAllof0PropAssigneesItems",
    "WebhookIssuesDemilestonedPropIssueAllof0PropLabelsItems",
    "WebhookIssuesDemilestonedPropIssueAllof0PropMilestonePropCreator",
    "WebhookIssuesDemilestonedPropIssueAllof0PropMilestone",
    "WebhookIssuesDemilestonedPropIssueAllof0PropPerformedViaGithubAppPropOwner",
    "WebhookIssuesDemilestonedPropIssueAllof0PropPerformedViaGithubAppPropPermissions",
    "WebhookIssuesDemilestonedPropIssueAllof0PropPerformedViaGithubApp",
    "WebhookIssuesDemilestonedPropIssueAllof0PropPullRequest",
    "WebhookIssuesDemilestonedPropIssueAllof0PropReactions",
    "WebhookIssuesDemilestonedPropIssueAllof0PropUser",
    "WebhookIssuesDemilestonedPropIssueAllof1",
    "WebhookIssuesDemilestonedPropIssueAllof1PropAssignee",
    "WebhookIssuesDemilestonedPropIssueAllof1PropAssigneesItems",
    "WebhookIssuesDemilestonedPropIssueAllof1PropLabelsItems",
    "WebhookIssuesDemilestonedPropIssueAllof1PropMilestonePropCreator",
    "WebhookIssuesDemilestonedPropIssueAllof1PropMilestone",
    "WebhookIssuesDemilestonedPropIssueAllof1PropPerformedViaGithubApp",
    "WebhookIssuesDemilestonedPropIssueAllof1PropReactions",
    "WebhookIssuesDemilestonedPropIssueAllof1PropUser",
    "WebhookIssuesDemilestonedPropIssueMergedAssignee",
    "WebhookIssuesDemilestonedPropIssueMergedAssignees",
    "WebhookIssuesDemilestonedPropIssueMergedLabels",
    "WebhookIssuesDemilestonedPropIssueMergedPerformedViaGithubApp",
    "WebhookIssuesDemilestonedPropIssueMergedReactions",
    "WebhookIssuesDemilestonedPropIssueMergedUser",
    "WebhookIssuesDemilestonedPropMilestone",
    "WebhookIssuesDemilestonedPropMilestonePropCreator",
    "WebhookIssuesEdited",
    "WebhookIssuesEditedPropChanges",
    "WebhookIssuesEditedPropChangesPropBody",
    "WebhookIssuesEditedPropChangesPropTitle",
    "WebhookIssuesEditedPropIssue",
    "WebhookIssuesEditedPropIssuePropAssignee",
    "WebhookIssuesEditedPropIssuePropAssigneesItems",
    "WebhookIssuesEditedPropIssuePropLabelsItems",
    "WebhookIssuesEditedPropIssuePropMilestonePropCreator",
    "WebhookIssuesEditedPropIssuePropMilestone",
    "WebhookIssuesEditedPropIssuePropPerformedViaGithubAppPropOwner",
    "WebhookIssuesEditedPropIssuePropPerformedViaGithubAppPropPermissions",
    "WebhookIssuesEditedPropIssuePropPerformedViaGithubApp",
    "WebhookIssuesEditedPropIssuePropPullRequest",
    "WebhookIssuesEditedPropIssuePropReactions",
    "WebhookIssuesEditedPropIssuePropUser",
    "WebhookIssuesEditedPropLabel",
    "WebhookIssuesLabeled",
    "WebhookIssuesLabeledPropIssue",
    "WebhookIssuesLabeledPropIssuePropAssignee",
    "WebhookIssuesLabeledPropIssuePropAssigneesItems",
    "WebhookIssuesLabeledPropIssuePropLabelsItems",
    "WebhookIssuesLabeledPropIssuePropMilestonePropCreator",
    "WebhookIssuesLabeledPropIssuePropMilestone",
    "WebhookIssuesLabeledPropIssuePropPerformedViaGithubAppPropOwner",
    "WebhookIssuesLabeledPropIssuePropPerformedViaGithubAppPropPermissions",
    "WebhookIssuesLabeledPropIssuePropPerformedViaGithubApp",
    "WebhookIssuesLabeledPropIssuePropPullRequest",
    "WebhookIssuesLabeledPropIssuePropReactions",
    "WebhookIssuesLabeledPropIssuePropUser",
    "WebhookIssuesLabeledPropLabel",
    "WebhookIssuesLocked",
    "WebhookIssuesLockedPropIssue",
    "WebhookIssuesLockedPropIssueAllof0",
    "WebhookIssuesLockedPropIssueAllof0PropAssignee",
    "WebhookIssuesLockedPropIssueAllof0PropAssigneesItems",
    "WebhookIssuesLockedPropIssueAllof0PropLabelsItems",
    "WebhookIssuesLockedPropIssueAllof0PropMilestonePropCreator",
    "WebhookIssuesLockedPropIssueAllof0PropMilestone",
    "WebhookIssuesLockedPropIssueAllof0PropPerformedViaGithubAppPropOwner",
    "WebhookIssuesLockedPropIssueAllof0PropPerformedViaGithubAppPropPermissions",
    "WebhookIssuesLockedPropIssueAllof0PropPerformedViaGithubApp",
    "WebhookIssuesLockedPropIssueAllof0PropPullRequest",
    "WebhookIssuesLockedPropIssueAllof0PropReactions",
    "WebhookIssuesLockedPropIssueAllof0PropUser",
    "WebhookIssuesLockedPropIssueAllof1",
    "WebhookIssuesLockedPropIssueAllof1PropAssignee",
    "WebhookIssuesLockedPropIssueAllof1PropAssigneesItems",
    "WebhookIssuesLockedPropIssueAllof1PropLabelsItems",
    "WebhookIssuesLockedPropIssueAllof1PropMilestone",
    "WebhookIssuesLockedPropIssueAllof1PropPerformedViaGithubApp",
    "WebhookIssuesLockedPropIssueAllof1PropReactions",
    "WebhookIssuesLockedPropIssueAllof1PropUser",
    "WebhookIssuesLockedPropIssueMergedAssignee",
    "WebhookIssuesLockedPropIssueMergedAssignees",
    "WebhookIssuesLockedPropIssueMergedLabels",
    "WebhookIssuesLockedPropIssueMergedMilestone",
    "WebhookIssuesLockedPropIssueMergedPerformedViaGithubApp",
    "WebhookIssuesLockedPropIssueMergedReactions",
    "WebhookIssuesLockedPropIssueMergedUser",
    "WebhookIssuesMilestoned",
    "WebhookIssuesMilestonedPropIssue",
    "WebhookIssuesMilestonedPropIssueAllof0",
    "WebhookIssuesMilestonedPropIssueAllof0PropAssignee",
    "WebhookIssuesMilestonedPropIssueAllof0PropAssigneesItems",
    "WebhookIssuesMilestonedPropIssueAllof0PropLabelsItems",
    "WebhookIssuesMilestonedPropIssueAllof0PropMilestonePropCreator",
    "WebhookIssuesMilestonedPropIssueAllof0PropMilestone",
    "WebhookIssuesMilestonedPropIssueAllof0PropPerformedViaGithubAppPropOwner",
    "WebhookIssuesMilestonedPropIssueAllof0PropPerformedViaGithubAppPropPermissions",
    "WebhookIssuesMilestonedPropIssueAllof0PropPerformedViaGithubApp",
    "WebhookIssuesMilestonedPropIssueAllof0PropPullRequest",
    "WebhookIssuesMilestonedPropIssueAllof0PropReactions",
    "WebhookIssuesMilestonedPropIssueAllof0PropUser",
    "WebhookIssuesMilestonedPropIssueAllof1",
    "WebhookIssuesMilestonedPropIssueAllof1PropAssignee",
    "WebhookIssuesMilestonedPropIssueAllof1PropAssigneesItems",
    "WebhookIssuesMilestonedPropIssueAllof1PropLabelsItems",
    "WebhookIssuesMilestonedPropIssueAllof1PropMilestone",
    "WebhookIssuesMilestonedPropIssueAllof1PropMilestonePropCreator",
    "WebhookIssuesMilestonedPropIssueAllof1PropPerformedViaGithubApp",
    "WebhookIssuesMilestonedPropIssueAllof1PropReactions",
    "WebhookIssuesMilestonedPropIssueAllof1PropUser",
    "WebhookIssuesMilestonedPropIssueMergedAssignee",
    "WebhookIssuesMilestonedPropIssueMergedAssignees",
    "WebhookIssuesMilestonedPropIssueMergedLabels",
    "WebhookIssuesMilestonedPropIssueMergedPerformedViaGithubApp",
    "WebhookIssuesMilestonedPropIssueMergedReactions",
    "WebhookIssuesMilestonedPropIssueMergedUser",
    "WebhookIssuesMilestonedPropMilestone",
    "WebhookIssuesMilestonedPropMilestonePropCreator",
    "WebhookIssuesOpened",
    "WebhookIssuesOpenedPropChanges",
    "WebhookIssuesOpenedPropChangesPropOldIssuePropAssignee",
    "WebhookIssuesOpenedPropChangesPropOldIssuePropAssigneesItems",
    "WebhookIssuesOpenedPropChangesPropOldIssuePropLabelsItems",
    "WebhookIssuesOpenedPropChangesPropOldIssuePropMilestonePropCreator",
    "WebhookIssuesOpenedPropChangesPropOldIssuePropMilestone",
    "WebhookIssuesOpenedPropChangesPropOldIssuePropPerformedViaGithubAppPropOwner",
    "WebhookIssuesOpenedPropChangesPropOldIssuePropPerformedViaGithubAppPropPermissions",
    "WebhookIssuesOpenedPropChangesPropOldIssuePropPerformedViaGithubApp",
    "WebhookIssuesOpenedPropChangesPropOldIssuePropPullRequest",
    "WebhookIssuesOpenedPropChangesPropOldIssuePropReactions",
    "WebhookIssuesOpenedPropChangesPropOldIssuePropUser",
    "WebhookIssuesOpenedPropChangesPropOldIssue",
    "WebhookIssuesOpenedPropChangesPropOldRepository",
    "WebhookIssuesOpenedPropChangesPropOldRepositoryPropLicense",
    "WebhookIssuesOpenedPropChangesPropOldRepositoryPropOwner",
    "WebhookIssuesOpenedPropChangesPropOldRepositoryPropPermissions",
    "WebhookIssuesOpenedPropIssue",
    "WebhookIssuesOpenedPropIssueAllof0",
    "WebhookIssuesOpenedPropIssueAllof0PropAssignee",
    "WebhookIssuesOpenedPropIssueAllof0PropAssigneesItems",
    "WebhookIssuesOpenedPropIssueAllof0PropLabelsItems",
    "WebhookIssuesOpenedPropIssueAllof0PropMilestonePropCreator",
    "WebhookIssuesOpenedPropIssueAllof0PropMilestone",
    "WebhookIssuesOpenedPropIssueAllof0PropPerformedViaGithubAppPropOwner",
    "WebhookIssuesOpenedPropIssueAllof0PropPerformedViaGithubAppPropPermissions",
    "WebhookIssuesOpenedPropIssueAllof0PropPerformedViaGithubApp",
    "WebhookIssuesOpenedPropIssueAllof0PropPullRequest",
    "WebhookIssuesOpenedPropIssueAllof0PropReactions",
    "WebhookIssuesOpenedPropIssueAllof0PropUser",
    "WebhookIssuesOpenedPropIssueAllof1",
    "WebhookIssuesOpenedPropIssueAllof1PropAssignee",
    "WebhookIssuesOpenedPropIssueAllof1PropAssigneesItems",
    "WebhookIssuesOpenedPropIssueAllof1PropLabelsItems",
    "WebhookIssuesOpenedPropIssueAllof1PropMilestone",
    "WebhookIssuesOpenedPropIssueAllof1PropPerformedViaGithubApp",
    "WebhookIssuesOpenedPropIssueAllof1PropReactions",
    "WebhookIssuesOpenedPropIssueAllof1PropUser",
    "WebhookIssuesOpenedPropIssueMergedAssignee",
    "WebhookIssuesOpenedPropIssueMergedAssignees",
    "WebhookIssuesOpenedPropIssueMergedLabels",
    "WebhookIssuesOpenedPropIssueMergedMilestone",
    "WebhookIssuesOpenedPropIssueMergedPerformedViaGithubApp",
    "WebhookIssuesOpenedPropIssueMergedReactions",
    "WebhookIssuesOpenedPropIssueMergedUser",
    "WebhookIssuesPinned",
    "WebhookIssuesPinnedPropIssue",
    "WebhookIssuesPinnedPropIssuePropAssignee",
    "WebhookIssuesPinnedPropIssuePropAssigneesItems",
    "WebhookIssuesPinnedPropIssuePropLabelsItems",
    "WebhookIssuesPinnedPropIssuePropMilestonePropCreator",
    "WebhookIssuesPinnedPropIssuePropMilestone",
    "WebhookIssuesPinnedPropIssuePropPerformedViaGithubAppPropOwner",
    "WebhookIssuesPinnedPropIssuePropPerformedViaGithubAppPropPermissions",
    "WebhookIssuesPinnedPropIssuePropPerformedViaGithubApp",
    "WebhookIssuesPinnedPropIssuePropPullRequest",
    "WebhookIssuesPinnedPropIssuePropReactions",
    "WebhookIssuesPinnedPropIssuePropUser",
    "WebhookIssuesReopened",
    "WebhookIssuesReopenedPropIssue",
    "WebhookIssuesReopenedPropIssueAllof0",
    "WebhookIssuesReopenedPropIssueAllof0PropAssignee",
    "WebhookIssuesReopenedPropIssueAllof0PropAssigneesItems",
    "WebhookIssuesReopenedPropIssueAllof0PropLabelsItems",
    "WebhookIssuesReopenedPropIssueAllof0PropMilestonePropCreator",
    "WebhookIssuesReopenedPropIssueAllof0PropMilestone",
    "WebhookIssuesReopenedPropIssueAllof0PropPerformedViaGithubAppPropOwner",
    "WebhookIssuesReopenedPropIssueAllof0PropPerformedViaGithubAppPropPermissions",
    "WebhookIssuesReopenedPropIssueAllof0PropPerformedViaGithubApp",
    "WebhookIssuesReopenedPropIssueAllof0PropPullRequest",
    "WebhookIssuesReopenedPropIssueAllof0PropReactions",
    "WebhookIssuesReopenedPropIssueAllof0PropUser",
    "WebhookIssuesReopenedPropIssueAllof1",
    "WebhookIssuesReopenedPropIssueAllof1PropAssignee",
    "WebhookIssuesReopenedPropIssueAllof1PropAssigneesItems",
    "WebhookIssuesReopenedPropIssueAllof1PropLabelsItems",
    "WebhookIssuesReopenedPropIssueAllof1PropMilestone",
    "WebhookIssuesReopenedPropIssueAllof1PropPerformedViaGithubApp",
    "WebhookIssuesReopenedPropIssueAllof1PropReactions",
    "WebhookIssuesReopenedPropIssueAllof1PropUser",
    "WebhookIssuesReopenedPropIssueMergedAssignee",
    "WebhookIssuesReopenedPropIssueMergedAssignees",
    "WebhookIssuesReopenedPropIssueMergedLabels",
    "WebhookIssuesReopenedPropIssueMergedMilestone",
    "WebhookIssuesReopenedPropIssueMergedPerformedViaGithubApp",
    "WebhookIssuesReopenedPropIssueMergedReactions",
    "WebhookIssuesReopenedPropIssueMergedUser",
    "WebhookIssuesTransferred",
    "WebhookIssuesTransferredPropChanges",
    "WebhookIssuesTransferredPropChangesPropNewIssue",
    "WebhookIssuesTransferredPropChangesPropNewIssuePropAssignee",
    "WebhookIssuesTransferredPropChangesPropNewIssuePropAssigneesItems",
    "WebhookIssuesTransferredPropChangesPropNewIssuePropLabelsItems",
    "WebhookIssuesTransferredPropChangesPropNewIssuePropMilestonePropCreator",
    "WebhookIssuesTransferredPropChangesPropNewIssuePropMilestone",
    "WebhookIssuesTransferredPropChangesPropNewIssuePropPerformedViaGithubAppPropOwner",
    "WebhookIssuesTransferredPropChangesPropNewIssuePropPerformedViaGithubAppPropPermissions",
    "WebhookIssuesTransferredPropChangesPropNewIssuePropPerformedViaGithubApp",
    "WebhookIssuesTransferredPropChangesPropNewIssuePropPullRequest",
    "WebhookIssuesTransferredPropChangesPropNewIssuePropReactions",
    "WebhookIssuesTransferredPropChangesPropNewIssuePropUser",
    "WebhookIssuesTransferredPropChangesPropNewRepository",
    "WebhookIssuesTransferredPropChangesPropNewRepositoryPropLicense",
    "WebhookIssuesTransferredPropChangesPropNewRepositoryPropOwner",
    "WebhookIssuesTransferredPropChangesPropNewRepositoryPropPermissions",
    "WebhookIssuesTransferredPropIssue",
    "WebhookIssuesTransferredPropIssuePropAssignee",
    "WebhookIssuesTransferredPropIssuePropAssigneesItems",
    "WebhookIssuesTransferredPropIssuePropLabelsItems",
    "WebhookIssuesTransferredPropIssuePropMilestonePropCreator",
    "WebhookIssuesTransferredPropIssuePropMilestone",
    "WebhookIssuesTransferredPropIssuePropPerformedViaGithubAppPropOwner",
    "WebhookIssuesTransferredPropIssuePropPerformedViaGithubAppPropPermissions",
    "WebhookIssuesTransferredPropIssuePropPerformedViaGithubApp",
    "WebhookIssuesTransferredPropIssuePropPullRequest",
    "WebhookIssuesTransferredPropIssuePropReactions",
    "WebhookIssuesTransferredPropIssuePropUser",
    "WebhookIssuesUnassigned",
    "WebhookIssuesUnassignedPropAssignee",
    "WebhookIssuesUnassignedPropIssue",
    "WebhookIssuesUnassignedPropIssuePropAssignee",
    "WebhookIssuesUnassignedPropIssuePropAssigneesItems",
    "WebhookIssuesUnassignedPropIssuePropLabelsItems",
    "WebhookIssuesUnassignedPropIssuePropMilestonePropCreator",
    "WebhookIssuesUnassignedPropIssuePropMilestone",
    "WebhookIssuesUnassignedPropIssuePropPerformedViaGithubAppPropOwner",
    "WebhookIssuesUnassignedPropIssuePropPerformedViaGithubAppPropPermissions",
    "WebhookIssuesUnassignedPropIssuePropPerformedViaGithubApp",
    "WebhookIssuesUnassignedPropIssuePropPullRequest",
    "WebhookIssuesUnassignedPropIssuePropReactions",
    "WebhookIssuesUnassignedPropIssuePropUser",
    "WebhookIssuesUnlabeled",
    "WebhookIssuesUnlabeledPropIssue",
    "WebhookIssuesUnlabeledPropIssuePropAssignee",
    "WebhookIssuesUnlabeledPropIssuePropAssigneesItems",
    "WebhookIssuesUnlabeledPropIssuePropLabelsItems",
    "WebhookIssuesUnlabeledPropIssuePropMilestonePropCreator",
    "WebhookIssuesUnlabeledPropIssuePropMilestone",
    "WebhookIssuesUnlabeledPropIssuePropPerformedViaGithubAppPropOwner",
    "WebhookIssuesUnlabeledPropIssuePropPerformedViaGithubAppPropPermissions",
    "WebhookIssuesUnlabeledPropIssuePropPerformedViaGithubApp",
    "WebhookIssuesUnlabeledPropIssuePropPullRequest",
    "WebhookIssuesUnlabeledPropIssuePropReactions",
    "WebhookIssuesUnlabeledPropIssuePropUser",
    "WebhookIssuesUnlabeledPropLabel",
    "WebhookIssuesUnlocked",
    "WebhookIssuesUnlockedPropIssue",
    "WebhookIssuesUnlockedPropIssueAllof0",
    "WebhookIssuesUnlockedPropIssueAllof0PropAssignee",
    "WebhookIssuesUnlockedPropIssueAllof0PropAssigneesItems",
    "WebhookIssuesUnlockedPropIssueAllof0PropLabelsItems",
    "WebhookIssuesUnlockedPropIssueAllof0PropMilestonePropCreator",
    "WebhookIssuesUnlockedPropIssueAllof0PropMilestone",
    "WebhookIssuesUnlockedPropIssueAllof0PropPerformedViaGithubAppPropOwner",
    "WebhookIssuesUnlockedPropIssueAllof0PropPerformedViaGithubAppPropPermissions",
    "WebhookIssuesUnlockedPropIssueAllof0PropPerformedViaGithubApp",
    "WebhookIssuesUnlockedPropIssueAllof0PropPullRequest",
    "WebhookIssuesUnlockedPropIssueAllof0PropReactions",
    "WebhookIssuesUnlockedPropIssueAllof0PropUser",
    "WebhookIssuesUnlockedPropIssueAllof1",
    "WebhookIssuesUnlockedPropIssueAllof1PropAssignee",
    "WebhookIssuesUnlockedPropIssueAllof1PropAssigneesItems",
    "WebhookIssuesUnlockedPropIssueAllof1PropLabelsItems",
    "WebhookIssuesUnlockedPropIssueAllof1PropMilestone",
    "WebhookIssuesUnlockedPropIssueAllof1PropReactions",
    "WebhookIssuesUnlockedPropIssueAllof1PropUser",
    "WebhookIssuesUnlockedPropIssueMergedAssignee",
    "WebhookIssuesUnlockedPropIssueMergedAssignees",
    "WebhookIssuesUnlockedPropIssueMergedLabels",
    "WebhookIssuesUnlockedPropIssueMergedMilestone",
    "WebhookIssuesUnlockedPropIssueMergedReactions",
    "WebhookIssuesUnlockedPropIssueMergedUser",
    "WebhookIssuesUnpinned",
    "WebhookIssuesUnpinnedPropIssue",
    "WebhookIssuesUnpinnedPropIssuePropAssignee",
    "WebhookIssuesUnpinnedPropIssuePropAssigneesItems",
    "WebhookIssuesUnpinnedPropIssuePropLabelsItems",
    "WebhookIssuesUnpinnedPropIssuePropMilestonePropCreator",
    "WebhookIssuesUnpinnedPropIssuePropMilestone",
    "WebhookIssuesUnpinnedPropIssuePropPerformedViaGithubAppPropOwner",
    "WebhookIssuesUnpinnedPropIssuePropPerformedViaGithubAppPropPermissions",
    "WebhookIssuesUnpinnedPropIssuePropPerformedViaGithubApp",
    "WebhookIssuesUnpinnedPropIssuePropPullRequest",
    "WebhookIssuesUnpinnedPropIssuePropReactions",
    "WebhookIssuesUnpinnedPropIssuePropUser",
    "WebhookLabelCreated",
    "WebhookLabelCreatedPropLabel",
    "WebhookLabelDeleted",
    "WebhookLabelDeletedPropLabel",
    "WebhookLabelEdited",
    "WebhookLabelEditedPropChanges",
    "WebhookLabelEditedPropChangesPropColor",
    "WebhookLabelEditedPropChangesPropDescription",
    "WebhookLabelEditedPropChangesPropName",
    "WebhookLabelEditedPropLabel",
    "WebhookMemberAdded",
    "WebhookMemberAddedPropChanges",
    "WebhookMemberAddedPropChangesPropPermission",
    "WebhookMemberAddedPropMember",
    "WebhookMemberEdited",
    "WebhookMemberEditedPropChanges",
    "WebhookMemberEditedPropChangesPropOldPermission",
    "WebhookMemberEditedPropChangesPropPermission",
    "WebhookMemberEditedPropMember",
    "WebhookMemberRemoved",
    "WebhookMemberRemovedPropMember",
    "WebhookMembershipAdded",
    "WebhookMembershipAddedPropMember",
    "WebhookMembershipAddedPropSender",
    "WebhookMembershipAddedPropTeam",
    "WebhookMembershipAddedPropTeamPropParent",
    "WebhookMembershipRemoved",
    "WebhookMembershipRemovedPropMember",
    "WebhookMembershipRemovedPropSender",
    "WebhookMembershipRemovedPropTeam",
    "WebhookMembershipRemovedPropTeamPropParent",
    "WebhookMergeGroupChecksRequested",
    "WebhookMergeGroupChecksRequestedPropMergeGroup",
    "WebhookMergeGroupChecksRequestedPropMergeGroupPropHeadCommit",
    "WebhookMergeGroupChecksRequestedPropMergeGroupPropHeadCommitPropAuthor",
    "WebhookMergeGroupChecksRequestedPropMergeGroupPropHeadCommitPropCommitter",
    "WebhookMetaDeleted",
    "WebhookMetaDeletedPropHook",
    "WebhookMetaDeletedPropHookPropConfig",
    "WebhookMilestoneClosed",
    "WebhookMilestoneClosedPropMilestone",
    "WebhookMilestoneClosedPropMilestonePropCreator",
    "WebhookMilestoneCreated",
    "WebhookMilestoneCreatedPropMilestone",
    "WebhookMilestoneCreatedPropMilestonePropCreator",
    "WebhookMilestoneDeleted",
    "WebhookMilestoneDeletedPropMilestone",
    "WebhookMilestoneDeletedPropMilestonePropCreator",
    "WebhookMilestoneEdited",
    "WebhookMilestoneEditedPropChanges",
    "WebhookMilestoneEditedPropChangesPropDescription",
    "WebhookMilestoneEditedPropChangesPropDueOn",
    "WebhookMilestoneEditedPropChangesPropTitle",
    "WebhookMilestoneEditedPropMilestone",
    "WebhookMilestoneEditedPropMilestonePropCreator",
    "WebhookMilestoneOpened",
    "WebhookMilestoneOpenedPropMilestone",
    "WebhookMilestoneOpenedPropMilestonePropCreator",
    "WebhookOrgBlockBlocked",
    "WebhookOrgBlockBlockedPropBlockedUser",
    "WebhookOrgBlockUnblocked",
    "WebhookOrgBlockUnblockedPropBlockedUser",
    "WebhookOrganizationDeleted",
    "WebhookOrganizationDeletedPropMembership",
    "WebhookOrganizationDeletedPropMembershipPropUser",
    "WebhookOrganizationMemberAdded",
    "WebhookOrganizationMemberAddedPropMembership",
    "WebhookOrganizationMemberAddedPropMembershipPropUser",
    "WebhookOrganizationMemberInvited",
    "WebhookOrganizationMemberInvitedPropInvitation",
    "WebhookOrganizationMemberInvitedPropInvitationPropInviter",
    "WebhookOrganizationMemberInvitedPropUser",
    "WebhookOrganizationMemberRemoved",
    "WebhookOrganizationMemberRemovedPropMembership",
    "WebhookOrganizationMemberRemovedPropMembershipPropUser",
    "WebhookOrganizationRenamed",
    "WebhookOrganizationRenamedPropChanges",
    "WebhookOrganizationRenamedPropChangesPropLogin",
    "WebhookOrganizationRenamedPropMembership",
    "WebhookOrganizationRenamedPropMembershipPropUser",
    "WebhookPing",
    "WebhookPingPropHook",
    "WebhookPingPropHookPropConfig",
    "WebhookPingFormEncoded",
    "WebhookProjectCardConverted",
    "WebhookProjectCardConvertedPropChanges",
    "WebhookProjectCardConvertedPropChangesPropNote",
    "WebhookProjectCardConvertedPropProjectCard",
    "WebhookProjectCardConvertedPropProjectCardPropCreator",
    "WebhookProjectCardCreated",
    "WebhookProjectCardCreatedPropProjectCard",
    "WebhookProjectCardCreatedPropProjectCardPropCreator",
    "WebhookProjectCardDeleted",
    "WebhookProjectCardDeletedPropProjectCard",
    "WebhookProjectCardDeletedPropProjectCardPropCreator",
    "WebhookProjectCardEdited",
    "WebhookProjectCardEditedPropChanges",
    "WebhookProjectCardEditedPropChangesPropNote",
    "WebhookProjectCardEditedPropProjectCard",
    "WebhookProjectCardEditedPropProjectCardPropCreator",
    "WebhookProjectCardMoved",
    "WebhookProjectCardMovedPropChanges",
    "WebhookProjectCardMovedPropChangesPropColumnId",
    "WebhookProjectCardMovedPropProjectCard",
    "WebhookProjectCardMovedPropProjectCardAllof0",
    "WebhookProjectCardMovedPropProjectCardAllof0PropCreator",
    "WebhookProjectCardMovedPropProjectCardAllof1",
    "WebhookProjectCardMovedPropProjectCardAllof1PropCreator",
    "WebhookProjectCardMovedPropProjectCardMergedCreator",
    "WebhookProjectClosed",
    "WebhookProjectClosedPropProject",
    "WebhookProjectClosedPropProjectPropCreator",
    "WebhookProjectColumnCreated",
    "WebhookProjectColumnCreatedPropProjectColumn",
    "WebhookProjectColumnDeleted",
    "WebhookProjectColumnDeletedPropProjectColumn",
    "WebhookProjectColumnEdited",
    "WebhookProjectColumnEditedPropChanges",
    "WebhookProjectColumnEditedPropChangesPropName",
    "WebhookProjectColumnEditedPropProjectColumn",
    "WebhookProjectColumnMoved",
    "WebhookProjectColumnMovedPropProjectColumn",
    "WebhookProjectCreated",
    "WebhookProjectCreatedPropProject",
    "WebhookProjectCreatedPropProjectPropCreator",
    "WebhookProjectDeleted",
    "WebhookProjectDeletedPropProject",
    "WebhookProjectDeletedPropProjectPropCreator",
    "WebhookProjectEdited",
    "WebhookProjectEditedPropChanges",
    "WebhookProjectEditedPropChangesPropBody",
    "WebhookProjectEditedPropChangesPropName",
    "WebhookProjectEditedPropProject",
    "WebhookProjectEditedPropProjectPropCreator",
    "WebhookProjectReopened",
    "WebhookProjectReopenedPropProject",
    "WebhookProjectReopenedPropProjectPropCreator",
    "WebhookSecretScanningAlertCreated",
    "WebhookSecretScanningAlertLocationCreated",
    "WebhookSecretScanningAlertLocationCreatedFormEncoded",
    "WebhookSecretScanningAlertReopened",
    "WebhookSecretScanningAlertResolved",
    "WebhookSecretScanningAlertResolvedPropAlert",
    "WebhookSecretScanningAlertRevoked",
    "WebhookTeamAdd",
    "WebhookTeamAddPropTeam",
    "WebhookTeamAddPropTeamPropParent",
    "WebhookTeamAddedToRepository",
    "WebhookTeamAddedToRepositoryPropRepository",
    "WebhookTeamAddedToRepositoryPropRepositoryPropLicense",
    "WebhookTeamAddedToRepositoryPropRepositoryPropOwner",
    "WebhookTeamAddedToRepositoryPropRepositoryPropPermissions",
    "WebhookTeamAddedToRepositoryPropTeam",
    "WebhookTeamAddedToRepositoryPropTeamPropParent",
    "WebhookTeamCreated",
    "WebhookTeamCreatedPropRepository",
    "WebhookTeamCreatedPropRepositoryPropLicense",
    "WebhookTeamCreatedPropRepositoryPropOwner",
    "WebhookTeamCreatedPropRepositoryPropPermissions",
    "WebhookTeamCreatedPropTeam",
    "WebhookTeamCreatedPropTeamPropParent",
    "WebhookTeamDeleted",
    "WebhookTeamDeletedPropRepository",
    "WebhookTeamDeletedPropRepositoryPropLicense",
    "WebhookTeamDeletedPropRepositoryPropOwner",
    "WebhookTeamDeletedPropRepositoryPropPermissions",
    "WebhookTeamDeletedPropTeam",
    "WebhookTeamDeletedPropTeamPropParent",
    "WebhookTeamEdited",
    "WebhookTeamEditedPropChanges",
    "WebhookTeamEditedPropChangesPropDescription",
    "WebhookTeamEditedPropChangesPropName",
    "WebhookTeamEditedPropChangesPropPrivacy",
    "WebhookTeamEditedPropChangesPropRepository",
    "WebhookTeamEditedPropChangesPropRepositoryPropPermissions",
    "WebhookTeamEditedPropChangesPropRepositoryPropPermissionsPropFrom",
    "WebhookTeamEditedPropRepository",
    "WebhookTeamEditedPropRepositoryPropLicense",
    "WebhookTeamEditedPropRepositoryPropOwner",
    "WebhookTeamEditedPropRepositoryPropPermissions",
    "WebhookTeamEditedPropTeam",
    "WebhookTeamEditedPropTeamPropParent",
    "WebhookTeamRemovedFromRepository",
    "WebhookTeamRemovedFromRepositoryPropRepository",
    "WebhookTeamRemovedFromRepositoryPropRepositoryPropLicense",
    "WebhookTeamRemovedFromRepositoryPropRepositoryPropOwner",
    "WebhookTeamRemovedFromRepositoryPropRepositoryPropPermissions",
    "WebhookTeamRemovedFromRepositoryPropTeam",
    "WebhookTeamRemovedFromRepositoryPropTeamPropParent",
    "WebhookUserCreated",
    "WebhookUserCreatedPropUser",
    "AppManifestsCodeConversionsPostResponse201",
    "AppManifestsCodeConversionsPostResponse201Allof1",
    "AppHookConfigPatchBody",
    "AppHookDeliveriesDeliveryIdAttemptsPostResponse202",
    "AppInstallationsInstallationIdAccessTokensPostBody",
    "ApplicationsClientIdGrantDeleteBody",
    "ApplicationsClientIdTokenPostBody",
    "ApplicationsClientIdTokenDeleteBody",
    "ApplicationsClientIdTokenPatchBody",
    "ApplicationsClientIdTokenScopedPostBody",
    "EmojisGetResponse200",
    "EnterprisesEnterpriseActionsPermissionsPutBody",
    "EnterprisesEnterpriseActionsPermissionsOrganizationsGetResponse200",
    "EnterprisesEnterpriseActionsPermissionsOrganizationsPutBody",
    "EnterprisesEnterpriseActionsRunnerGroupsGetResponse200",
    "EnterprisesEnterpriseActionsRunnerGroupsPostBody",
    "EnterprisesEnterpriseActionsRunnerGroupsRunnerGroupIdPatchBody",
    "EnterprisesEnterpriseActionsRunnerGroupsRunnerGroupIdOrganizationsGetResponse200",
    "EnterprisesEnterpriseActionsRunnerGroupsRunnerGroupIdOrganizationsPutBody",
    "EnterprisesEnterpriseActionsRunnerGroupsRunnerGroupIdRunnersGetResponse200",
    "EnterprisesEnterpriseActionsRunnerGroupsRunnerGroupIdRunnersPutBody",
    "EnterprisesEnterpriseActionsRunnersGetResponse200",
    "EnterprisesEnterpriseActionsRunnersRunnerIdLabelsGetResponse200",
    "EnterprisesEnterpriseActionsRunnersRunnerIdLabelsPutBody",
    "EnterprisesEnterpriseActionsRunnersRunnerIdLabelsPostBody",
    "EnterprisesEnterpriseActionsRunnersRunnerIdLabelsDeleteResponse200",
    "EnterprisesEnterpriseCodeScanningAlertsGetResponse503",
    "GistsPostBody",
    "GistsPostBodyPropFiles",
    "GistsGistIdGetResponse403",
    "GistsGistIdGetResponse403PropBlock",
    "GistsGistIdPatchBodyPropFiles",
    "GistsGistIdPatchBodyAnyof0",
    "GistsGistIdPatchBodyAnyof1",
    "GistsGistIdCommentsPostBody",
    "GistsGistIdCommentsCommentIdPatchBody",
    "GistsGistIdStarGetResponse404",
    "InstallationRepositoriesGetResponse200",
    "MarkdownPostBody",
    "NotificationsPutBody",
    "NotificationsPutResponse202",
    "NotificationsThreadsThreadIdSubscriptionPutBody",
    "OrganizationsOrganizationIdCustomRolesGetResponse200",
    "OrgsOrgPatchBody",
    "OrgsOrgActionsCacheUsageByRepositoryGetResponse200",
    "OrgsOrgActionsPermissionsPutBody",
    "OrgsOrgActionsPermissionsRepositoriesGetResponse200",
    "OrgsOrgActionsPermissionsRepositoriesPutBody",
    "OrgsOrgActionsRunnerGroupsGetResponse200",
    "OrgsOrgActionsRunnerGroupsPostBody",
    "OrgsOrgActionsRunnerGroupsRunnerGroupIdPatchBody",
    "OrgsOrgActionsRunnerGroupsRunnerGroupIdRepositoriesGetResponse200",
    "OrgsOrgActionsRunnerGroupsRunnerGroupIdRepositoriesPutBody",
    "OrgsOrgActionsRunnerGroupsRunnerGroupIdRunnersGetResponse200",
    "OrgsOrgActionsRunnerGroupsRunnerGroupIdRunnersPutBody",
    "OrgsOrgActionsRunnersGetResponse200",
    "OrgsOrgActionsRunnersRunnerIdLabelsPutBody",
    "OrgsOrgActionsRunnersRunnerIdLabelsPostBody",
    "OrgsOrgActionsSecretsGetResponse200",
    "OrgsOrgActionsSecretsSecretNamePutBody",
    "OrgsOrgActionsSecretsSecretNameRepositoriesGetResponse200",
    "OrgsOrgActionsSecretsSecretNameRepositoriesPutBody",
    "OrgsOrgCodespacesGetResponse200",
    "OrgsOrgCodespacesBillingPutBody",
    "OrgsOrgCodespacesSecretsGetResponse200",
    "OrgsOrgCodespacesSecretsSecretNamePutBody",
    "OrgsOrgCodespacesSecretsSecretNameRepositoriesGetResponse200",
    "OrgsOrgCodespacesSecretsSecretNameRepositoriesPutBody",
    "OrgsOrgCustomRolesPostBody",
    "OrgsOrgCustomRolesRoleIdPatchBody",
    "OrgsOrgDependabotSecretsGetResponse200",
    "OrgsOrgDependabotSecretsSecretNamePutBody",
    "OrgsOrgDependabotSecretsSecretNameRepositoriesGetResponse200",
    "OrgsOrgDependabotSecretsSecretNameRepositoriesPutBody",
    "OrgsOrgHooksPostBody",
    "OrgsOrgHooksPostBodyPropConfig",
    "OrgsOrgHooksHookIdPatchBody",
    "OrgsOrgHooksHookIdPatchBodyPropConfig",
    "OrgsOrgHooksHookIdConfigPatchBody",
    "OrgsOrgInstallationsGetResponse200",
    "OrgsOrgInteractionLimitsGetResponse200Anyof1",
    "OrgsOrgInvitationsPostBody",
    "OrgsOrgMembersUsernameCodespacesGetResponse200",
    "OrgsOrgMembershipsUsernamePutBody",
    "OrgsOrgMigrationsPostBody",
    "OrgsOrgOutsideCollaboratorsUsernamePutBody",
    "OrgsOrgOutsideCollaboratorsUsernamePutResponse202",
    "OrgsOrgOutsideCollaboratorsUsernameDeleteResponse422",
    "OrgsOrgProjectsPostBody",
    "OrgsOrgReposPostBody",
    "OrgsOrgTeamsPostBody",
    "OrgsOrgTeamsTeamSlugPatchBody",
    "OrgsOrgTeamsTeamSlugDiscussionsPostBody",
    "OrgsOrgTeamsTeamSlugDiscussionsDiscussionNumberPatchBody",
    "OrgsOrgTeamsTeamSlugDiscussionsDiscussionNumberCommentsPostBody",
    "OrgsOrgTeamsTeamSlugDiscussionsDiscussionNumberCommentsCommentNumberPatchBody",
    "OrgsOrgTeamsTeamSlugDiscussionsDiscussionNumberCommentsCommentNumberReactionsPostBody",
    "OrgsOrgTeamsTeamSlugDiscussionsDiscussionNumberReactionsPostBody",
    "OrgsOrgTeamsTeamSlugMembershipsUsernamePutBody",
    "OrgsOrgTeamsTeamSlugProjectsProjectIdPutBody",
    "OrgsOrgTeamsTeamSlugProjectsProjectIdPutResponse403",
    "OrgsOrgTeamsTeamSlugReposOwnerRepoPutBody",
    "ProjectsColumnsCardsCardIdDeleteResponse403",
    "ProjectsColumnsCardsCardIdPatchBody",
    "ProjectsColumnsCardsCardIdMovesPostBody",
    "ProjectsColumnsCardsCardIdMovesPostResponse201",
    "ProjectsColumnsCardsCardIdMovesPostResponse403",
    "ProjectsColumnsCardsCardIdMovesPostResponse403PropErrorsItems",
    "ProjectsColumnsCardsCardIdMovesPostResponse503",
    "ProjectsColumnsCardsCardIdMovesPostResponse503PropErrorsItems",
    "ProjectsColumnsColumnIdPatchBody",
    "ProjectsColumnsColumnIdCardsPostBodyOneof0",
    "ProjectsColumnsColumnIdCardsPostBodyOneof1",
    "ProjectsColumnsColumnIdCardsPostResponse503",
    "ProjectsColumnsColumnIdCardsPostResponse503PropErrorsItems",
    "ProjectsColumnsColumnIdMovesPostBody",
    "ProjectsColumnsColumnIdMovesPostResponse201",
    "ProjectsProjectIdDeleteResponse403",
    "ProjectsProjectIdPatchBody",
    "ProjectsProjectIdPatchResponse403",
    "ProjectsProjectIdCollaboratorsUsernamePutBody",
    "ProjectsProjectIdColumnsPostBody",
    "ReposOwnerRepoDeleteResponse403",
    "ReposOwnerRepoPatchBody",
    "ReposOwnerRepoPatchBodyPropSecurityAndAnalysisPropAdvancedSecurity",
    "ReposOwnerRepoPatchBodyPropSecurityAndAnalysisPropSecretScanning",
    "ReposOwnerRepoPatchBodyPropSecurityAndAnalysisPropSecretScanningPushProtection",
    "ReposOwnerRepoPatchBodyPropSecurityAndAnalysis",
    "ReposOwnerRepoActionsArtifactsGetResponse200",
    "ReposOwnerRepoActionsJobsJobIdRerunPostBody",
    "ReposOwnerRepoActionsPermissionsPutBody",
    "ReposOwnerRepoActionsRunnersGetResponse200",
    "ReposOwnerRepoActionsRunnersRunnerIdLabelsPutBody",
    "ReposOwnerRepoActionsRunnersRunnerIdLabelsPostBody",
    "ReposOwnerRepoActionsRunsGetResponse200",
    "ReposOwnerRepoActionsRunsRunIdArtifactsGetResponse200",
    "ReposOwnerRepoActionsRunsRunIdAttemptsAttemptNumberJobsGetResponse200",
    "ReposOwnerRepoActionsRunsRunIdJobsGetResponse200",
    "ReposOwnerRepoActionsRunsRunIdPendingDeploymentsPostBody",
    "ReposOwnerRepoActionsRunsRunIdRerunPostBody",
    "ReposOwnerRepoActionsRunsRunIdRerunFailedJobsPostBody",
    "ReposOwnerRepoActionsSecretsGetResponse200",
    "ReposOwnerRepoActionsSecretsSecretNamePutBody",
    "ReposOwnerRepoActionsWorkflowsGetResponse200",
    "ReposOwnerRepoActionsWorkflowsWorkflowIdDispatchesPostBody",
    "ReposOwnerRepoActionsWorkflowsWorkflowIdDispatchesPostBodyPropInputs",
    "ReposOwnerRepoActionsWorkflowsWorkflowIdRunsGetResponse200",
    "ReposOwnerRepoAutolinksPostBody",
    "ReposOwnerRepoBranchesBranchProtectionPutBody",
    "ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredStatusChecksPropChecksItems",
    "ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredStatusChecks",
    "ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredPullRequestReviewsPropDismissalRestrictions",
    "ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredPullRequestReviewsPropBypassPullRequestAllowances",
    "ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredPullRequestReviews",
    "ReposOwnerRepoBranchesBranchProtectionPutBodyPropRestrictions",
    "ReposOwnerRepoBranchesBranchProtectionRequiredPullRequestReviewsPatchBody",
    "ReposOwnerRepoBranchesBranchProtectionRequiredPullRequestReviewsPatchBodyPropDismissalRestrictions",
    "ReposOwnerRepoBranchesBranchProtectionRequiredPullRequestReviewsPatchBodyPropBypassPullRequestAllowances",
    "ReposOwnerRepoBranchesBranchProtectionRequiredStatusChecksPatchBody",
    "ReposOwnerRepoBranchesBranchProtectionRequiredStatusChecksPatchBodyPropChecksItems",
    "ReposOwnerRepoBranchesBranchProtectionRequiredStatusChecksContextsPutBodyOneof0",
    "ReposOwnerRepoBranchesBranchProtectionRequiredStatusChecksContextsPostBodyOneof0",
    "ReposOwnerRepoBranchesBranchProtectionRequiredStatusChecksContextsDeleteBodyOneof0",
    "ReposOwnerRepoBranchesBranchProtectionRestrictionsAppsPutBodyOneof0",
    "ReposOwnerRepoBranchesBranchProtectionRestrictionsAppsPostBodyOneof0",
    "ReposOwnerRepoBranchesBranchProtectionRestrictionsAppsDeleteBodyOneof0",
    "ReposOwnerRepoBranchesBranchProtectionRestrictionsTeamsPutBodyOneof0",
    "ReposOwnerRepoBranchesBranchProtectionRestrictionsTeamsPostBodyOneof0",
    "ReposOwnerRepoBranchesBranchProtectionRestrictionsTeamsDeleteBodyOneof0",
    "ReposOwnerRepoBranchesBranchProtectionRestrictionsUsersPutBodyOneof0",
    "ReposOwnerRepoBranchesBranchProtectionRestrictionsUsersPostBodyOneof0",
    "ReposOwnerRepoBranchesBranchProtectionRestrictionsUsersDeleteBodyOneof0",
    "ReposOwnerRepoBranchesBranchRenamePostBody",
    "ReposOwnerRepoCheckRunsPostBodyPropOutput",
    "ReposOwnerRepoCheckRunsPostBodyPropOutputPropAnnotationsItems",
    "ReposOwnerRepoCheckRunsPostBodyPropOutputPropImagesItems",
    "ReposOwnerRepoCheckRunsPostBodyPropActionsItems",
    "ReposOwnerRepoCheckRunsPostBodyOneof0",
    "ReposOwnerRepoCheckRunsPostBodyOneof1",
    "ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropOutput",
    "ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropOutputPropAnnotationsItems",
    "ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropOutputPropImagesItems",
    "ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropActionsItems",
    "ReposOwnerRepoCheckRunsCheckRunIdPatchBodyAnyof0",
    "ReposOwnerRepoCheckRunsCheckRunIdPatchBodyAnyof1",
    "ReposOwnerRepoCheckSuitesPostBody",
    "ReposOwnerRepoCheckSuitesPreferencesPatchBody",
    "ReposOwnerRepoCheckSuitesPreferencesPatchBodyPropAutoTriggerChecksItems",
    "ReposOwnerRepoCheckSuitesCheckSuiteIdCheckRunsGetResponse200",
    "ReposOwnerRepoCodeScanningAlertsAlertNumberPatchBody",
    "ReposOwnerRepoCodeScanningSarifsPostBody",
    "ReposOwnerRepoCodespacesGetResponse200",
    "ReposOwnerRepoCodespacesPostBody",
    "ReposOwnerRepoCodespacesDevcontainersGetResponse200",
    "ReposOwnerRepoCodespacesDevcontainersGetResponse200PropDevcontainersItems",
    "ReposOwnerRepoCodespacesMachinesGetResponse200",
    "ReposOwnerRepoCodespacesNewGetResponse200",
    "ReposOwnerRepoCodespacesNewGetResponse200PropDefaults",
    "ReposOwnerRepoCodespacesSecretsGetResponse200",
    "ReposOwnerRepoCodespacesSecretsSecretNamePutBody",
    "ReposOwnerRepoCollaboratorsUsernamePutBody",
    "ReposOwnerRepoCommentsCommentIdPatchBody",
    "ReposOwnerRepoCommentsCommentIdReactionsPostBody",
    "ReposOwnerRepoCommitsCommitShaCommentsPostBody",
    "ReposOwnerRepoCommitsRefCheckRunsGetResponse200",
    "ReposOwnerRepoCommitsRefCheckSuitesGetResponse200",
    "ReposOwnerRepoContentsPathPutBody",
    "ReposOwnerRepoContentsPathPutBodyPropCommitter",
    "ReposOwnerRepoContentsPathPutBodyPropAuthor",
    "ReposOwnerRepoContentsPathDeleteBody",
    "ReposOwnerRepoContentsPathDeleteBodyPropCommitter",
    "ReposOwnerRepoContentsPathDeleteBodyPropAuthor",
    "ReposOwnerRepoDependabotAlertsAlertNumberPatchBody",
    "ReposOwnerRepoDependabotSecretsGetResponse200",
    "ReposOwnerRepoDependabotSecretsSecretNamePutBody",
    "ReposOwnerRepoDependencyGraphSnapshotsPostResponse201",
    "ReposOwnerRepoDeploymentsPostBody",
    "ReposOwnerRepoDeploymentsPostBodyPropPayloadOneof0",
    "ReposOwnerRepoDeploymentsPostResponse202",
    "ReposOwnerRepoDeploymentsDeploymentIdStatusesPostBody",
    "ReposOwnerRepoDispatchesPostBody",
    "ReposOwnerRepoDispatchesPostBodyPropClientPayload",
    "ReposOwnerRepoEnvironmentsGetResponse200",
    "ReposOwnerRepoEnvironmentsEnvironmentNamePutBodyPropReviewersItems",
    "ReposOwnerRepoEnvironmentsEnvironmentNamePutBody",
    "ReposOwnerRepoEnvironmentsEnvironmentNameDeploymentBranchPoliciesGetResponse200",
    "ReposOwnerRepoForksPostBody",
    "ReposOwnerRepoGitBlobsPostBody",
    "ReposOwnerRepoGitCommitsPostBody",
    "ReposOwnerRepoGitCommitsPostBodyPropAuthor",
    "ReposOwnerRepoGitCommitsPostBodyPropCommitter",
    "ReposOwnerRepoGitRefsPostBody",
    "ReposOwnerRepoGitRefsRefPatchBody",
    "ReposOwnerRepoGitTagsPostBody",
    "ReposOwnerRepoGitTagsPostBodyPropTagger",
    "ReposOwnerRepoGitTreesPostBody",
    "ReposOwnerRepoGitTreesPostBodyPropTreeItems",
    "ReposOwnerRepoHooksPostBodyPropConfig",
    "ReposOwnerRepoHooksPostBody",
    "ReposOwnerRepoHooksHookIdPatchBody",
    "ReposOwnerRepoHooksHookIdPatchBodyPropConfig",
    "ReposOwnerRepoHooksHookIdConfigPatchBody",
    "ReposOwnerRepoImportPutBody",
    "ReposOwnerRepoImportPatchBody",
    "ReposOwnerRepoImportAuthorsAuthorIdPatchBody",
    "ReposOwnerRepoImportLfsPatchBody",
    "ReposOwnerRepoInteractionLimitsGetResponse200Anyof1",
    "ReposOwnerRepoInvitationsInvitationIdPatchBody",
    "ReposOwnerRepoIssuesPostBody",
    "ReposOwnerRepoIssuesPostBodyPropLabelsItemsOneof1",
    "ReposOwnerRepoIssuesCommentsCommentIdPatchBody",
    "ReposOwnerRepoIssuesCommentsCommentIdReactionsPostBody",
    "ReposOwnerRepoIssuesIssueNumberPatchBody",
    "ReposOwnerRepoIssuesIssueNumberPatchBodyPropLabelsItemsOneof1",
    "ReposOwnerRepoIssuesIssueNumberAssigneesPostBody",
    "ReposOwnerRepoIssuesIssueNumberAssigneesDeleteBody",
    "ReposOwnerRepoIssuesIssueNumberCommentsPostBody",
    "ReposOwnerRepoIssuesIssueNumberLabelsPutBodyOneof0",
    "ReposOwnerRepoIssuesIssueNumberLabelsPutBodyOneof2",
    "ReposOwnerRepoIssuesIssueNumberLabelsPutBodyOneof2PropLabelsItems",
    "ReposOwnerRepoIssuesIssueNumberLabelsPutBodyOneof3Items",
    "ReposOwnerRepoIssuesIssueNumberLabelsPostBodyOneof0",
    "ReposOwnerRepoIssuesIssueNumberLabelsPostBodyOneof2",
    "ReposOwnerRepoIssuesIssueNumberLabelsPostBodyOneof2PropLabelsItems",
    "ReposOwnerRepoIssuesIssueNumberLabelsPostBodyOneof3Items",
    "ReposOwnerRepoIssuesIssueNumberLockPutBody",
    "ReposOwnerRepoIssuesIssueNumberReactionsPostBody",
    "ReposOwnerRepoKeysPostBody",
    "ReposOwnerRepoLabelsPostBody",
    "ReposOwnerRepoLabelsNamePatchBody",
    "ReposOwnerRepoMergeUpstreamPostBody",
    "ReposOwnerRepoMergesPostBody",
    "ReposOwnerRepoMilestonesPostBody",
    "ReposOwnerRepoMilestonesMilestoneNumberPatchBody",
    "ReposOwnerRepoNotificationsPutBody",
    "ReposOwnerRepoNotificationsPutResponse202",
    "ReposOwnerRepoPagesPutBodyPropSourceAnyof1",
    "ReposOwnerRepoPagesPutBodyAnyof0",
    "ReposOwnerRepoPagesPutBodyAnyof1",
    "ReposOwnerRepoPagesPutBodyAnyof2",
    "ReposOwnerRepoPagesPutBodyAnyof3",
    "ReposOwnerRepoPagesPutBodyAnyof4",
    "ReposOwnerRepoPagesPostBodyPropSource",
    "ReposOwnerRepoPagesPostBodyAnyof0",
    "ReposOwnerRepoPagesPostBodyAnyof1",
    "ReposOwnerRepoPagesDeploymentPostBody",
    "ReposOwnerRepoProjectsPostBody",
    "ReposOwnerRepoPullsPostBody",
    "ReposOwnerRepoPullsCommentsCommentIdPatchBody",
    "ReposOwnerRepoPullsCommentsCommentIdReactionsPostBody",
    "ReposOwnerRepoPullsPullNumberPatchBody",
    "ReposOwnerRepoPullsPullNumberCodespacesPostBody",
    "ReposOwnerRepoPullsPullNumberCommentsPostBody",
    "ReposOwnerRepoPullsPullNumberCommentsCommentIdRepliesPostBody",
    "ReposOwnerRepoPullsPullNumberMergePutBody",
    "ReposOwnerRepoPullsPullNumberMergePutResponse405",
    "ReposOwnerRepoPullsPullNumberMergePutResponse409",
    "ReposOwnerRepoPullsPullNumberRequestedReviewersPostBodyAnyof0",
    "ReposOwnerRepoPullsPullNumberRequestedReviewersPostBodyAnyof1",
    "ReposOwnerRepoPullsPullNumberRequestedReviewersDeleteBody",
    "ReposOwnerRepoPullsPullNumberReviewsPostBody",
    "ReposOwnerRepoPullsPullNumberReviewsPostBodyPropCommentsItems",
    "ReposOwnerRepoPullsPullNumberReviewsReviewIdPutBody",
    "ReposOwnerRepoPullsPullNumberReviewsReviewIdDismissalsPutBody",
    "ReposOwnerRepoPullsPullNumberReviewsReviewIdEventsPostBody",
    "ReposOwnerRepoPullsPullNumberUpdateBranchPutBody",
    "ReposOwnerRepoPullsPullNumberUpdateBranchPutResponse202",
    "ReposOwnerRepoReleasesPostBody",
    "ReposOwnerRepoReleasesAssetsAssetIdPatchBody",
    "ReposOwnerRepoReleasesGenerateNotesPostBody",
    "ReposOwnerRepoReleasesReleaseIdPatchBody",
    "ReposOwnerRepoReleasesReleaseIdReactionsPostBody",
    "ReposOwnerRepoSecretScanningAlertsAlertNumberPatchBody",
    "ReposOwnerRepoStatusesShaPostBody",
    "ReposOwnerRepoSubscriptionPutBody",
    "ReposOwnerRepoTagsProtectionPostBody",
    "ReposOwnerRepoTopicsPutBody",
    "ReposOwnerRepoTransferPostBody",
    "ReposTemplateOwnerTemplateRepoGeneratePostBody",
    "RepositoriesRepositoryIdEnvironmentsEnvironmentNameSecretsGetResponse200",
    "RepositoriesRepositoryIdEnvironmentsEnvironmentNameSecretsSecretNamePutBody",
    "SearchCodeGetResponse200",
    "SearchCommitsGetResponse200",
    "SearchIssuesGetResponse200",
    "SearchLabelsGetResponse200",
    "SearchRepositoriesGetResponse200",
    "SearchTopicsGetResponse200",
    "SearchUsersGetResponse200",
    "TeamsTeamIdPatchBody",
    "TeamsTeamIdDiscussionsPostBody",
    "TeamsTeamIdDiscussionsDiscussionNumberPatchBody",
    "TeamsTeamIdDiscussionsDiscussionNumberCommentsPostBody",
    "TeamsTeamIdDiscussionsDiscussionNumberCommentsCommentNumberPatchBody",
    "TeamsTeamIdDiscussionsDiscussionNumberCommentsCommentNumberReactionsPostBody",
    "TeamsTeamIdDiscussionsDiscussionNumberReactionsPostBody",
    "TeamsTeamIdMembershipsUsernamePutBody",
    "TeamsTeamIdProjectsProjectIdPutBody",
    "TeamsTeamIdProjectsProjectIdPutResponse403",
    "TeamsTeamIdReposOwnerRepoPutBody",
    "UserPatchBody",
    "UserCodespacesGetResponse200",
    "UserCodespacesPostBodyOneof0",
    "UserCodespacesPostBodyOneof1",
    "UserCodespacesPostBodyOneof1PropPullRequest",
    "UserCodespacesSecretsGetResponse200",
    "UserCodespacesSecretsSecretNamePutBody",
    "UserCodespacesSecretsSecretNameRepositoriesGetResponse200",
    "UserCodespacesSecretsSecretNameRepositoriesPutBody",
    "UserCodespacesCodespaceNamePatchBody",
    "UserCodespacesCodespaceNameMachinesGetResponse200",
    "UserEmailVisibilityPatchBody",
    "UserEmailsPostBodyOneof0",
    "UserEmailsDeleteBodyOneof0",
    "UserGpgKeysPostBody",
    "UserInstallationsGetResponse200",
    "UserInstallationsInstallationIdRepositoriesGetResponse200",
    "UserInteractionLimitsGetResponse200Anyof1",
    "UserKeysPostBody",
    "UserMembershipsOrgsOrgPatchBody",
    "UserMigrationsPostBody",
    "UserProjectsPostBody",
    "UserReposPostBody",
    "UserSshSigningKeysPostBody",
]
