Skip to main content

This version of GitHub Enterprise was discontinued on 2023-01-18. No patch releases will be made, even for critical security issues. For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise. For help with the upgrade, contact GitHub Enterprise support.

GitHub event types

For the GitHub Events API, learn about each event type, the triggering action on GitHub, and each event's unique properties.

The Events API can return different types of events triggered by activity on GitHub. Each event response contains shared properties, but has a unique payload object determined by its event type. The Event object common properties describes the properties shared by all events, and each event type describes the payload properties that are unique to the specific event.

Event object common properties

The event objects returned from the Events API endpoints have the same structure.

Event API attribute nameDescription
idUnique identifier for the event.
typeThe type of event. Events uses PascalCase for the name.
actorThe user that triggered the event.
actor.idThe unique identifier for the actor.
actor.loginThe username of the actor.
actor.display_loginThe specific display format of the username.
actor.gravatar_idThe unique identifier of the Gravatar profile for the actor.
actor.urlThe REST API URL used to retrieve the user object, which includes additional user information.
actor.avatar_urlThe URL of the actor's profile image.
repositoryThe repository object where the event occurred.
repository.idThe unique identifier of the repository.
repository.nameThe name of the repository, which includes the owner and repository name. For example, octocat/hello-world is the name of the hello-world repository owned by the octocat personal account.
repository.urlThe REST API URL used to retrieve the repository object, which includes additional repository information.
payloadThe event payload object is unique to the event type. See the event type below for the event API payload object.
publicWhether the event is visible to all users.
created_atThe date and time when the event was triggered. It is formatted according to ISO 8601.
orgThe organization that was chosen by the actor to perform action that triggers the event.
The property appears in the event object only if it is applicable.
org.idThe unique identifier for the organization.
org.loginThe name of the organization.
org.gravatar_idThe unique identifier of the Gravatar profile for the organization.
org.urlThe REST API URL used to retrieve the organization object, which includes additional organization information.
org.avatar_urlThe URL of the organization's profile image.

Example WatchEvent event object

This example shows the format of the WatchEvent response when using the Events API.

HTTP/2 200
Link: <https://api.github.com/resource?page=2>; rel="next",
      <https://api.github.com/resource?page=5>; rel="last"
[
  {
    "type": "WatchEvent",
    "public": false,
    "payload": {
    },
    "repository": {
      "id": 3,
      "name": "octocat/Hello-World",
      "url": "https://api.github.com/repos/octocat/Hello-World"
    },
    "actor": {
      "id": 1,
      "login": "octocat",
      "gravatar_id": "",
      "avatar_url": "https://github.com/images/error/octocat_happy.gif",
      "url": "https://api.github.com/users/octocat"
    },
    "org": {
      "id": 1,
      "login": "github",
      "gravatar_id": "",
      "url": "https://api.github.com/orgs/github",
      "avatar_url": "https://github.com/images/error/octocat_happy.gif"
    },
    "created_at": "2011-09-06T17:26:27Z",
    "id": "12345"
  }
]

CommitCommentEvent

A commit comment is created. The type of activity is specified in the action property of the payload object. For more information, see the "commit comment" REST API.

The event object includes properties that are common for all events. Each event object includes a payload property and the value is unique to each event type. The payload object for this event is described below.

Event payload object

KeyTypeDescription
actionstringThe action performed. Can be created.
commentobjectThe commit comment resource.

CreateEvent

A Git branch or tag is created. For more information, see the "Git database" REST API.

The event object includes properties that are common for all events. Each event object includes a payload property and the value is unique to each event type. The payload object for this event is described below.

Event payload object

KeyTypeDescription
refstringThe git ref resource.
ref_typestringThe type of Git ref object created in the repository. Can be either branch or tag.
master_branchstringThe name of the repository's default branch (usually main).
descriptionstringThe repository's current description.

DeleteEvent

A Git branch or tag is deleted. For more information, see the "Git database" REST API.

The event object includes properties that are common for all events. Each event object includes a payload property and the value is unique to each event type. The payload object for this event is described below.

Event payload object

KeyTypeDescription
refstringThe git ref resource.
ref_typestringThe type of Git ref object deleted in the repository. Can be either branch or tag.

ForkEvent

A user forks a repository. For more information, see the "forks" REST API.

The event object includes properties that are common for all events. Each event object includes a payload property and the value is unique to each event type. The payload object for this event is described below.

Event payload object

KeyTypeDescription
forkeeobjectThe created repository resource.

GollumEvent

A wiki page is created or updated. For more information, see "About wikis."

The event object includes properties that are common for all events. Each event object includes a payload property and the value is unique to each event type. The payload object for this event is described below.

Event payload object

KeyTypeDescription
pagesarrayThe pages that were updated.
pages[][page_name]stringThe name of the page.
pages[][title]stringThe current page title.
pages[][action]stringThe action that was performed on the page. Can be created or edited.
pages[][sha]stringThe latest commit SHA of the page.
pages[][html_url]stringPoints to the HTML wiki page.

IssueCommentEvent

Activity related to an issue or pull request comment. The type of activity is specified in the action property of the payload object. For more information, see the "issue comments" REST API.

The event object includes properties that are common for all events. Each event object includes a payload property and the value is unique to each event type. The payload object for this event is described below.

Event payload object

KeyTypeDescription
actionstringThe action that was performed on the comment. Can be one of created, edited, or deleted.
changesobjectThe changes to the comment if the action was edited.
changes[body][from]stringThe previous version of the body if the action was edited.
issueobjectThe issue the comment belongs to.
commentobjectThe comment itself.

IssuesEvent

Activity related to an issue. The type of activity is specified in the action property of the payload object. For more information, see the "issues" REST API.

