Skip to main content

This version of GitHub Enterprise was discontinued on 2022-06-03. No patch releases will be made, even for critical security issues. For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise. For help with the upgrade, contact GitHub Enterprise support.

Reviewing the audit log for your organization

The audit log allows organization admins to quickly review the actions performed by members of your organization. It includes details such as who performed the action, what the action was, and when it was performed.

Accessing the audit log

The audit log lists events triggered by activities that affect your organization within the current month and previous six months. Only owners can access an organization's audit log.

By default, only events from the past three months are displayed. To view older events, you must specify a date range with the created parameter. For more information, see "Understanding the search syntax."

  1. In the top right corner of GitHub Enterprise Server, click your profile photo, then click Your organizations. Your organizations in the profile menu

  2. Next to the organization, click Settings. The settings button

  3. In the Settings sidebar, click Audit log. Org audit log settings in sidebar

Searching the audit log

The name for each audit log entry is composed of the action object or category qualifier, followed by an operation type. For example, the repo.create entry refers to the create operation on the repo category.

Each audit log entry shows applicable information about an event, such as:

  • The enterprise or organization an action was performed in
  • The user (actor) who performed the action
  • The user affected by the action
  • Which repository an action was performed in
  • The action that was performed
  • Which country the action took place in
  • The date and time the action occurred

Note that you cannot search for entries using text. You can, however, construct search queries using a variety of filters. Many operators used when querying the log, such as -, >, or <, match the same format as searching across GitHub Enterprise Server. For more information, see "Searching on GitHub."

Search based on operation

Use the operation qualifier to limit actions to specific types of operations. For example:

  • operation:access finds all events where a resource was accessed.
  • operation:authentication finds all events where an authentication event was performed.
  • operation:create finds all events where a resource was created.
  • operation:modify finds all events where an existing resource was modified.
  • operation:remove finds all events where an existing resource was removed.
  • operation:restore finds all events where an existing resource was restored.
  • operation:transfer finds all events where an existing resource was transferred.

Search based on repository

Use the repo qualifier to limit actions to a specific repository. For example:

  • repo:my-org/our-repo finds all events that occurred for the our-repo repository in the my-org organization.
  • repo:my-org/our-repo repo:my-org/another-repo finds all events that occurred for both the our-repo and another-repo repositories in the my-org organization.
  • -repo:my-org/not-this-repo excludes all events that occurred for the not-this-repo repository in the my-org organization.

Note that you must include the account name within the repo qualifier; searching for just repo:our-repo will not work.

Search based on the user

The actor qualifier can scope events based on who performed the action. For example:

  • actor:octocat finds all events performed by octocat.
  • actor:octocat actor:hubot finds all events performed by both octocat and hubot.
  • -actor:hubot excludes all events performed by hubot.

Note that you can only use a GitHub Enterprise Server username, not an individual's real name.

Search based on the action performed

To search for specific events, use the action qualifier in your query. Actions listed in the audit log are grouped within the following categories:

Category nameDescription
discussion_postContains all activities related to discussions posted to a team page.
discussion_post_replyContains all activities related to replies to discussions posted to a team page.
enterpriseContains activities related to enterprise settings.
hookContains all activities related to webhooks.
integration_installation_requestContains all activities related to organization member requests for owners to approve integrations for use in the organization.
issueContains activities related to deleting an issue.
members_can_create_pagesContains all activities related to managing the publication of GitHub Pages sites for repositories in the organization. For more information, see "Managing the publication of GitHub Pages sites for your organization."
orgContains activities related to organization membership.
organization_labelContains all activities related to default labels for repositories in your organization.
oauth_applicationContains all activities related to OAuth Apps.
packagesContains all activities related to GitHub Packages.
profile_pictureContains all activities related to your organization's profile picture.
projectContains all activities related to project boards.
protected_branchContains all activities related to protected branches.
repoContains activities related to the repositories owned by your organization.
repository_secret_scanningContains repository-level activities related to secret scanning. For more information, see "About secret scanning."
repository_vulnerability_alertContains all activities related to Dependabot alerts.
secret_scanningContains organization-level configuration activities for secret scanning in existing repositories. For more information, see "About secret scanning."
secret_scanning_new_reposContains organization-level configuration activities for secret scanning for new repositories created in the organization.
teamContains all activities related to teams in your organization.
team_discussionsContains activities related to managing team discussions for an organization.

