Skip to main content
Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais recentes, acesse a documentação em inglês. Se houver problemas com a tradução desta página, entre em contato conosco.

Esta versão do GitHub Enterprise foi descontinuada em 2022-06-03. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, melhorar a segurança e novos recursos, upgrade to the latest version of GitHub Enterprise. Para ajuda com a atualização, contact GitHub Enterprise support.

Usando a API do log de auditoria para a sua empresa

Você pode recuperar programaticamente eventos corporativos com a API REST API do GraphQL.

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

Usando a API do log de auditoria

Você pode interagir com o log de auditoria usando a API GraphQL.

Timestamps and date fields in the API response are measured in UTC epoch milliseconds.

Consultando o log auditoria da API do GraphQL

Para garantir que a sua propriedade intelectual esteja protegida e que você mantenha a conformidade para a sua empresa, você pode usar a API do GraphQL do log de auditoria para guardar cópias dos seus dados de log de auditoria e para monitorar:

  • O acesso às configurações da sua organização ou repositório
  • As alterações nas permissões
  • Os usuários adicionados ou removidos em uma organização, repositório ou equipe
  • Os usuários promovidos a administradores
  • Alterações nas permissões de um aplicativo GitHub

Observe que você não pode recuperar eventos do Git usando a API de registro de auditoria .

A resposta do GraphQL pode incluir dados por até 90 a 120 dias.

Exemplo 1: Integrantes adicionados ou removidos das organizações de uma empresa

A consulta abaixo busca os logs de auditoria da empresa avocado-corp e retorna as primeiras 10 organizações da empresa, em que as únicas ações realizadas estavam adicionando ou removendo um integrante de uma organização. As primeiras 20 entradas de logs de auditoria para cada organização são devolvidas.

Esta consulta usa o campo auditlog do objeto Organização, e os objetos OrgAddMemberAuditEntry e OrgRemoveMemberAuditEntry. A conta de GitHub que consultou o log de auditoria corporativa deve ser o proprietário de uma organização para cada organização dentro da empresa.

{
  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
      }
    }
  }
}

A API do GraphQL retornará, no máximo, 100 nós por consulta. Para recuperar resultados adicionais, você deve implementar a paginação. Para obter mais informações, consulte "limitações de recursos" na documentação da API do GraphQL e Paginação na documentação oficial do GraphQL.

Exemplo 2: Eventos de uma organização, para uma data e ator específicos

Você pode especificar várias frases de pesquisa, como criado e ator, separando-as na sua string de consulta com um espaço.

A consulta abaixo busca todos os logs de auditoria para o projeto avocado-corp que estão relacionados à organização octo-org, em que as ações foram realizadas pelo usuário do octocat em ou após 1 de janeiro de 2022. As primeiras 20 entradas do log de auditoria são retornadas, com a entrada de log mais recente aparecendo primeiro.

Essa consulta usa a interface AuditEntry. A conta de GitHub que consulta o log de auditoria corporativa deve ser um proprietário da organização 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
                }
              }
            }
          }
        }
      }
    }
  }
}

Para obter mais exemplos de consulta, veja o repositporio das amostras da plataforma.