此版本的 GitHub Enterprise 已停止服务 2021-09-23. 即使针对重大安全问题,也不会发布补丁。 要获得更好的性能、改进的安全性和新功能,请升级到 GitHub Enterprise 的最新版本。 如需升级方面的帮助,请联系 GitHub Enterprise 支持

GitHub 事件类型

对于 GitHub 事件 API,了解每个事件类型、GitHub 上的触发操作以及每个事件的唯一属性。

企业帐户可用于 GitHub Enterprise Cloud 和 GitHub Enterprise Server。

事件 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-worldoctocat 用户帐户拥有的 hello-world 仓库的名称。
repo.url用于检索仓库对象的 REST API URL,其中包括更多仓库信息。
payload事件有效负载对象对于事件类型是唯一的。 关于事件 API payload 对象,请参阅下面的事件类型。

WatchEvent 事件对象示例

此示例显示了使用事件 APIWatchEvent 响应的格式。

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": {
    },
    "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 对象的类型。 可以是 branchtag
master_branch字符串仓库默认分支的名称(通常是 master)。
说明字符串仓库的当前描述。

DeleteEvent

Git 分支或标签已删除。 更多信息请参阅“Git 数据”REST API。

事件对象 包含所有事件的通用属性。 每个事件对象都包含 payload 属性,并且该值对于每个事件类型而言都是唯一的。 此事件的 payload 对象如下所述。

事件 payload 对象

类型描述
ref字符串The git ref 资源。
ref_type字符串在仓库中删除的 Git ref 对象的类型。 可以是 branchtag

ForkEvent

用户复刻仓库。 更多信息请参阅“复刻”REST API。

事件对象 包含所有事件的通用属性。 每个事件对象都包含 payload 属性,并且该值对于每个事件类型而言都是唯一的。 此事件的 payload 对象如下所述。

事件 payload 对象

类型描述
forkee对象创建的 repository 资源。

GollumEvent

创建或更新 wiki 页面。 更多信息请参阅“关于 wikis”。

事件对象 包含所有事件的通用属性。 每个事件对象都包含 payload 属性,并且该值对于每个事件类型而言都是唯一的。 此事件的 payload 对象如下所述。

事件 payload 对象

类型描述
页面数组已更新的页面。
pages[][page_name]字符串页面的名称。
pages[][title]字符串当前页面标题。
pages[][action]字符串在页面上执行的操作。 可以是 creatededited
pages[][sha]字符串页面的最新提交 SHA。
pages[][html_url]字符串指向 HTML wiki 页面。

IssueCommentEvent

与议题或拉取请求评论相关的活动。 活动类型在有效负载对象的 action 属性中指定。 更多信息请参阅“议题评论”REST API。

事件对象 包含所有事件的通用属性。 每个事件对象都包含 payload 属性,并且该值对于每个事件类型而言都是唯一的。 此事件的 payload 对象如下所述。

事件 payload 对象

类型描述
action字符串在评论上执行的操作。 可以以下项之一:createdediteddeleted
changesobject对评论的更改,如果操作为 editedchanges[body][from]

IssuesEvent

与议题相关的活动。 活动类型在有效负载对象的 action 属性中指定。 更多信息请参阅“议题”REST API。

事件对象 包含所有事件的通用属性。 每个事件对象都包含 payload 属性,并且该值对于每个事件类型而言都是唯一的。 此事件的 payload 对象如下所述。

事件 payload 对象

类型描述
action字符串执行的操作内容. 可以是以下项之一:openedclosedreopenedassignedunassignedlabeledunlabeled
issueobject议题本身。 changes

MemberEvent

与仓库协作者相关的活动。 活动类型在有效负载对象的 action 属性中指定。 更多信息请参阅“协作者”REST API。

事件对象 包含所有事件的通用属性。 每个事件对象都包含 payload 属性,并且该值对于每个事件类型而言都是唯一的。 此事件的 payload 对象如下所述。

事件 payload 对象

类型描述
action字符串执行的操作内容. 可以是 added 以指示用户接受了加入仓库的邀请。
memberobject已添加的用户changes

PublicEvent

当私有仓库公开时。 毫无疑问:最好的 GitHub Enterprise Server 事件。

事件 payload 对象

此事件返回一个空 payload 对象。

PullRequestEvent

与拉取请求相关的活动。 活动类型在有效负载对象的 action 属性中指定。 更多信息请参阅“拉取请求”REST API。

事件对象 包含所有事件的通用属性。 每个事件对象都包含 payload 属性,并且该值对于每个事件类型而言都是唯一的。 此事件的 payload 对象如下所述。

事件 payload 对象

类型描述
action字符串执行的操作内容. 可以是以下项之一:openedclosedreopenedassignedunassignedreview_requestedreview_request_removedlabeledunlabeledsynchronize
numberinteger拉取请求编号。 changes

PullRequestReviewEvent

与拉取请求审查相关的活动。 活动类型在有效负载对象的 action 属性中指定。 更多信息请参阅“拉取请求审查”REST API。

事件对象 包含所有事件的通用属性。 每个事件对象都包含 payload 属性,并且该值对于每个事件类型而言都是唯一的。 此事件的 payload 对象如下所述。

事件 payload 对象

类型描述
action字符串执行的操作内容. 可以是 created
pull_request对象与审查相关的拉取请求。
审查对象受影响的审查。

PullRequestReviewCommentEvent

与拉取请求统一差异中的拉取请求审查评论相关的活动。 活动类型在有效负载对象的 action 属性中指定。 更多信息请参阅“拉取请求审查评论”REST API。

事件对象 包含所有事件的通用属性。 每个事件对象都包含 payload 属性,并且该值对于每个事件类型而言都是唯一的。 此事件的 payload 对象如下所述。

事件 payload 对象

类型描述
action字符串在评论上执行的操作。 可以是 created
changesobject对评论的更改,如果操作为 editedchanges[body][from]

PushEvent

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

事件对象 包含所有事件的通用属性。 每个事件对象都包含 payload 属性,并且该值对于每个事件类型而言都是唯一的。 此事件的 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正文的前版本,如果操作为 editedchanges[name][from]

WatchEvent

当有人标星仓库时。 活动类型在有效负载对象的 action 属性中指定。 更多信息请参阅“星标”REST API。

事件对象 包含所有事件的通用属性。 每个事件对象都包含 payload 属性,并且该值对于每个事件类型而言都是唯一的。 此事件的 payload 对象如下所述。

事件 payload 对象

类型描述
action字符串执行的操作内容. 目前只能是 started