跳至主要内容

GitHub 事件类型

对于 GitHub Events API,了解每种事件类型、在 GitHub 上触发的操作,以及每个事件的独有属性。

Events API 可以返回因 GitHub 活动触发的不同类型的事件。每个事件响应都包含共享属性,但其 payload 对象会依据事件类型而异。事件对象通用属性 描述了所有事件共享的属性,而每种事件类型则描述了该事件特有的 payload 属性。

事件对象通用属性

从 Events API 端点返回的事件对象具有相同的结构。

事件 API 属性名称类型描述
idinteger事件的唯一标识符。
typestring事件类型。事件名称使用 PascalCase(大驼峰)格式。
actorobject触发该事件的用户。
actor.idinteger演员(actor)的唯一标识符。
actor.loginstring参与者的用户名。
actor.display_loginstring用户名的特定显示格式。
actor.gravatar_idstring演员的 Gravatar 个人资料的唯一标识符。
actor.urlstring用于获取用户对象的 REST API URL,其中包含额外的用户信息。
actor.avatar_urlstring演员头像的 URL。
repoobject事件发生的仓库对象。
repo.idinteger仓库的唯一标识符。
repo.namestring仓库的名称,包括所有者和仓库名。例如,octocat/hello-worldoctocat 个人账户拥有的 hello-world 仓库的名称。
repo.urlstring用于获取仓库对象的 REST API URL,其中包含额外的仓库信息。
payloadobject事件的 payload 对象因事件类型而异。请参见下方各事件类型的事件 API payload 对象。
publicboolean事件是否对所有用户可见。
created_atstring触发事件的日期和时间,采用 ISO 8601 格式。
orgobject演员为触发事件而选择的组织。
仅当适用时,此属性才会出现在事件对象中。
org.idinteger组织的唯一标识符。
org.loginstring组织的名称。
org.gravatar_idstring组织的 Gravatar 个人资料的唯一标识符。
org.urlstring用于获取组织对象的 REST API URL,其中包含额外的组织信息。
org.avatar_urlstring组织头像的 URL。

WatchEvent 示例事件对象

此示例展示了使用 Events API 时 WatchEvent 响应的格式。

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

CommitCommentEvent

创建了提交评论。活动类型在 payload 对象的 action 属性中指定。更多信息,请参见提交评论的 REST API 端点。

事件对象 包含所有事件通用的属性。每个事件对象都包含一个 payload 属性,其值因事件类型而唯一。下面描述了此事件的 payload 对象。

CommitCommentEvent 的 payload 对象

类型描述
actionstring执行的操作。可以是 created
commentobject提交评论资源。

CreateEvent

创建了 Git 分支或标签。更多信息,请参见 Git 数据库的 REST API 端点。

事件对象 包含所有事件通用的属性。每个事件对象都包含一个 payload 属性,其值因事件类型而唯一。下面描述了此事件的 payload 对象。

CreateEvent 的 payload 对象

类型描述
ref (引用)stringGit ref 资源分支,若 ref_typerepository 则为 null
ref_typestring在仓库中创建的 Git 引用对象类型。可能为 branch(分支)、tag(标签)或 repository(仓库)。
full_refstring完整的引用资源,对于分支,其格式为 refs/heads/<branch_name>
master_branchstring仓库默认分支的名称(通常为 main)。
descriptionstring仓库的当前描述。
pusher_typestring可以是 user(用户)或部署钥匙。

DeleteEvent

删除了 Git 分支或标签。更多信息,请参见 Git 数据库的 REST API 端点。

事件对象 包含所有事件通用的属性。每个事件对象都包含一个 payload 属性,其值因事件类型而唯一。下面描述了此事件的 payload 对象。

DeleteEvent 的 payload 对象

类型描述
ref (引用)stringGit ref 资源分支。
ref_typestring在仓库中删除的 Git 引用对象类型。可以是 branch(分支)或 tag(标签)。
full_refstring完整的引用资源,对于分支,其格式为 refs/heads/<branch_name>
pusher_typestring可以是 user(用户)或部署钥匙。

DiscussionEvent

在仓库中创建了讨论。更多信息,请参见 GitHub Discussions 文档。

事件对象 包含所有事件通用的属性。每个事件对象都包含一个 payload 属性,其值因事件类型而唯一。下面描述了此事件的 payload 对象。

DiscussionEvent 的 payload 对象

类型描述
actionstring执行的操作。可以是 created
discussionobject已创建的讨论。

ForkEvent

用户 fork 了仓库。更多信息,请参见仓库的 REST API 端点。

事件对象 包含所有事件通用的属性。每个事件对象都包含一个 payload 属性,其值因事件类型而唯一。下面描述了此事件的 payload 对象。

ForkEvent 的 payload 对象

类型描述
actionstring执行的操作。可能为 forked
forkeeobject创建的 repository(仓库)资源。

GollumEvent

创建或更新了 wiki 页面。更多信息,请参见关于 wiki 的文档。

事件对象 包含所有事件通用的属性。每个事件对象都包含一个 payload 属性,其值因事件类型而唯一。下面描述了此事件的 payload 对象。

GollumEvent 的 payload 对象

类型描述
pages数组 (array)已更新的页面。
pages[][page_name]string页面名称。
pages[][title]string当前页面标题。
pages[][summary]string页面的可选备注。可以为 null
pages[][action]string对页面执行的操作。可以是 created(创建)或 edited(编辑)。
pages[][sha]string页面最新提交的 SHA。
pages[][html_url]string指向 HTML wiki 页面。

IssueCommentEvent