The event object includes properties that are common for all events. Each event object includes a payload property and the value is unique to each event type. The payload object for this event is described below.

Event payload object

KeyTypeDescription
actionstringThe action that was performed. Can be one of opened, edited, closed, reopened, assigned, unassigned, labeled, or unlabeled.
issueobjectThe issue itself.
changesobjectThe changes to the issue if the action was edited.
changes[title][from]stringThe previous version of the title if the action was edited.
changes[body][from]stringThe previous version of the body if the action was edited.
assigneeobjectThe optional user who was assigned or unassigned from the issue.
labelobjectThe optional label that was added or removed from the issue.

MemberEvent

Activity related to repository collaborators. The type of activity is specified in the action property of the payload object. For more information, see the "collaborators" REST API.

The event object includes properties that are common for all events. Each event object includes a payload property and the value is unique to each event type. The payload object for this event is described below.

Event payload object

KeyTypeDescription
actionstringThe action that was performed. Can be added to indicate a user accepted an invitation to a repository.
memberobjectThe user that was added.
changesobjectThe changes to the collaborator permissions if the action was edited.
changes[old_permission][from]stringThe previous permissions of the collaborator if the action was edited.

PublicEvent

When a private repository is made public. Without a doubt: the best GitHub Enterprise Server event.

Event payload object

This event returns an empty payload object.

PullRequestEvent

Activity related to pull requests. The type of activity is specified in the action property of the payload object. For more information, see the "pull requests" REST API.

The event object includes properties that are common for all events. Each event object includes a payload property and the value is unique to each event type. The payload object for this event is described below.

Event payload object

KeyTypeDescription
actionstringThe action that was performed. Can be one of opened, edited, closed, reopened, assigned, unassigned, review_requested, review_request_removed, labeled, unlabeled, and synchronize.
numberintegerThe pull request number.
changesobjectThe changes to the comment if the action was edited.
changes[title][from]stringThe previous version of the title if the action was edited.
changes[body][from]stringThe previous version of the body if the action was edited.
pull_requestobjectThe pull request itself.

PullRequestReviewEvent

Activity related to pull request reviews. The type of activity is specified in the action property of the payload object. For more information, see the "pull request reviews" REST API.

The event object includes properties that are common for all events. Each event object includes a payload property and the value is unique to each event type. The payload object for this event is described below.

Event payload object

KeyTypeDescription
actionstringThe action that was performed. Can be created.
pull_requestobjectThe pull request the review pertains to.
reviewobjectThe review that was affected.

PullRequestReviewCommentEvent

Activity related to pull request review comments in the pull request's unified diff. The type of activity is specified in the action property of the payload object. For more information, see the "pull request review comments" REST API.

The event object includes properties that are common for all events. Each event object includes a payload property and the value is unique to each event type. The payload object for this event is described below.

Event payload object

KeyTypeDescription
actionstringThe action that was performed on the comment. Can be created.
changesobjectThe changes to the comment if the action was edited.
changes[body][from]stringThe previous version of the body if the action was edited.
pull_requestobjectThe pull request the comment belongs to.
commentobjectThe comment itself.

PullRequestReviewThreadEvent

Activity related to a comment thread on a pull request being marked as resolved or unresolved. The type of activity is specified in the action property of the payload object.

The event object includes properties that are common for all events. Each event object includes a payload property and the value is unique to each event type. The payload object for this event is described below.

Event payload object

KeyTypeDescription
actionstringThe action that was performed. Can be one of:
  • resolved - A comment thread on a pull request was marked as resolved.
  • unresolved - A previously resolved comment thread on a pull request was marked as unresolved.
pull_requestobjectThe pull request the thread pertains to.
threadobjectThe thread that was affected.

PushEvent

One or more commits are pushed to a repository branch or tag.

The event object includes properties that are common for all events. Each event object includes a payload property and the value is unique to each event type. The payload object for this event is described below.

Event payload object

KeyTypeDescription
push_idintegerUnique identifier for the push.
sizeintegerThe number of commits in the push.
distinct_sizeintegerThe number of distinct commits in the push.
refstringThe full git ref that was pushed. Example: refs/heads/main.
headstringThe SHA of the most recent commit on ref after the push.
beforestringThe SHA of the most recent commit on ref before the push.
commitsarrayAn array of commit objects describing the pushed commits. (The array includes a maximum of 20 commits. If necessary, you can use the Commits API to fetch additional commits. This limit is applied to timeline events only and isn't applied to webhook deliveries.)
commits[][sha]stringThe SHA of the commit.
commits[][message]stringThe commit message.
commits[][author]objectThe git author of the commit.
commits[][author][name]stringThe git author's name.
commits[][author][email]stringThe git author's email address.
commits[][url]urlURL that points to the commit API resource.
commits[][distinct]booleanWhether this commit is distinct from any that have been pushed before.

ReleaseEvent

Activity related to a release. The type of activity is specified in the action property of the payload object. For more information, see the "releases" REST API.

The event object includes properties that are common for all events. Each event object includes a payload property and the value is unique to each event type. The payload object for this event is described below.

Event payload object

KeyTypeDescription
actionstringThe action that was performed. Can be published.
changes[body][from]stringThe previous version of the body if the action was edited.
changes[name][from]stringThe previous version of the name if the action was edited.
releaseobjectThe release object.

WatchEvent

When someone stars a repository. The type of activity is specified in the action property of the payload object. For more information, see the "starring" REST API.

The event object includes properties that are common for all events. Each event object includes a payload property and the value is unique to each event type. The payload object for this event is described below.

Event payload object

KeyTypeDescription
actionstringThe action that was performed. Currently, can only be started.