You can search for specific sets of actions using these terms. For example:

  • action:team finds all events grouped within the team category.
  • -action:hook excludes all events in the webhook category.

Each category has a set of associated actions that you can filter on. For example:

  • action:team.create finds all events where a team was created.
  • -action:hook.events_changed excludes all events where the events on a webhook have been altered.

Search based on time of action

Use the created qualifier to filter events in the audit log based on when they occurred. Date formatting must follow the ISO8601 standard, which is YYYY-MM-DD (year-month-day). You can also add optional time information THH:MM:SS+00:00 after the date, to search by the hour, minute, and second. That's T, followed by HH:MM:SS (hour-minutes-seconds), and a UTC offset (+00:00).

When you search for a date, you can use greater than, less than, and range qualifiers to further filter results. For more information, see "Understanding the search syntax."

For example:

  • created:2014-07-08 finds all events that occurred on July 8th, 2014.
  • created:>=2014-07-08 finds all events that occurred on or after July 8th, 2014.
  • created:<=2014-07-08 finds all events that occurred on or before July 8th, 2014.
  • created:2014-07-01..2014-07-31 finds all events that occurred in the month of July 2014.

Note: The audit log contains data for the current month and every day of the previous six months.

Search based on location

Using the qualifier country, you can filter events in the audit log based on the originating country. You can use a country's two-letter short code or its full name. Keep in mind that countries with spaces in their name will need to be wrapped in quotation marks. For example:

  • country:de finds all events that occurred in Germany.
  • country:Mexico finds all events that occurred in Mexico.
  • country:"United States" all finds events that occurred in the United States.

Using the audit log API

You can interact with the audit log using the GraphQL API.

To ensure your intellectual property is secure, and you maintain compliance for your organization, you can use the audit log GraphQL API to keep copies of your audit log data and monitor:

  • Access to your organization or repository settings
  • Changes in permissions
  • Added or removed users in an organization, repository, or team
  • Users being promoted to admin
  • Changes to permissions of a GitHub App

The GraphQL response can include data for up to 90 to 120 days.

For example, you can make a GraphQL request to see all the new organization members added to your organization. For more information, see the "GraphQL API Audit Log."

Audit log actions

An overview of some of the most common actions that are recorded as events in the audit log.

business category actions

ActionDescription
set_actions_retention_limitTriggered when the retention period for GitHub Actions artifacts and logs is changed for an enterprise. For more information, see "Enforcing policies for GitHub Actions in your enterprise."
set_fork_pr_workflows_policyTriggered when the policy for workflows on private repository forks is changed. For more information, see "Enabling workflows for private repository forks."

discussion_post category actions

ActionDescription
updateTriggered when a team discussion post is edited.
destroyTriggered when a team discussion post is deleted.

discussion_post_reply category actions

ActionDescription
updateTriggered when a reply to a team discussion post is edited.
destroyTriggered when a reply to a team discussion post is deleted.

enterprise category actions

ActionDescription
remove_self_hosted_runnerTriggered when a self-hosted runner is removed.
register_self_hosted_runnerTriggered when a new self-hosted runner is registered. For more information, see "Adding self-hosted runners."
runner_group_createdTriggered when a self-hosted runner group is created. For more information, see "About self-hosted runner groups.
runner_group_removedTriggered when a self-hosted runner group is removed. For more information, see "Removing a self-hosted runner group."
runner_group_runner_removedTriggered when the REST API is used to remove a self-hosted runner from a group.
runner_group_runners_addedTriggered when a self-hosted runner is added to a group. For more information, see "Moving a self-hosted runner to a group."
runner_group_runners_updatedTriggered when a runner group's list of members is updated. For more information, see "Set self-hosted runners in a group for an organization."
runner_group_updatedTriggered when the configuration of a self-hosted runner group is changed. For more information, see "Changing the access policy of a self-hosted runner group."
self_hosted_runner_updatedTriggered when the runner application is updated. Can be viewed using the REST API and the UI; not visible in the JSON/CSV export. For more information, see "About self-hosted runners."

