Skip to main content

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

使用企业的审核日志 API

您可以使用 GraphQL API 以编程方式检索企业事件。

Enterprise owners and site administrators can use the audit log API.

使用审核日志 API

您可以使用 GraphQL API 与审核日志交互。

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

查询审核日志 GraphQL API

为确保知识产权得到保护并保持企业的合规,您可以使用审核日志 GraphQL API 保留审核日志数据的副本并监控:

  • 对组织或仓库设置的访问
  • 权限更改
  • 组织、仓库或团队中添加或删除的用户
  • 被提升为管理员的用户
  • GitHub 应用程序 权限的更改

请注意,无法使用 审核日志 API

GraphQL 响应可包含长达 90 至 120 天的数据。

示例 1:在企业中的组织中添加或删除的成员

下面的查询获取 avocado-corp 企业的审核日志,并返回企业中的前 10 个组织,其中执行的唯一操作是在组织中添加或删除成员。 将返回每个组织的前 20 个审核日志条目。

此查询使用组织对象中的 auditlog 字段,以及 OrgAddMemberAuditEntryOrgRemoveMemberAuditEntry 对象。 查询企业审核日志的 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:组织中特定日期和参与者的事件

您可以通过在查询字符串中用空格分隔多个搜索短语( 如 createdactor)来指定这些搜索短语。

下面的查询获取与 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存储库