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 name | 描述 |
---|---|
id | Unique identifier for the event. |
type | The type of event. Events uses PascalCase for the name. |
actor | The user that triggered the event. |
actor.id | The unique identifier for the actor. |
actor.login | The username of the actor. |
actor.display_login | The specific display format of the username. |
actor.gravatar_id | The unique identifier of the Gravatar profile for the actor. |
actor.url | The REST API URL used to retrieve the user object, which includes additional user information. |
actor.avatar_url | The URL of the actor's profile image. |
repo | The repository object where the event occurred. |
repo.id | The unique identifier of the repository. |
repo.name | The 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 user account. |
repo.url | The REST API URL used to retrieve the repository object, which includes additional repository information. |
payload | The event payload object is unique to the event type. See the event type below for the event API payload object. |
Example WatchEvent event object
This example shows the format of the WatchEvent response when using the Events API.
Status: 200 OK
Link: <https://api.github.com/resource?page=2>; rel="next",
<https://api.github.com/resource?page=5>; rel="last"
[
{
"type": "WatchEvent",
"public": true,
"payload": {
},
"repo": {
"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
提交评论已创建。 活动类型在有效负载对象的 action
属性中指定。 更多信息请参阅“提交评论”REST API。
事件对象 包含所有事件的通用属性。 每个事件对象都包含 payload
属性,并且该值对于每个事件类型而言都是唯一的。 此事件的 payload
对象如下所述。
Event payload
object
键 | 类型 | 描述 |
---|---|---|
action | 字符串 | 执行的操作。 可以是 created 。 |
注释,评论 | 对象 | 提交评论资源。 |
CreateEvent
Git 分支或标签已创建。 更多信息请参阅“Git 数据”REST API。
事件对象 包含所有事件的通用属性。 每个事件对象都包含 payload
属性,并且该值对于每个事件类型而言都是唯一的。 此事件的 payload
对象如下所述。
Event payload
object
键 | 类型 | 描述 |
---|---|---|
ref | 字符串 | The git ref 资源。 |
ref_type | 字符串 | 在仓库中创建的 Git ref 对象的类型。 可以是 branch 或 tag 。 |
master_branch | 字符串 | 仓库默认分支的名称(通常是 master )。 |
说明 | 字符串 | 仓库的当前描述。 |
DeleteEvent
Git 分支或标签已删除。 更多信息请参阅“Git 数据”REST API。
事件对象 包含所有事件的通用属性。 每个事件对象都包含 payload
属性,并且该值对于每个事件类型而言都是唯一的。 此事件的 payload
对象如下所述。
Event payload
object
键 | 类型 | 描述 |
---|---|---|
ref | 字符串 | The git ref 资源。 |
ref_type | 字符串 | 在仓库中删除的 Git ref 对象的类型。 可以是 branch 或 tag 。 |
ForkEvent
用户复刻仓库。 更多信息请参阅“复刻”REST API。
事件对象 包含所有事件的通用属性。 每个事件对象都包含 payload
属性,并且该值对于每个事件类型而言都是唯一的。 此事件的 payload
对象如下所述。
Event payload
object
键 | 类型 | 描述 |
---|---|---|
forkee | 对象 | 创建的 repository 资源。 |
GollumEvent
创建或更新 wiki 页面。 更多信息请参阅“关于 wikis”。
事件对象 包含所有事件的通用属性。 每个事件对象都包含 payload
属性,并且该值对于每个事件类型而言都是唯一的。 此事件的 payload
对象如下所述。
Event payload
object
键 | 类型 | 描述 |
---|---|---|
页面 | 数组 | 已更新的页面。 |
pages[][page_name] | 字符串 | 页面的名称。 |
pages[][title] | 字符串 | 当前页面标题。 |
pages[][action] | 字符串 | 在页面上执行的操作。 可以是 created 或 edited 。 |
pages[][sha] | 字符串 | 页面的最新提交 SHA。 |
pages[][html_url] | 字符串 | 指向 HTML wiki 页面。 |
IssueCommentEvent
与议题评论相关的活动。 活动类型在有效负载对象的 action
属性中指定。 更多信息请参阅“议题评论”REST API。
事件对象 包含所有事件的通用属性。 每个事件对象都包含 payload
属性,并且该值对于每个事件类型而言都是唯一的。 此事件的 payload
对象如下所述。
Event payload
object
键 | 类型 | 描述 |
---|---|---|
action | 字符串 | 在评论上执行的操作。 可以以下项之一:created 、edited 或 deleted 。 |
changes | object | 对评论的更改,如果操作为 edited 。 changes[body][from] |
IssuesEvent
与议题相关的活动。 活动类型在有效负载对象的 action
属性中指定。 更多信息请参阅“议题”REST API。
事件对象 包含所有事件的通用属性。 每个事件对象都包含 payload
属性,并且该值对于每个事件类型而言都是唯一的。 此事件的 payload
对象如下所述。
Event payload
object
键 | 类型 | 描述 |
---|---|---|
action | 字符串 | 执行的操作内容. 可以是以下项之一:opened 、closed 、reopened 、assigned 、unassigned 、labeled 或 unlabeled 。 |
issue | object | 议题本身。 changes |
MemberEvent
与仓库协作者相关的活动。 活动类型在有效负载对象的 action
属性中指定。 更多信息请参阅“协作者”REST API。
事件对象 包含所有事件的通用属性。 每个事件对象都包含 payload
属性,并且该值对于每个事件类型而言都是唯一的。 此事件的 payload
对象如下所述。
Event payload
object
键 | 类型 | 描述 |
---|---|---|
action | 字符串 | 执行的操作内容. 可以是 added 以指示用户接受了加入仓库的邀请。 |
member | object | 已添加的用户。 changes |
PublicEvent
当私有仓库公开时。 毫无疑问:最好的 GitHub Enterprise Server 事件。
Event payload
object
This event returns an empty payload
object.
PullRequestEvent
与拉取请求相关的活动。 活动类型在有效负载对象的 action
属性中指定。 更多信息请参阅“拉取请求”REST API。
事件对象 包含所有事件的通用属性。 每个事件对象都包含 payload
属性,并且该值对于每个事件类型而言都是唯一的。 此事件的 payload
对象如下所述。
Event payload
object
键 | 类型 | 描述 |
---|---|---|
action | 字符串 | 执行的操作内容. 可以是以下项之一:opened 、closed 、reopened 、assigned 、unassigned 、review_requested 、review_request_removed 、labeled 、unlabeled 和 synchronize 。 |
number | integer | 拉取请求编号。 changes |
PullRequestReviewCommentEvent
与拉取请求统一差异中的拉取请求审查评论相关的活动。 活动类型在有效负载对象的 action
属性中指定。 更多信息请参阅“拉取请求审查评论”REST API。
事件对象 包含所有事件的通用属性。 每个事件对象都包含 payload
属性,并且该值对于每个事件类型而言都是唯一的。 此事件的 payload
对象如下所述。
Event payload
object
键 | 类型 | 描述 |
---|---|---|
action | 字符串 | 在评论上执行的操作。 可以是 created 。 |
changes | object | 对评论的更改,如果操作为 edited 。 changes[body][from] |
PushEvent
一个或多个提交被推送到仓库分支或标记。
事件对象 包含所有事件的通用属性。 每个事件对象都包含 payload
属性,并且该值对于每个事件类型而言都是唯一的。 此事件的 payload
对象如下所述。
键 | 类型 | 描述 |
---|---|---|
push_id | 整数 | Unique identifier for the push. |
size | 整数 | The number of commits in the push. |
distinct_size | 整数 | The number of distinct commits in the push. |
ref | 字符串 | 被推送的完整 git ref 。 Example: refs/heads/main . |
头部 | 字符串 | 推送之后在 ref 上最近提交的 SHA。 |
before | 字符串 | 推送之前在 ref 上最近提交的 SHA。 |
commits | 数组 | 描述所推送提交的提交对象数组。 (该数组最多包含 20 个提交。 如有必要,可使用 Commits API 获取更多提交。 此限制仅适用于时间表事件,而不适用于 web 挂钩递送。) |
commits[][sha] | 字符串 | 提交的 SHA。 |
commits[][message] | 字符串 | 提交消息. |
commits[][author] | 对象 | 提交的 Git 作者。 |
commits[][author][name] | 字符串 | Git 作者的名称。 |
commits[][author][email] | 字符串 | Git 作者的电子邮件地址。 |
commits[][url] | url | 指向提交 API 资源的 URL。 |
commits[][distinct] | 布尔值 | 此提交是否与之前推送的任何提交不同。 |
ReleaseEvent
与发行版相关的活动。 活动类型在有效负载对象的 action
属性中指定。 更多信息请参阅“发行版”REST API。
事件对象 包含所有事件的通用属性。 每个事件对象都包含 payload
属性,并且该值对于每个事件类型而言都是唯一的。 此事件的 payload
对象如下所述。
Event payload
object
键 | 类型 | 描述 |
---|---|---|
action | 字符串 | 执行的操作内容. 可以是 published 。 |
changes[body][from] | string | 正文的前版本,如果操作为 edited 。 changes[name][from] |
WatchEvent
当有人标星仓库时。 活动类型在有效负载对象的 action
属性中指定。 更多信息请参阅“星标”REST API。
事件对象 包含所有事件的通用属性。 每个事件对象都包含 payload
属性,并且该值对于每个事件类型而言都是唯一的。 此事件的 payload
对象如下所述。
Event payload
object
键 | 类型 | 描述 |
---|---|---|
action | 字符串 | 执行的操作内容. 目前只能是 started 。 |