Skip to main content

在企业中使用审核日志 API

了解如何使用 REST API 以编程方式检索企业事件。

谁可以使用此功能?

Enterprise owners

注意

在特定用例中,Webhook 可能是审核日志或 API 轮询的良好替代方法。 Webhook 是一种 GitHub 在存储库、组织或企业发生特定事件时通知服务器的方法。 与 API 或搜索审核日志相比,如果只想了解企业、组织或存储库何时发生某些事件并进行相应记录,Webhook 效率更高。 请参阅“Webhooks 文档”。

使用与审核日志相关的终端来保持合规性并确保知识产权安全。 请参阅“AUTOTITLE”和“AUTOTITLE”。

有关可以通过审核日志终结点访问的特定事件的详细信息,请参阅下面的文章。

  • 自动标题
  • 自动标题
  • 自动标题

审核日志详细信息

审核日志列出了由影响企业的活动触发的事件过去 180 天内的审核日志。 审核日志将 Git 事件保留七天。

默认情况下,仅显示过去三个月的事件。 若要查看较旧的事件,必须使用 created 参数指定日期范围。 请参阅“了解搜索语法”。

API 响应中的时间戳和日期字段以 UTC epoch 毫秒为度量单位。

你可以使用 范围通过 API 访问审核日志。

速率限制

对于给定的用户和 IP 地址组合,每个审核日志 API 终结点的速率限制为每小时 1,750 次查询。 为了避免速率限制,查询审核日志 API 的集成应以每小时 1,750 次查询的最大频率进行查询。 此外,如果集成收到速率限制错误(通常是 403 或 429 响应),则应等待,然后再向 API 发出另一个请求。 请参阅 AUTOTITLE 和 AUTOTITLE。

示例 1:企业中在特定日期的所有事件(使用分页显示)

可以使用基于游标的分页。 有关分页的详细信息,请参阅 AUTOTITLE。

以下查询搜索企业中于 2022 年 1 月 1 日创建的审核日志事件,并通过分页返回第一页,每页最多包含 100 条。 有关分页的详细信息,请参阅 AUTOTITLE。 标志会导致返回的响应中包含标头。

curl --include -H "Authorization: Bearer TOKEN" \
--request GET \
"https://api.github.com/enterprises/avocado-corp/audit-log?phrase=created:2022-01-01&per_page=100"

如果结果超过 100 个,则 标头将包含用于提取下一页、第一页和上一页结果的 URL。

link: <https://api.github.com/enterprises/13827/audit-log?phrase%3A2022-11-01=&per_page=100&after=MS42NjQzODMzNTk5MjdlKzEyfDloQzBxdURzaFdVbVlLWjkxRU9mNXc%3D&before=>; rel="next",
<https://api.github.com/enterprises/13827/audit-log?phrase%3A2022-11-01=&per_page=100&after=&before=>; rel="first",
<https://api.github.com/enterprises/13827/audit-log?phrase%3A2022-11-01=&per_page=100&after=&before=MS42Njc4NDA2MjM4MzNlKzEyfExqeG5sUElvNEZMbG1XZHA5akdKTVE%3D>; rel="prev"

将相应的分页链接复制到下一个请求中。 例如:

curl -I -H "Authorization: Bearer TOKEN" \
--request GET \
"https://api.github.com/enterprises/13827/audit-log?phrase%3A2022-11-01=&per_page=100&after=MS42Njc4NDA2MjM5NDFlKzEyfHRYa3AwSkxUd2xyRjA5bWxfOS1RbFE%3D&before="

示例 2:组织中在特定日期参与者参与的拉取请求事件

你可以指定多个搜索短语(例如 和 ),具体方法是在 URL 格式中用 符号或 ASCII 字符代码 分隔它们。

以下查询搜索 企业中拉取请求的审核日志事件,其中事件发生在 2022 年 1 月 1 日或之后,操作由 用户执行:

curl -H "Authorization: Bearer TOKEN" \
--request GET \
"https://api.github.com/enterprises/avocado-corp/audit-log?phrase=action:pull_request+created:>=2022-01-01+actor:octocat"

示例 3:企业中特定日期和执行者的 Git 活动事件

通过在 URL 中添加特定参数,可以搜索企业内部的 Git 事件,例如克隆、拉取和推送。 此外也可以使用 来搜索 Web 事件和 Git 事件。

以下查询将搜索 企业中发生在 2024 年 1 月 1 日之后,并且操作由 用户执行的 Git 活动审核日志事件。

curl -H "Authorization: Bearer TOKEN" \
--request GET \
"https://api.github.com/enterprises/avocado-corp/audit-log?phrase=created:>=2024-01-01+actor:octocat&include=git"