{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/webhook-push", "title": "push event", "type": "object", "properties": { "after": { "description": "The SHA of the most recent commit on `ref` after the push.", "type": "string" }, "base_ref": { "$ref": "#/components/schemas/webhooks_nullable_string" }, "before": { "description": "The SHA of the most recent commit on `ref` before the push.", "type": "string" }, "commits": { "description": "An array of commit objects describing the pushed commits. (Pushed commits are all commits that are included in the `compare` between the `before` commit and the `after` commit.) The array includes a maximum of 2048 commits. If necessary, you can use the [Commits API](https://docs.github.com/enterprise-server@3.9/rest/commits) to fetch additional commits.", "type": "array", "items": { "title": "Commit", "type": "object", "properties": { "added": { "description": "An array of files added in the commit. A maximum of 3000 changed files will be reported per commit.", "type": "array", "items": { "type": "string" } }, "author": { "title": "Committer", "description": "Metaproperties for Git author/committer information.", "type": "object", "properties": { "date": { "type": "string", "format": "date-time" }, "email": { "type": "string", "nullable": true, "format": "email" }, "name": { "description": "The git author's name.", "type": "string" }, "username": { "type": "string" } }, "required": [ "email", "name" ] }, "committer": { "title": "Committer", "description": "Metaproperties for Git author/committer information.", "type": "object", "properties": { "date": { "type": "string", "format": "date-time" }, "email": { "type": "string", "nullable": true, "format": "email" }, "name": { "description": "The git author's name.", "type": "string" }, "username": { "type": "string" } }, "required": [ "email", "name" ] }, "distinct": { "description": "Whether this commit is distinct from any that have been pushed before.", "type": "boolean" }, "id": { "type": "string" }, "message": { "description": "The commit message.", "type": "string" }, "modified": { "description": "An array of files modified by the commit. A maximum of 3000 changed files will be reported per commit.", "type": "array", "items": { "type": "string" } }, "removed": { "description": "An array of files removed in the commit. A maximum of 3000 changed files will be reported per commit.", "type": "array", "items": { "type": "string" } }, "timestamp": { "description": "The ISO 8601 timestamp of the commit.", "type": "string", "format": "date-time" }, "tree_id": { "type": "string" }, "url": { "description": "URL that points to the commit API resource.", "type": "string", "format": "uri" } }, "required": [ "id", "tree_id", "distinct", "message", "timestamp", "url", "author", "committer" ] } }, "compare": { "description": "URL that shows the changes in this `ref` update, from the `before` commit to the `after` commit. For a newly created `ref` that is directly based on the default branch, this is the comparison between the head of the default branch and the `after` commit. Otherwise, this shows all commits until the `after` commit.", "type": "string" }, "created": { "description": "Whether this push created the `ref`.", "type": "boolean" }, "deleted": { "description": "Whether this push deleted the `ref`.", "type": "boolean" }, "enterprise": { "$ref": "#/components/schemas/enterprise-webhooks" }, "forced": { "description": "Whether this push was a force push of the `ref`.", "type": "boolean" }, "head_commit": { "title": "Commit", "type": "object", "nullable": true, "properties": { "added": { "description": "An array of files added in the commit.", "type": "array", "items": { "type": "string" } }, "author": { "title": "Committer", "description": "Metaproperties for Git author/committer information.", "type": "object", "properties": { "date": { "type": "string", "format": "date-time" }, "email": { "type": "string", "nullable": true, "format": "email" }, "name": { "description": "The git author's name.", "type": "string" }, "username": { "type": "string" } }, "required": [ "email", "name" ] }, "committer": { "title": "Committer", "description": "Metaproperties for Git author/committer information.", "type": "object", "properties": { "date": { "type": "string", "format": "date-time" }, "email": { "type": "string", "nullable": true, "format": "email" }, "name": { "description": "The git author's name.", "type": "string" }, "username": { "type": "string" } }, "required": [ "email", "name" ] }, "distinct": { "description": "Whether this commit is distinct from any that have been pushed before.", "type": "boolean" }, "id": { "type": "string" }, "message": { "description": "The commit message.", "type": "string" }, "modified": { "description": "An array of files modified by the commit.", "type": "array", "items": { "type": "string" } }, "removed": { "description": "An array of files removed in the commit.", "type": "array", "items": { "type": "string" } }, "timestamp": { "description": "The ISO 8601 timestamp of the commit.", "type": "string", "format": "date-time" }, "tree_id": { "type": "string" }, "url": { "description": "URL that points to the commit API resource.", "type": "string", "format": "uri" } }, "required": [ "id", "tree_id", "distinct", "message", "timestamp", "url", "author", "committer" ] }, "installation": { "$ref": "#/components/schemas/simple-installation" }, "organization": { "$ref": "#/components/schemas/organization-simple-webhooks" }, "pusher": { "title": "Committer", "description": "Metaproperties for Git author/committer information.", "type": "object", "properties": { "date": { "type": "string", "format": "date-time" }, "email": { "type": "string", "nullable": true, "format": "email" }, "name": { "description": "The git author's name.", "type": "string" }, "username": { "type": "string" } }, "required": [ "name" ] }, "ref": { "description": "The full git ref that was pushed. Example: `refs/heads/main` or `refs/tags/v3.14.1`.", "type": "string" }, "repository": { "title": "Repository", "description": "A git repository", "type": "object", "properties": { "allow_auto_merge": { "description": "Whether to allow auto-merge for pull requests.", "type": "boolean", "default": false }, "allow_forking": { "description": "Whether to allow private forks", "type": "boolean" }, "allow_merge_commit": { "description": "Whether to allow merge commits for pull requests.", "type": "boolean", "default": true }, "allow_rebase_merge": { "description": "Whether to allow rebase merges for pull requests.", "type": "boolean", "default": true }, "allow_squash_merge": { "description": "Whether to allow squash merges for pull requests.", "type": "boolean", "default": true }, "allow_update_branch": { "type": "boolean" }, "archive_url": { "type": "string", "format": "uri-template" }, "archived": { "description": "Whether the repository is archived.", "type": "boolean", "default": false }, "assignees_url": { "type": "string", "format": "uri-template" }, "blobs_url": { "type": "string", "format": "uri-template" }, "branches_url": { "type": "string", "format": "uri-template" }, "clone_url": { "type": "string", "format": "uri" }, "collaborators_url": { "type": "string", "format": "uri-template" }, "comments_url": { "type": "string", "format": "uri-template" }, "commits_url": { "type": "string", "format": "uri-template" }, "compare_url": { "type": "string", "format": "uri-template" }, "contents_url": { "type": "string", "format": "uri-template" }, "contributors_url": { "type": "string", "format": "uri" }, "created_at": { "oneOf": [ { "type": "integer" }, { "type": "string", "format": "date-time" } ] }, "default_branch": { "description": "The default branch of the repository.", "type": "string" }, "delete_branch_on_merge": { "description": "Whether to delete head branches when pull requests are merged", "type": "boolean", "default": false }, "deployments_url": { "type": "string", "format": "uri" }, "description": { "type": "string", "nullable": true }, "disabled": { "description": "Returns whether or not this repository is disabled.", "type": "boolean" }, "downloads_url": { "type": "string", "format": "uri" }, "events_url": { "type": "string", "format": "uri" }, "fork": { "type": "boolean" }, "forks": { "type": "integer" }, "forks_count": { "type": "integer" }, "forks_url": { "type": "string", "format": "uri" }, "full_name": { "type": "string" }, "git_commits_url": { "type": "string", "format": "uri-template" }, "git_refs_url": { "type": "string", "format": "uri-template" }, "git_tags_url": { "type": "string", "format": "uri-template" }, "git_url": { "type": "string", "format": "uri" }, "has_downloads": { "description": "Whether downloads are enabled.", "type": "boolean", "default": true }, "has_issues": { "description": "Whether issues are enabled.", "type": "boolean", "default": true }, "has_pages": { "type": "boolean" }, "has_projects": { "description": "Whether projects are enabled.", "type": "boolean", "default": true }, "has_wiki": { "description": "Whether the wiki is enabled.", "type": "boolean", "default": true }, "has_discussions": { "description": "Whether discussions are enabled.", "type": "boolean", "default": false }, "homepage": { "type": "string", "nullable": true }, "hooks_url": { "type": "string", "format": "uri" }, "html_url": { "type": "string", "format": "uri" }, "id": { "description": "Unique identifier of the repository", "type": "integer", "format": "int64" }, "is_template": { "type": "boolean" }, "issue_comment_url": { "type": "string", "format": "uri-template" }, "issue_events_url": { "type": "string", "format": "uri-template" }, "issues_url": { "type": "string", "format": "uri-template" }, "keys_url": { "type": "string", "format": "uri-template" }, "labels_url": { "type": "string", "format": "uri-template" }, "language": { "type": "string", "nullable": true }, "languages_url": { "type": "string", "format": "uri" }, "license": { "title": "License", "type": "object", "nullable": true, "properties": { "key": { "type": "string" }, "name": { "type": "string" }, "node_id": { "type": "string" }, "spdx_id": { "type": "string" }, "url": { "type": "string", "nullable": true, "format": "uri" } }, "required": [ "key", "name", "spdx_id", "url", "node_id" ] }, "master_branch": { "type": "string" }, "merges_url": { "type": "string", "format": "uri" }, "milestones_url": { "type": "string", "format": "uri-template" }, "mirror_url": { "type": "string", "nullable": true, "format": "uri" }, "name": { "description": "The name of the repository.", "type": "string" }, "node_id": { "type": "string" }, "notifications_url": { "type": "string", "format": "uri-template" }, "open_issues": { "type": "integer" }, "open_issues_count": { "type": "integer" }, "organization": { "type": "string" }, "owner": { "title": "User", "type": "object", "nullable": true, "properties": { "avatar_url": { "type": "string", "format": "uri" }, "deleted": { "type": "boolean" }, "email": { "type": "string", "nullable": true }, "events_url": { "type": "string", "format": "uri-template" }, "followers_url": { "type": "string", "format": "uri" }, "following_url": { "type": "string", "format": "uri-template" }, "gists_url": { "type": "string", "format": "uri-template" }, "gravatar_id": { "type": "string" }, "html_url": { "type": "string", "format": "uri" }, "id": { "type": "integer" }, "login": { "type": "string" }, "name": { "type": "string" }, "node_id": { "type": "string" }, "organizations_url": { "type": "string", "format": "uri" }, "received_events_url": { "type": "string", "format": "uri" }, "repos_url": { "type": "string", "format": "uri" }, "site_admin": { "type": "boolean" }, "starred_url": { "type": "string", "format": "uri-template" }, "subscriptions_url": { "type": "string", "format": "uri" }, "type": { "type": "string", "enum": [ "Bot", "User", "Organization" ] }, "url": { "type": "string", "format": "uri" } }, "required": [ "login", "id" ] }, "permissions": { "type": "object", "properties": { "admin": { "type": "boolean" }, "maintain": { "type": "boolean" }, "pull": { "type": "boolean" }, "push": { "type": "boolean" }, "triage": { "type": "boolean" } }, "required": [ "pull", "push", "admin" ] }, "private": { "description": "Whether the repository is private or public.", "type": "boolean" }, "public": { "type": "boolean" }, "pulls_url": { "type": "string", "format": "uri-template" }, "pushed_at": { "nullable": true, "oneOf": [ { "type": "integer" }, { "type": "string", "format": "date-time" } ] }, "releases_url": { "type": "string", "format": "uri-template" }, "role_name": { "type": "string", "nullable": true }, "size": { "type": "integer" }, "ssh_url": { "type": "string" }, "stargazers": { "type": "integer" }, "stargazers_count": { "type": "integer" }, "stargazers_url": { "type": "string", "format": "uri" }, "statuses_url": { "type": "string", "format": "uri-template" }, "subscribers_url": { "type": "string", "format": "uri" }, "subscription_url": { "type": "string", "format": "uri" }, "svn_url": { "type": "string", "format": "uri" }, "tags_url": { "type": "string", "format": "uri" }, "teams_url": { "type": "string", "format": "uri" }, "topics": { "type": "array", "items": { "type": "string" } }, "trees_url": { "type": "string", "format": "uri-template" }, "updated_at": { "type": "string", "format": "date-time" }, "url": { "type": "string", "format": "uri" }, "visibility": { "type": "string", "enum": [ "public", "private", "internal" ] }, "watchers": { "type": "integer" }, "watchers_count": { "type": "integer" }, "web_commit_signoff_required": { "description": "Whether to require contributors to sign off on web-based commits", "type": "boolean" } }, "required": [ "id", "node_id", "name", "full_name", "private", "owner", "html_url", "description", "fork", "url", "forks_url", "keys_url", "collaborators_url", "teams_url", "hooks_url", "issue_events_url", "events_url", "assignees_url", "branches_url", "tags_url", "blobs_url", "git_tags_url", "git_refs_url", "trees_url", "statuses_url", "languages_url", "stargazers_url", "contributors_url", "subscribers_url", "subscription_url", "commits_url", "git_commits_url", "comments_url", "issue_comment_url", "contents_url", "compare_url", "merges_url", "archive_url", "downloads_url", "issues_url", "pulls_url", "milestones_url", "notifications_url", "labels_url", "releases_url", "deployments_url", "created_at", "updated_at", "pushed_at", "git_url", "ssh_url", "clone_url", "svn_url", "homepage", "size", "stargazers_count", "watchers_count", "language", "has_issues", "has_projects", "has_downloads", "has_wiki", "has_pages", "has_discussions", "forks_count", "mirror_url", "archived", "open_issues_count", "license", "forks", "open_issues", "watchers", "default_branch", "topics", "visibility" ] }, "sender": { "$ref": "#/components/schemas/simple-user-webhooks" } }, "required": [ "ref", "before", "after", "created", "deleted", "forced", "base_ref", "compare", "commits", "head_commit", "repository", "pusher" ] }