GitHubAppInstallationEventModel#

pydantic model safir.github.webhooks.GitHubAppInstallationEventModel#

A Pydantic model for an installation webhook.

https://docs.github.com/en/webhooks/webhook-events-and-payloads#installation

Parameters:

data (Any) –

Show JSON schema
{
   "title": "GitHubAppInstallationEventModel",
   "description": "A Pydantic model for an ``installation`` webhook.\n\nhttps://docs.github.com/en/webhooks/webhook-events-and-payloads#installation",
   "type": "object",
   "properties": {
      "action": {
         "allOf": [
            {
               "$ref": "#/$defs/GitHubAppInstallationEventAction"
            }
         ],
         "description": "Action performed."
      },
      "repositories": {
         "description": "Repositories accessible to this installation.",
         "items": {
            "$ref": "#/$defs/GitHubAppInstallationEventRepoModel"
         },
         "title": "Repositories",
         "type": "array"
      },
      "installation": {
         "allOf": [
            {
               "$ref": "#/$defs/GitHubAppInstallationModel"
            }
         ],
         "description": "Information about the GitHub App installation."
      }
   },
   "$defs": {
      "GitHubAppInstallationEventAction": {
         "description": "The action performed on an GitHub App ``installation`` webhook\n(`GitHubAppInstallationEventModel`).",
         "enum": [
            "created",
            "deleted",
            "new_permissions_accepted",
            "suspend",
            "unsuspend"
         ],
         "title": "GitHubAppInstallationEventAction",
         "type": "string"
      },
      "GitHubAppInstallationEventRepoModel": {
         "description": "A pydantic model for repository objects used by\n`GitHubAppInstallationRepositoriesEventModel`.\n\nhttps://docs.github.com/en/webhooks/webhook-events-and-payloads#installation",
         "properties": {
            "name": {
               "description": "The name of the repository, e.g. 'times-square'.",
               "title": "Name",
               "type": "string"
            },
            "full_name": {
               "description": "The full name of the repository, e.g. 'lsst-sqre/times-square'.",
               "title": "Full Name",
               "type": "string"
            }
         },
         "required": [
            "name",
            "full_name"
         ],
         "title": "GitHubAppInstallationEventRepoModel",
         "type": "object"
      },
      "GitHubAppInstallationModel": {
         "description": "A Pydantic model for the ``installation`` field found in webhook\npayloads for GitHub Apps.",
         "properties": {
            "id": {
               "description": "The installation ID.",
               "title": "Id",
               "type": "integer"
            }
         },
         "required": [
            "id"
         ],
         "title": "GitHubAppInstallationModel",
         "type": "object"
      }
   },
   "required": [
      "action",
      "repositories",
      "installation"
   ]
}

Fields:
field action: GitHubAppInstallationEventAction [Required]#

Action performed.

field installation: GitHubAppInstallationModel [Required]#

Information about the GitHub App installation.

field repositories: list[GitHubAppInstallationEventRepoModel] [Required]#

Repositories accessible to this installation.

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}#

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.