hook category actions

ActionDescription
createTriggered when a new hook was added to a repository owned by your organization.
config_changedTriggered when an existing hook has its configuration altered.
destroyTriggered when an existing hook was removed from a repository.
events_changedTriggered when the events on a hook have been altered.

integration_installation_request category actions

ActionDescription
createTriggered when an organization member requests that an organization owner install an integration for use in the organization.
closeTriggered when a request to install an integration for use in an organization is either approved or denied by an organization owner, or canceled by the organization member who opened the request.

issue category actions

ActionDescription
destroyTriggered when an organization owner or someone with admin permissions in a repository deletes an issue from an organization-owned repository.

members_can_create_pages category actions

For more information, see "Managing the publication of GitHub Pages sites for your organization."

ActionDescription
enableTriggered when an organization owner enables publication of GitHub Pages sites for repositories in the organization.
disableTriggered when an organization owner disables publication of GitHub Pages sites for repositories in the organization.

org category actions

ActionDescription
add_memberTriggered when a user joins an organization.
advanced_security_policy_selected_member_disabledTriggered when an enterprise owner prevents GitHub Advanced Security features from being enabled for repositories owned by the organization. For more information, see "Enforcing policies for Advanced Security in your enterprise."
advanced_security_policy_selected_member_enabledTriggered when an enterprise owner allows GitHub Advanced Security features to be enabled for repositories owned by the organization. For more information, see "Enforcing policies for Advanced Security in your enterprise."
create_actions_secretTriggered when a GitHub Actions secret is created for an organization. For more information, see "Creating encrypted secrets for an organization."
disable_member_team_creation_permissionTriggered when an organization owner limits team creation to owners. For more information, see "Setting team creation permissions in your organization."
disable_two_factor_requirementTriggered when an owner disables a two-factor authentication requirement for all members and outside collaborators in an organization.
enable_member_team_creation_permissionTriggered when an organization owner allows members to create teams. For more information, see "Setting team creation permissions in your organization."
enable_two_factor_requirementTriggered when an owner requires two-factor authentication for all members and outside collaborators in an organization.
register_self_hosted_runnerTriggered when a new self-hosted runner is registered. For more information, see "Adding a self-hosted runner to an organization."
remove_actions_secretTriggered when a GitHub Actions secret is removed.
remove_memberTriggered when an owner removes a member from an organization or when two-factor authentication is required in an organization and an organization member doesn't use 2FA or disables 2FA. Also triggered when an organization member removes themselves from an organization.
remove_outside_collaboratorTriggered when an owner removes an outside collaborator from an organization or when two-factor authentication is required in an organization and an outside collaborator does not use 2FA or disables 2FA.
remove_self_hosted_runnerTriggered when a self-hosted runner is removed. For more information, see "Removing a runner from an organization."
runner_group_createdTriggered when a self-hosted runner group is created. For more information, see "Creating a self-hosted runner group for an organization."
runner_group_removedTriggered when a self-hosted runner group is removed. For more information, see "Removing a self-hosted runner group."
runner_group_updatedTriggered when the configuration of a self-hosted runner group is changed. For more information, see "Changing the access policy of a self-hosted runner group."
runner_group_runners_addedTriggered when a self-hosted runner is added to a group. For more information, see Moving a self-hosted runner to a group.
runner_group_runner_removedTriggered when the REST API is used to remove a self-hosted runner from a group. For more information, see "Remove a self-hosted runner from a group for an organization."
runner_group_runners_updatedTriggered when a runner group's list of members is updated. For more information, see "Set self-hosted runners in a group for an organization."
self_hosted_runner_updatedTriggered when the runner application is updated. Can be viewed using the REST API and the UI; not visible in the JSON/CSV export. For more information, see "About self-hosted runners."
set_actions_retention_limitTriggered when the retention period for GitHub Actions artifacts and logs is changed. For more information, see "Enforcing policies for GitHub Actions in your enterprise."
set_fork_pr_workflows_policyTriggered when the policy for workflows on private repository forks is changed. For more information, see "Enabling workflows for private repository forks."
update_actions_secretTriggered when a GitHub Actions secret is updated.
update_new_repository_default_branch_settingTriggered when an owner changes the name of the default branch for new repositories in the organization. For more information, see "Managing the default branch name for repositories in your organization."
update_default_repository_permissionTriggered when an owner changes the default repository permission level for organization members.
update_memberTriggered when an owner changes a person's role from owner to member or member to owner.
update_member_repository_creation_permissionTriggered when an owner changes the create repository permission for organization members.

