使用审核日志 API
可以使用 REST API 与审核日志进行交互。
API 响应中的时间戳和日期字段以 UTC epoch 毫秒为度量单位。
为确保知识产权得到保护并让企业保持合规,可使用审核日志 REST API 保留审核日志数据的副本并监视:- 对你的组织或存储库设置的访问
- 权限的更改
- 在组织、存储库或团队中添加或删除的用户
- 被提升为管理员的用户
- GitHub App
审核日志列出了由影响企业的活动触发的事件。 GitHub AE 的审核日志将无限期保留,除非企业所有者配置了不同的保留期。 有关详细信息,请参阅本月和前六个月内的“为企业配置审核日志”
默认情况下,仅显示过去三个月的事件。 若要查看较旧的事件,必须使用 created
参数指定日期范围。 有关详细信息,请参阅“了解搜索语法”。
有关审核日志 REST API 的详细信息,请参阅“GitHub Enterprise 管理”和“组织”。
示例 1:企业中在特定日期的所有事件(使用分页显示)
可以使用基于游标的分页。 有关分页的详细信息,请参阅“在 REST API 中使用分页”。
以下查询搜索 avocado-corp
企业中于 2022 年 1 月 1 日创建的审核日志事件,并使用分页返回第一页,每页最多包含 100 个项。 有关分页的详细信息,请参阅“在 REST API 中使用分页”。 --include
标志会导致返回的响应中包含标头。
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 个,则 link
标头将包含用于提取下一页、第一页和上一页结果的 URL。
link: <https://api.github.com/enterprises/13827/audit-log?%3A2022-11-01=&per_page=100&after=MS42NjQzODMzNTk5MjdlKzEyfDloQzBxdURzaFdVbVlLWjkxRU9mNXc%3D&before=>; rel="next",
<https://api.github.com/enterprises/13827/audit-log?%3A2022-11-01=&per_page=100&after=&before=>; rel="first",
<https://api.github.com/enterprises/13827/audit-log?%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?%3A2022-11-01=&per_page=100&after=MS42Njc4NDA2MjM5NDFlKzEyfHRYa3AwSkxUd2xyRjA5bWxfOS1RbFE%3D&before="
示例 2:组织中在特定日期参与者参与的拉取请求事件
你可以指定多个搜索短语(例如 created
和 actor
),具体方法是在 URL 格式中用 +
符号或 ASCII 字符代码 %20
分隔它们。
以下查询搜索 avocado-corp
企业中拉取请求的审核日志事件,其中事件发生在 2022 年 1 月 1 日或之后,操作由 octocat
用户执行:
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"