事件 API 可以返回 GitHub 上的活动触发的不同类型事件。 每个时间响应包含共享属性,但具有由其事件类型确定的唯一 payload
对象。 事件对象公共属性描述所有事件共享的属性,而每个事件类型描述特定事件唯一的 payload
属性。
事件对象公共属性
从事件 API 端点返回的事件对象具有相同的结构。
事件 API 属性名称 | 描述 |
---|---|
id | 事件的唯一标识符。 |
type | 事件的类型。 事件使用 PascalCase 作为名称。 |
actor | 触发事件的用户。 |
actor.id | 执行者的唯一标识符。 |
actor.login | 执行者的用户名。 |
actor.display_login | 用户名的特定显示格式。 |
actor.gravatar_id | 执行者的 Gravatar 个人资料的唯一标识符。 |
actor.url | 用于检索用户对象的 REST API URL,其中包括更多用户信息。 |
actor.avatar_url | 执行者个人资料图像的 URL。 |
repo | 发生事件的仓库对象。 |
repo.id | 仓库的唯一标识符。 |
repo.name | 仓库名称,包括所有者和仓库的名称。 例如,octocat/hello-world 是 octocat 用户帐户拥有的 hello-world 仓库的名称。 |
repo.url | 用于检索仓库对象的 REST API URL,其中包括更多仓库信息。 |
payload | 事件有效负载对象对于事件类型是唯一的。 关于事件 API payload 对象,请参阅下面的事件类型。 |
WatchEvent 事件对象示例
此示例显示了使用事件 API 时 WatchEvent 响应的格式。
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
对象如下所述。
事件 payload
对象
键 | 类型 | 描述 |
---|---|---|
action | 字符串 | 执行的操作。 可以是 created 。 |
注释,评论 | 对象 | 提交评论资源。 |
CreateEvent
Git 分支或标签已创建。 更多信息请参阅“Git 数据”REST API。
事件对象 包含所有事件的通用属性。 每个事件对象都包含 payload
属性,并且该值对于每个事件类型而言都是唯一的。 此事件的 payload
对象如下所述。
事件 payload
对象
键 | 类型 | 描述 |
---|---|---|
ref | 字符串 | The git ref 资源。 |
ref_type | 字符串 | 在仓库中创建的 Git ref 对象的类型。 可以是 branch 或 tag 。 |
master_branch | 字符串 | 仓库默认分支的名称(通常是 master )。 |
说明 | 字符串 | 仓库的当前描述。 |
DeleteEvent
Git 分支或标签已删除。 更多信息请参阅“Git 数据”REST API。
事件对象 包含所有事件的通用属性。 每个事件对象都包含 payload
属性,并且该值对于每个事件类型而言都是唯一的。 此事件的 payload
对象如下所述。
事件 payload
对象
键 | 类型 | 描述 |
---|---|---|
ref | 字符串 | The git ref 资源。 |
ref_type | 字符串 | 在仓库中删除的 Git ref 对象的类型。 可以是 branch 或 tag 。 |
ForkEvent
用户复刻仓库。 更多信息请参阅“复刻”REST API。
事件对象 包含所有事件的通用属性。 每个事件对象都包含 payload
属性,并且该值对于每个事件类型而言都是唯一的。 此事件的 payload
对象如下所述。
事件 payload
对象
键 | 类型 | 描述 |
---|---|---|
forkee | 对象 | 创建的 repository 资源。 |
GollumEvent
创建或更新 wiki 页面。 更多信息请参阅“关于 wikis”。
事件对象 包含所有事件的通用属性。 每个事件对象都包含 payload
属性,并且该值对于每个事件类型而言都是唯一的。 此事件的 payload
对象如下所述。
事件 payload
对象
键 | 类型 | 描述 |
---|---|---|
页面 | 数组 | 已更新的页面。 |
pages[][page_name] | 字符串 | 页面的名称。 |
pages[][title] | 字符串 | 当前页面标题。 |
pages[][action] | 字符串 | 在页面上执行的操作。 可以是 created 或 edited 。 |
pages[][sha] | 字符串 | 页面的最新提交 SHA。 |
pages[][html_url] | 字符串 | 指向 HTML wiki 页面。 |
IssueCommentEvent
与议题评论相关的活动。 活动类型在有效负载对象的 action
属性中指定。 更多信息请参阅“议题评论”REST API。
事件对象 包含所有事件的通用属性。 每个事件对象都包含 payload
属性,并且该值对于每个事件类型而言都是唯一的。 此事件的 payload
对象如下所述。
事件 payload
对象
键 | 类型 | 描述 |
---|---|---|
action | 字符串 | 在评论上执行的操作。 可以以下项之一:created 、edited 或 deleted 。 |
changes | object | 对评论的更改,如果操作为 edited 。 changes[body][from] |
IssuesEvent
与议题相关的活动。 活动类型在有效负载对象的 action
属性中指定。 更多信息请参阅“议题”REST API。
事件对象 包含所有事件的通用属性。 每个事件对象都包含 payload
属性,并且该值对于每个事件类型而言都是唯一的。 此事件的 payload
对象如下所述。
事件 payload
对象
键 | 类型 | 描述 |
---|---|---|
action | 字符串 | 执行的操作内容. 可以是以下项之一:opened 、closed 、reopened 、assigned 、unassigned 、labeled 或 unlabeled 。 |
issue | object | 议题本身。 changes |
MemberEvent
与仓库协作者相关的活动。 活动类型在有效负载对象的 action
属性中指定。 更多信息请参阅“协作者”REST API。
事件对象 包含所有事件的通用属性。 每个事件对象都包含 payload
属性,并且该值对于每个事件类型而言都是唯一的。 此事件的 payload
对象如下所述。
事件 payload
对象
键 | 类型 | 描述 |
---|---|---|
action | 字符串 | 执行的操作内容. 可以是 added 以指示用户接受了加入仓库的邀请。 |
member | object | 已添加的用户。 changes |
PublicEvent
当私有仓库公开时。 毫无疑问:最好的 GitHub Enterprise Server 事件。
事件 payload
对象
此事件返回一个空 payload
对象。
PullRequestEvent
与拉取请求相关的活动。 活动类型在有效负载对象的 action
属性中指定。 更多信息请参阅“拉取请求”REST API。
事件对象 包含所有事件的通用属性。 每个事件对象都包含 payload
属性,并且该值对于每个事件类型而言都是唯一的。 此事件的 payload
对象如下所述。
事件 payload
对象
键 | 类型 | 描述 |
---|---|---|
action | 字符串 | 执行的操作内容. 可以是以下项之一:opened 、closed 、reopened 、assigned 、unassigned 、review_requested 、review_request_removed 、labeled 、unlabeled 和 synchronize 。 |
number | integer | 拉取请求编号。 changes |
PullRequestReviewCommentEvent
与拉取请求统一差异中的拉取请求审查评论相关的活动。 活动类型在有效负载对象的 action
属性中指定。 更多信息请参阅“拉取请求审查评论”REST API。
事件对象 包含所有事件的通用属性。 每个事件对象都包含 payload
属性,并且该值对于每个事件类型而言都是唯一的。 此事件的 payload
对象如下所述。
事件 payload
对象
键 | 类型 | 描述 |
---|---|---|
action | 字符串 | 在评论上执行的操作。 可以是 created 。 |
changes | object | 对评论的更改,如果操作为 edited 。 changes[body][from] |
PushEvent
一个或多个提交被推送到仓库分支或标记。
事件对象 包含所有事件的通用属性。 每个事件对象都包含 payload
属性,并且该值对于每个事件类型而言都是唯一的。 此事件的 payload
对象如下所述。
键 | 类型 | 描述 |
---|---|---|
push_id | 整数 | 推送的唯一标识符。 |
size | 整数 | 推送中的提交数。 |
distinct_size | 整数 | 推送中不同提交的数量。 |
ref | 字符串 | 被推送的完整 git ref 。 例如:refs/heads/main 。 |
头部 | 字符串 | 推送之后在 ref 上最近提交的 SHA。 |
before | 字符串 | 推送之前在 ref 上最近提交的 SHA。 |
commits | 数组 | 描述所推送提交的提交对象数组。 (该数组最多包含 20 个提交。 如有必要,可使用提交 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
对象如下所述。
事件 payload
对象
键 | 类型 | 描述 |
---|---|---|
action | 字符串 | 执行的操作内容. 可以是 published 。 |
changes[body][from] | string | 正文的前版本,如果操作为 edited 。 changes[name][from] |
WatchEvent
当有人标星仓库时。 活动类型在有效负载对象的 action
属性中指定。 更多信息请参阅“星标”REST API。
事件对象 包含所有事件的通用属性。 每个事件对象都包含 payload
属性,并且该值对于每个事件类型而言都是唯一的。 此事件的 payload
对象如下所述。
事件 payload
对象
键 | 类型 | 描述 |
---|---|---|
action | 字符串 | 执行的操作内容. 目前只能是 started 。 |