与 issue 或 pull request 评论相关的活动。活动类型在 payload 对象的 action 属性中指定。更多信息,请参见 issue 的 REST API 端点。

事件对象 包含所有事件通用的属性。每个事件对象都包含一个 payload 属性,其值因事件类型而唯一。下面描述了此事件的 payload 对象。

IssueCommentEvent 的 payload 对象

类型描述
actionstring对评论执行的操作。可以是 created(创建)。
议题object评论所属的 issue。
commentobject评论本身。

IssuesEvent

与 issue 相关的活动。活动类型在 payload 对象的 action 属性中指定。更多信息,请参见 issue 的 REST API 端点。

事件对象 包含所有事件通用的属性。每个事件对象都包含一个 payload 属性,其值因事件类型而唯一。下面描述了此事件的 payload 对象。

IssuesEvent 的 payload 对象

类型描述
actionstring执行的操作。可以是 opened(打开)、closed(关闭)或 reopened(重新打开)。
议题objectissue 本身。
assigneeobject被指派或取消指派的可选用户。
指派人数组 (array)描述 issue 上指派者的可选 assignee 对象数组。
labelobject在 issue 上添加或移除的可选标签。
labels数组 (array)描述 issue 上标签的可选标签对象数组。

MemberEvent

与仓库协作者相关的活动。活动类型在 payload 对象的 action 属性中指定。更多信息,请参见协作者的 REST API 端点。

事件对象 包含所有事件通用的属性。每个事件对象都包含一个 payload 属性,其值因事件类型而唯一。下面描述了此事件的 payload 对象。

MemberEvent 的 payload 对象

类型描述
actionstring执行的操作。可以是 added,表示用户接受了对仓库的邀请。
memberobject被添加的用户。

PublicEvent

私有仓库变为公开时。

PublicEvent 的 payload 对象

此事件返回空的 payload 对象。

PullRequestEvent

与 pull request 相关的活动。活动类型在 payload 对象的 action 属性中指定。更多信息,请参见 pull request 的 REST API 端点。

事件对象 包含所有事件通用的属性。每个事件对象都包含一个 payload 属性,其值因事件类型而唯一。下面描述了此事件的 payload 对象。

PullRequestEvent 的 payload 对象

类型描述
actionstring执行的操作。可以是 opened(打开)、closed(关闭)、merged(合并)、reopened(重新打开)、assigned(指派)、unassigned(取消指派)、labeled(加标签)或 unlabeled(去标签)。
numberinteger拉取请求编号。
拉取请求objectpull request 本身。
assigneeobject被指派或取消指派的可选用户。
指派人数组 (array)描述 issue 上指派者的可选 assignee 对象数组。
labelobject如果操作为 labeledunlabeled,则为在 issue 上添加或移除的可选标签。
labels数组 (array)如果操作为 labeledunlabeled,则为描述 pull request 上标签的可选标签对象数组。

PullRequestReviewEvent

与 pull request 审查相关的活动。活动类型在 payload 对象的 action 属性中指定。更多信息,请参见 pull request 的 REST API 端点。

事件对象 包含所有事件通用的属性。每个事件对象都包含一个 payload 属性,其值因事件类型而唯一。下面描述了此事件的 payload 对象。

PullRequestReviewEvent 的 payload 对象

类型描述
actionstring执行的操作。可以是 created(创建)、updated(更新)或 dismissed(驳回)。
拉取请求object该审查所属的 pull request。
reviewobject受影响的审查。

PullRequestReviewCommentEvent

与 pull request 合并差异(unified diff)中的审查评论相关的活动。活动类型在 payload 对象的 action 属性中指定。更多信息,请参见 pull request 的 REST API 端点。

事件对象 包含所有事件通用的属性。每个事件对象都包含一个 payload 属性,其值因事件类型而唯一。下面描述了此事件的 payload 对象。

PullRequestReviewCommentEvent 的 payload 对象

类型描述
actionstring对评论执行的操作。可以是 created(创建)。
拉取请求object评论所属的 pull request。
commentobject评论本身。

PushEvent

一个或多个提交被推送到仓库的分支或标签。

事件对象 包含所有事件通用的属性。每个事件对象都包含一个 payload 属性,其值因事件类型而唯一。下面描述了此事件的 payload 对象。

PushEvent 的 payload 对象

类型描述
repository_idinteger推送发生的仓库的唯一标识符。
push_idinteger推送的唯一标识符。
ref (引用)string完整的被推送的 git ref。例如:refs/heads/main
headstring推送后 ref 上最新提交的 SHA。
beforestring推送前 ref 上最新提交的 SHA。

ReleaseEvent

与发布(release)相关的活动。活动类型在 payload 对象的 action 属性中指定。更多信息,请参见发布及发布资产的 REST API 端点。

事件对象 包含所有事件通用的属性。每个事件对象都包含一个 payload 属性,其值因事件类型而唯一。下面描述了此事件的 payload 对象。

ReleaseEvent 的 payload 对象

类型描述
actionstring执行的操作。可以是 published(已发布)。
发布objectrelease 对象。

WatchEvent

有人为仓库加星(star)时。活动类型在 payload 对象的 action 属性中指定。更多信息,请参见活动的 REST API 端点。

事件对象 包含所有事件通用的属性。每个事件对象都包含一个 payload 属性,其值因事件类型而唯一。下面描述了此事件的 payload 对象。

WatchEvent 的 payload 对象

类型描述
actionstring执行的操作。目前只能是 started(已开始)。
© . This site is unofficial and not affiliated with GitHub, Inc.