organization_label category actions

ActionDescription
createTriggered when a default label is created.
updateTriggered when a default label is edited.
destroyTriggered when a default label is deleted.

oauth_application category actions

ActionDescription
createTriggered when a new OAuth App is created.
destroyTriggered when an existing OAuth App is deleted.
reset_secretTriggered when an OAuth App's client secret is reset.
revoke_tokensTriggered when an OAuth App's user tokens are revoked.
transferTriggered when an existing OAuth App is transferred to a new organization.

packages category actions

ActionDescription
package_version_publishedTriggered when a package version is published.
package_version_deletedTriggered when a specific package version is deleted.
package_deletedTriggered when an entire package is deleted.
package_version_restoredTriggered when a specific package version is deleted.
package_restoredTriggered when an entire package is restored.

profile_picture category actions

ActionDescription
updateTriggered when you set or update your organization's profile picture.

project category actions

ActionDescription
createTriggered when a project board is created.
linkTriggered when a repository is linked to a project board.
renameTriggered when a project board is renamed.
updateTriggered when a project board is updated.
deleteTriggered when a project board is deleted.
unlinkTriggered when a repository is unlinked from a project board.
update_org_permissionTriggered when the base-level permission for all organization members is changed or removed.
update_team_permissionTriggered when a team's project board permission level is changed or when a team is added or removed from a project board.
update_user_permissionTriggered when an organization member or outside collaborator is added to or removed from a project board or has their permission level changed.

protected_branch category actions

ActionDescription
create Triggered when branch protection is enabled on a branch.
destroyTriggered when branch protection is disabled on a branch.
update_admin_enforced Triggered when branch protection is enforced for repository administrators.
update_require_code_owner_review Triggered when enforcement of required Code Owner review is updated on a branch.
dismiss_stale_reviews Triggered when enforcement of dismissing stale pull requests is updated on a branch.
update_signature_requirement_enforcement_level Triggered when enforcement of required commit signing is updated on a branch.
update_pull_request_reviews_enforcement_level Triggered when enforcement of required pull request reviews is updated on a branch. Can be one of 0(deactivated), 1(non-admins), 2(everyone).
update_required_status_checks_enforcement_level Triggered when enforcement of required status checks is updated on a branch.
update_strict_required_status_checks_policyTriggered when the requirement for a branch to be up to date before merging is changed.
rejected_ref_update Triggered when a branch update attempt is rejected.
policy_override Triggered when a branch protection requirement is overridden by a repository administrator.
update_allow_force_pushes_enforcement_level Triggered when force pushes are enabled or disabled for a protected branch.
update_allow_deletions_enforcement_level Triggered when branch deletion is enabled or disabled for a protected branch.
update_linear_history_requirement_enforcement_level Triggered when required linear commit history is enabled or disabled for a protected branch.

repo category actions

