使用审� �日志 API
您可以使用 GraphQL API 与审� �日志交互。
API 响应中的时间戳和日期字段以 UTC 纪元毫秒为单位进行度量。
查询审� �日志 GraphQL API
为确保知识产权得到保护并保持企业的合规,您可以使用审� �日志 GraphQL API 保留审� �日志数据的副本并监控:
- 对组织或仓库设置的访问
- 权限更改
- 组织、仓库或团队中添� 或� 除的用户
- 被提升为管理员的用户
- GitHub 应用程序 权限的更改
请注意,� 法使用 审� �日志 API
GraphQL 响应可包含长达 90 至 120 天的数据。
示例 1:在企业中的组织中添� 或� 除的成员
下面的查询获取 avocado-corp
企业的审� �日志,并返回企业中的前 10 个组织,其中执行的唯一操作是在组织中添� 或� 除成员。 将返回每个组织的前 20 个审� �日志条目。
此查询使用组织对象中的 auditlog 字段,以及 OrgAddMemberAuditEntry 和 OrgRemoveMemberAuditEntry 对象。 查询企业审� �日志的 GitHub 帐户必须是企业内每个组织的组织所有者。
{
enterprise(slug: "avocado-corp") {
organizations(first: 10, orderBy: {field: LOGIN, direction: DESC}) {
nodes {
name
auditLog(first: 20) {
edges {
node {
... on OrgAddMemberAuditEntry {
action
actorLogin
createdAt
}
... on OrgRemoveMemberAuditEntry {
action
actorLogin
createdAt
}
}
}
}
}
pageInfo {
hasNextPage
endCursor
}
}
}
}
GraphQL API 对每个查询最多返回 100 个节点。 要检索其他结果,需要实现分页。 更多信息请参阅 GraphQL API 文档中的“资源限制”和官方 GraphQL 文档中的分页。
示例 2:组织中特定日期和参与者的事件
您可以通过在查询字符串中用空� �分隔多个搜索短语( 如 created
和 actor
)来指定这些搜索短语。
下面的查询获取与 octo-org
组织相关的 avocado-corp
企业的所有审� �日志,其中操作由 octocat
用户在 2022 年 1 月 1 日当天或之后执行。 将返回前 20 个审� �日志条目,最新的日志条目首先显示。
此查询使用 AuditEntry 接口。 查询企业审� �日志的 GitHub 帐户必须是 octo-org
组织的所有者。
{
enterprise(slug: "avocado-corp") {
organizations(first: 1, query: "octo-org") {
nodes {
name
auditLog(first: 20, query: "actor:octocat created:>=2022-01-01T00:00:00.000Z", orderBy: {field: CREATED_AT, direction: DESC}) {
edges {
node {
... on AuditEntry {
action
actorLogin
createdAt
user {
name
}
}
}
}
}
}
}
}
}
有关更多查询示例,请参阅 platform-samples存储库。