ActionDescription
accessTriggered when a user changes the visibility of a repository in the organization.
actions_enabledTriggered when GitHub Actions is enabled for a repository. Can be viewed using the UI. This event is not included when you access the audit log using the REST API. For more information, see "Using the REST API."
add_memberTriggered when a user accepts an invitation to have collaboration access to a repository.
add_topicTriggered when a repository admin adds a topic to a repository.
advanced_security_disabledTriggered when a repository administrator disables GitHub Advanced Security features for the repository. For more information, see "Managing security and analysis settings for your repository."
advanced_security_enabledTriggered when a repository administrator enables GitHub Advanced Security features for the repository. For more information, see "Managing security and analysis settings for your repository.".
archivedTriggered when a repository admin archives a repository.
config.disable_anonymous_git_accessTriggered when anonymous Git read access is disabled in a public repository.
config.enable_anonymous_git_accessTriggered when anonymous Git read access is enabled in a public repository.
config.lock_anonymous_git_accessTriggered when a repository's anonymous Git read access setting is locked.
config.unlock_anonymous_git_accessTriggered when a repository's anonymous Git read access setting is unlocked.
createTriggered when a new repository is created.
create_actions_secretTriggered when a GitHub Actions secret is created for a repository. For more information, see "Creating encrypted secrets for a repository."
destroyTriggered when a repository is deleted.
enableTriggered when a repository is re-enabled.
remove_actions_secretTriggered when a GitHub Actions secret is removed.
remove_memberTriggered when a user is removed from a repository as a collaborator.
register_self_hosted_runnerTriggered when a new self-hosted runner is registered. For more information, see "Adding a self-hosted runner to a repository."
remove_self_hosted_runnerTriggered when a self-hosted runner is removed. For more information, see "Removing a runner from a repository."
remove_topicTriggered when a repository admin removes a topic from a repository.
renameTriggered when a repository is renamed.
self_hosted_runner_updatedTriggered when the runner application is updated. Can be viewed using the REST API and the UI; not visible in the JSON/CSV export. For more information, see "About self-hosted runners."
set_actions_retention_limitTriggered when the retention period for GitHub Actions artifacts and logs is changed. For more information, see "Managing GitHub Actions settings for a repository."
set_fork_pr_workflows_policyTriggered when the policy for workflows on private repository forks is changed. For more information, see "Managing GitHub Actions settings for a repository."
transferTriggered when a repository is transferred.
transfer_startTriggered when a repository transfer is about to occur.
unarchivedTriggered when a repository admin unarchives a repository.
update_actions_secretTriggered when a GitHub Actions secret is updated.

repository_secret_scanning category actions

ActionDescription
disableTriggered when a repository owner or person with admin access to the repository disables secret scanning for a repository. For more information, see "About secret scanning."
enableTriggered when a repository owner or person with admin access to the repository enables secret scanning for a repository.

repository_vulnerability_alert category actions

ActionDescription
createTriggered when GitHub Enterprise Server creates a Dependabot alert for a repository that uses a vulnerable dependency. For more information, see "About Dependabot alerts."
dismissTriggered when an organization owner or person with admin access to the repository dismisses a Dependabot alert about a vulnerable dependency.
resolveTriggered when someone with write access to a repository pushes changes to update and resolve a vulnerability in a project dependency.

secret_scanning category actions

ActionDescription
disableTriggered when an organization owner disables secret scanning for all existing repositories. For more information, see "About secret scanning."
enableTriggered when an organization owner enables secret scanning for all existing repositories.

secret_scanning_new_repos category actions

ActionDescription
disableTriggered when an organization owner disables secret scanning for all new repositories. For more information, see "About secret scanning."
enableTriggered when an organization owner enables secret scanning for all new repositories.

team category actions

ActionDescription
add_memberTriggered when a member of an organization is added to a team.
add_repositoryTriggered when a team is given control of a repository.
change_parent_teamTriggered when a child team is created or a child team's parent is changed.
change_privacyTriggered when a team's privacy level is changed.
createTriggered when a new team is created.
demote_maintainerTriggered when a user was demoted from a team maintainer to a team member. For more information, see "Assigning the team maintainer role to a team member."
destroyTriggered when a team is deleted from the organization.
team.promote_maintainerTriggered when a user was promoted from a team member to a team maintainer. For more information, see "Assigning the team maintainer role to a team member."
remove_memberTriggered when a member of an organization is removed from a team.
remove_repositoryTriggered when a repository is no longer under a team's control.

team_discussions category actions

ActionDescription
disableTriggered when an organization owner disables team discussions for an organization. For more information, see "Disabling team discussions for your organization."
enableTriggered when an organization owner enables team discussions for an organization.

Further reading