Event store event index

This page lists all domain events published through the GitLab EventStore, grouped by domain.

Each event is defined in app/events/ and carries a JSON Schema-validated payload. To find subscribers, search the subscription files under lib/gitlab/event_store/subscriptions/ and ee/lib/gitlab/event_store/subscriptions/.

Ai

Event Feature category Edition Description
Ai::ActiveContext::Code::CreateEnabledNamespaceEvent global_search EE Published to trigger creation of Ai::ActiveContext::Code::EnabledNamespace records for namespaces eligible for code indexing. Re-emitted by the subscriber worker to continue batched processing across event invocations.
Ai::ActiveContext::Code::MarkRepositoryAsPendingDeletionEvent global_search EE Published to mark Ai::ActiveContext::Code::Repository records as pending deletion when their enabled namespace is gone, Duo features are disabled, or there has been no recent activity. Re-emitted by the subscriber worker to continue batched processing.
Ai::ActiveContext::Code::MarkRepositoryAsReadyEvent global_search EE Published to mark Ai::ActiveContext::Code::Repository records whose embedding indexing has completed as ready, by checking the search index for the presence of expected embedding fields.
Ai::ActiveContext::Code::ProcessInvalidEnabledNamespaceEvent global_search EE Published to remove Ai::ActiveContext::Code::EnabledNamespace records that are no longer eligible (e.g. expired SaaS subscriptions or instances without AI features). Re-emitted by the subscriber worker to continue batched processing.
Ai::ActiveContext::Code::ProcessPendingEnabledNamespaceEvent global_search EE Published to process the next pending Ai::ActiveContext::Code::EnabledNamespace by enrolling its eligible projects as Ai::ActiveContext::Code::Repository records. Re-emitted by the subscriber worker while pending namespaces remain.
Ai::DuoWorkflows::WorkflowFinishedEvent duo_agent_platform EE Published when a Duo workflow transitions to :finished (the agent completed successfully). Only emitted for messaging-triggered workflows. Deferred via run_after_commit.
Ai::DuoWorkflows::WorkflowStartedEvent duo_agent_platform EE Published when a Duo workflow first transitions to :running (the agent has begun executing). Only emitted for messaging-triggered workflows. Deferred via run_after_commit.

Analytics

Event Feature category Edition Description
Analytics::ClickHouseForAnalyticsEnabledEvent value_stream_management EE Published when the instance-wide setting use_clickhouse_for_analytics is toggled on, signalling that ClickHouse-backed analytics has just been enabled so downstream backfill jobs can run.

Cd

Event Feature category Edition Description
Cd::ArtifactPublishedEvent continuous_delivery EE Published when a new artifact version is available for a GitLab CD artifact source, so subscribers can create the corresponding cd_versions. Source-agnostic by design - today it is bridged from container registry pushes, but external artifact sources can publish the same event later.

Ci

Event Feature category Edition Description
Ci::JobArtifactsDeletedEvent job_artifacts CE Published after a batch of CI job artifacts is deleted. Wrapped in Sidekiq::Worker.skipping_transaction_check so it can be emitted outside a transaction context.
Ci::JobSecurityScanCompletedEvent vulnerability_management EE Published when a CI build that runs a security scan reaches a completed status, signalling that its security artifacts are ready to be ingested.
Ci::PipelineCreatedEvent continuous_integration CE Published when a CI pipeline is successfully created and persisted.
Ci::PipelineFinishedEvent continuous_integration CE Published when a CI pipeline transitions to a terminal state (success, failed, canceled, skipped, or manual). Deferred via run_after_commit, so it fires only after the status change is committed.
Ci::Workloads::WorkloadFinishedEvent continuous_integration CE Published when a CI workload transitions to :finished or :failed. Deferred via run_after_commit.

Container Registry

Event Feature category Edition Description
ContainerRegistry::ImagePushedEvent container_registry EE Published when the container registry notifies GitLab of a successful image push, so subscribers (e.g. container scanning) can react to the new image.

GitLab

Event Feature category Edition Description
Gitlab::FeatureFlags::FeatureFlagModifiedEvent feature_flags CE Published when a feature flag is modified via Feature.enable() or Feature.disable(). The event is emitted whenever Flipper confirms a state change occurred, indicating a global enable/disable, or an actor being added/removed from the feature flag. The operation field indicates the type of change - enabled_globally, disabled_globally, enabled_actor, or disabled_actor. For actor operations, the actor field contains the specific actor’s flipper ID (for example, User:123, Group:456).

GitLab Subscriptions

Event Feature category Edition Description
GitlabSubscriptions::RenewedEvent subscription_management CE Published when a GitLab subscription is renewed. Fires only on genuine renewals - both start_date and end_date must change in the same update, with the new start_date >= the previous end_date. Deferred via run_after_commit.

Groups

Event Feature category Edition Description
Groups::GroupDeletedEvent groups_and_projects CE Published after a group and all its contents are permanently destroyed.
Groups::GroupTransferedEvent groups_and_projects CE Published after a group is transferred to a different parent namespace.

Mcp

Event Feature category Edition Description
Mcp::ServerSettingsChangedEvent mcp_server EE Published when a group’s MCP server namespace settings (e.g. mcp_server_enabled) change, so consumers such as the MCP server cache can be refreshed.

Members

Event Feature category Edition Description
Members::AcceptedInviteEvent user_management CE Published when a user accepts a membership invitation to a group or project.
Members::DestroyedEvent user_management CE Published after a member record is removed from a group or project. Fires once per user per destroy operation; not published on recursive cascades (for example, when a parent group destroy removes child memberships). Deferred via run_after_commit_or_now.
Members::MembersAddedEvent user_management CE Published after one or more members are added to a group or project. A single event carries all successfully created user IDs; skipped entirely when every invited user fails validation.
Members::MembershipModifiedByAdminEvent seat_cost_management EE Published when an admin creates or promotes a member to a billable role while member-promotion-management is enabled, so pending approval workflows can be processed.
Members::UpdatedCloudEvent user_management CE CloudEvent published after one or more member access levels are updated. Skipped on no-op updates (empty members array).
Members::UpdatedEvent user_management CE Published after one or more member access levels are updated. Skipped on no-op updates (empty members array).

Merge Requests

Event Feature category Edition Description
MergeRequests::ApprovalsResetEvent code_review_workflow EE Published when existing approvals on a merge request are reset, typically because new commits were pushed or other state changes invalidated prior approvals.
MergeRequests::ApprovedCloudEvent code_suggestions CE Published when a merge request receives all required approvals. CloudEvent counterpart of the legacy ApprovedEvent, using the CloudEvents v1.0 envelope with a richer payload that includes merge_request IID, project ID, and organization context.
MergeRequests::ApprovedEvent code_review_workflow CE Published when a user approves a merge request. Fires only when the approving user is eligible (not the author, satisfies any approval rules), the MR is not already merged, and the approval record is persisted.
MergeRequests::AssignedReviewersEvent code_review_workflow CE Published when new reviewers are assigned to a merge request. Carries the list of newly assigned reviewers with their IDs and user types.
MergeRequests::AutoMerge::TitleDescriptionUpdateEvent code_review_workflow CE Published when an MR title or description changes while auto-merge is enabled and the project has merge_request_title_regex configured. Does not fire for description-only changes unless EE Jira-key detection also triggers.
MergeRequests::ClosedEvent code_review_workflow EE Published when a merge request is closed, so EE subscribers (such as security policy workers) can react to the state change.
MergeRequests::CodeConflictEvent code_review_workflow CE Published when a merge request cannot be merged due to a code conflict. Only fires when the conflict notification condition is met.
MergeRequests::CreatedEvent code_review_workflow EE Published when a new merge request is created and prepared, so EE subscribers can react to the new merge request.
MergeRequests::DiscussionsResolvedEvent code_review_workflow CE Published when resolving a discussion brings an auto-merge-enabled MR to a fully resolved state (mergeable_discussions_state? becomes true). Does not fire on every resolution - only when the resolution unblocks auto-merge.
MergeRequests::DraftNotePublishedEvent code_review_workflow CE Published when a draft note (pending review comment) is published on a merge request.
MergeRequests::DraftStateChangeEvent code_review_workflow CE Published when an MR title update toggles the “Draft:” prefix and the draft status actually changes. Title updates that leave the draft state unchanged do not fire it.
MergeRequests::ExternalStatusCheckPassedEvent compliance_management EE Published when an external status check response transitions to the passed state for a merge request.
MergeRequests::MergeRequestPreparedEvent code_review_workflow CE Represents a merge request ref being prepared after a push. Carries the project, user, old/new revisions, and the ref name. Not currently published anywhere in the codebase.
MergeRequests::MergeableEvent code_review_workflow CE Published when an asynchronous mergeability check completes with both auto_merge_enabled? and mergeability_checks_pass? true (typically after approvals become sufficient).
MergeRequests::MergedEvent code_review_workflow EE Published when a merge request has been merged and post-merge processing runs, allowing EE subscribers (such as compliance, security policy, and audit workers) to react.
MergeRequests::OverrideRequestedChangesStateEvent code_review_workflow CE Published when a reviewer’s “requested changes” status is overridden on a merge request.
MergeRequests::PipelineCreationCompletedEvent code_review_workflow CE Published when an asynchronous MR-scoped pipeline creation attempt finishes. pipeline_id is set if a Ci::Pipeline row was persisted, nil if creation produced no pipeline (workflow:rules dropped, missing CI config, etc.). Used to re-trigger auto-merge when no Ci::Pipeline.after_transition will fire.
MergeRequests::ReadyEvent code_suggestions CE Published when a merge request transitions from draft to ready status, indicating it is no longer a work in progress.
MergeRequests::ReopenedEvent code_review_workflow EE Published when a closed merge request is reopened, so EE subscribers can react to the state change.
MergeRequests::UnblockedStateEvent code_review_workflow CE Published when the set of blocking merge requests changes (for example, a blocking MR is merged, unlinked, or added). Requires the :blocking_merge_requests feature on the target project, and only fires when the set actually differs from the previous state.
MergeRequests::UpdatedEvent code_review_workflow EE Published when a merge request is updated, so EE subscribers can react to changes on the merge request.
MergeRequests::ViolationsUpdatedEvent security_policy_management EE Published when scan result / approval policy violations on a merge request have been recalculated and persisted, so subscribers can refresh policy state.

Milestones

Event Feature category Edition Description
Milestones::MilestoneUpdatedEvent team_planning CE Published when a milestone’s attributes (title, dates, etc.) are updated. Skipped for no-op saves; the updated_attributes payload lists which attributes actually changed.

Namespace Settings

Event Feature category Edition Description
NamespaceSettings::AiRelatedSettingsChangedEvent ai_abstraction_layer EE Published when a group’s AI-related namespace settings (e.g. experiment_features_enabled) change, so consumers such as the LLM namespace access cache can be refreshed.

Namespaces

Event Feature category Edition Description
Namespaces::Groups::GroupArchivedEvent groups_and_projects CE Published when a group is archived.
Namespaces::Groups::GroupPathChangedEvent groups_and_projects CE Published when a group’s URL path is changed. Not fired for group updates that leave the path unchanged. Deferred via run_after_commit_or_now.

Organizations

Event Feature category Edition Description
Organizations::ConfirmedEvent organization CE Published when an organization transitions from unconfirmed to confirmed. Emitted by Organizations::ConfirmService after the state transition is committed. Not published if the confirmation fails or is rolled back.
Organizations::GroupTransferredEvent organization CE Published when a root group is transferred to a different organization. Fired once for the transferred group only - subscribers are responsible for traversing descendants if needed. Published via run_after_commit_or_now inside the transfer transaction, so it is never emitted on rollback.

Package Metadata

Event Feature category Edition Description
PackageMetadata::IngestedAdvisoryEvent software_composition_analysis CE Published once per advisory record after package security advisories are ingested. Only fires for advisories whose published_date is within the last 14 days (PUBLISHED_ADVISORY_INTERVAL); older advisories are ingested without an event.

Packages

Event Feature category Edition Description
Packages::PackageCreatedEvent package_registry CE Published after a package is created in the package registry.

Pages

Event Feature category Edition Description
Pages::Domains::PagesDomainCreatedEvent pages CE Published when a custom domain is successfully added to a GitLab Pages site.
Pages::Domains::PagesDomainDeletedEvent pages CE Published when a custom domain is removed from a GitLab Pages site.
Pages::Domains::PagesDomainUpdatedEvent pages CE Published when a custom GitLab Pages domain is updated, including on ACME-order retries that reset auto_ssl_failed (retries fire only when auto_ssl_enabled and auto_ssl_failed were both true before).

Project Authorizations

Event Feature category Edition Description
ProjectAuthorizations::AuthorizationsAddedEvent permissions CE Published after project authorization rows are inserted for one or more users. Multiple changes may be batched into a single event group.
ProjectAuthorizations::AuthorizationsChangedEvent permissions CE Defined to signal project authorization access-level changes. Not currently published anywhere in the codebase; a subscriber exists in EE security_subscriptions.rb but no publish call has been added yet.
ProjectAuthorizations::AuthorizationsRemovedEvent permissions CE Published after project authorization rows are deleted, but only for users who are truly removed - not for those whose access level merely changes (those users are excluded by comparing against authorizations being added in the same operation). Events are batched.

Projects

Event Feature category Edition Description
Projects::ComplianceFrameworkChangedEvent compliance_management EE Published when a compliance framework is added to or removed from a project. The event_type field indicates whether the framework was added or removed.
Projects::ProjectArchivedEvent groups_and_projects CE Published when a project is archived.
Projects::ProjectCreatedEvent groups_and_projects CE Published after a new project is successfully created.
Projects::ProjectDeletedEvent groups_and_projects CE Published after a project and all its contents are permanently destroyed.
Projects::ProjectFeaturesChangedEvent groups_and_projects CE Published when a project’s feature availability settings change (for example, issues, wiki, CI enabled/disabled). Not published when ProjectFeature#previous_changes is blank.
Projects::ProjectPathChangedEvent source_code_management CE Published when a project’s URL path (slug) is renamed.
Projects::ProjectTransferedEvent groups_and_projects CE Published after a project is transferred to a different namespace.
Projects::ProjectVisibilityChangedEvent groups_and_projects CE Published when a project’s visibility_level changes. Not published for updates that leave visibility unchanged.
Projects::ReleasePublishedEvent release_orchestration CE Published when a release in waiting_for_publish_event state is made available, processed in batches of 100. Releases are stamped with release_published_at after the event fires.
Projects::SecurityAttributeChangedEvent security_asset_inventories EE Published when a security attribute association is added to or removed from a project. The event_type field indicates whether the attribute was added or removed.

Repositories

Event Feature category Edition Description
Repositories::DefaultBranchChangedEvent source_code_management CE Published when the default branch of a repository changes.
Repositories::KeepAroundRefsCreatedEvent source_code_management CE Published when keep-around refs are written to a repository to prevent commits from being garbage collected. Fires only when at least one non-nil SHA is provided (typically during pipeline creation). Wrapped in Sidekiq::Worker.skipping_transaction_check.
Repositories::ProtectedBranchCreatedEvent source_code_management CE Published after a new branch protection rule is persisted. Fires for both project-level and group-level protected branches; the parent_type payload field distinguishes them.
Repositories::ProtectedBranchDestroyedEvent source_code_management CE Published after a branch protection rule is removed.
Repositories::RepositoryCreatedEvent source_code_management CE Published when a repository is created for a project or other container.

Sbom

Event Feature category Edition Description
Sbom::SbomIngestedEvent software_composition_analysis EE Published after an SBOM report has been ingested for a pipeline and at least one occurrence was recorded. Carries the pipeline_id of the ingestion.
Sbom::VulnerabilitiesCreatedEvent software_composition_analysis EE Published when new vulnerabilities are created from SBOM findings during vulnerability scanning, carrying a batch of finding payloads.
Event Feature category Edition Description
Search::Zoekt::ForceUpdateOverprovisionedIndexEvent global_search EE Published when overprovisioned, ready Zoekt indices with up-to-date used-storage stats are detected, signaling that their watermark levels should be recalculated and corrected.
Search::Zoekt::IndexMarkPendingEvictionEvent global_search EE Published when Zoekt indices that meet the criteria to be marked as pending eviction are detected, so they can be transitioned to the pending-eviction state.
Search::Zoekt::IndexMarkedAsReadyEvent global_search EE Published when initializing Zoekt indices have all of their repositories finished indexing and can therefore be transitioned to the ready state.
Search::Zoekt::IndexMarkedAsToDeleteEvent global_search EE Published when Zoekt indices are eligible for deletion, so the subscribed worker can mark them as pending deletion and clean them up.
Search::Zoekt::IndexToEvictEvent global_search EE Published when Zoekt indices in the pending-eviction state are detected, so the subscribed worker can perform the eviction and free their storage.
Search::Zoekt::InitialIndexingEvent global_search EE Published once per pending Zoekt index assigned to an online node, so the subscribed worker can perform the initial indexing of its repositories.
Search::Zoekt::LostNodeEvent global_search EE Published when a Zoekt node is detected as lost (no longer reporting) while at least one online node remains, so the subscribed worker can clean up the node’s resources.
Search::Zoekt::NodeWithNegativeUnclaimedStorageEvent global_search EE Published when Zoekt nodes are observed with negative unclaimed storage bytes, so the subscribed worker can take corrective action (such as moving namespaces off the over-allocated nodes).
Search::Zoekt::OrphanedIndexEvent global_search EE Published when Zoekt indices that no longer have an associated replica or namespace are detected, so the subscribed worker can mark them as orphaned for deletion.
Search::Zoekt::OrphanedRepoEvent global_search EE Published when Zoekt repositories with no parent project (or otherwise dangling) are detected, so the subscribed worker can mark them as orphaned for cleanup.
Search::Zoekt::RepoMarkedAsToDeleteEvent global_search EE Published when Zoekt repositories that should be deleted are detected, so the subscribed worker can mark them for deletion and remove them from the index.
Search::Zoekt::RepoToIndexEvent global_search EE Published when Zoekt repositories pending indexing are detected, so the subscribed worker can enqueue indexing tasks for them.
Search::Zoekt::RepoToReindexEvent global_search EE Published when Zoekt repositories require reindexing, so the subscribed worker can enqueue reindex tasks (one event per node for parallel processing).
Search::Zoekt::SaasRolloutEvent global_search EE Published periodically on GitLab.com to drive the SaaS rollout of Zoekt exact code search to enabled namespaces.
Search::Zoekt::TaskFailedEvent global_search EE Published when a Zoekt indexing task exhausts its retries and is moved to the failed state, so subscribers can react to the failure.
Search::Zoekt::TooManyReplicasEvent global_search EE Published when more Zoekt replicas exist for a namespace than the configured replica count, so the subscribed worker can prune the excess replicas.
Search::Zoekt::UpdateIndexUsedStorageBytesEvent global_search EE Published when Zoekt indices with stale used-storage statistics are detected, so the subscribed worker can refresh their used_storage_bytes from the underlying repositories.

Security

Event Feature category Edition Description
Security::PolicyCreatedEvent security_policy_management EE Published when a new security policy is persisted as part of syncing a security policy project’s configuration.
Security::PolicyDeletedEvent security_policy_management EE Published when a security policy is removed during synchronization of a security policy project’s configuration.
Security::PolicyDismissalPreservedEvent security_policy_management EE Published when a Security::PolicyDismissal is preserved (transitioned to the preserved status) because it still applies to outstanding violations.
Security::PolicyResyncEvent security_policy_management EE Published to force a full resynchronization of a security policy’s configuration against its linked projects.
Security::PolicyUpdatedEvent security_policy_management EE Published when a security policy’s attributes or rules change during synchronization of a security policy project’s configuration. Carries a diff and a rules_diff payload describing the changes.
Security::ReportsIngestedEvent security_policy_management EE Published after a pipeline’s security reports have been stored, signalling that downstream consumers (such as scan result policy evaluation) can run against the ingested findings.

Users

Event Feature category Edition Description
Users::ActivityEvent user_management CE Published to record user activity within a namespace, used for tracking seat usage and last activity timestamps. Emitted from web request after-actions (when a user and group/project context are both present), from EventCreateService push/design activity, and from Git HTTP and Gitaly-SSH operations.

Vulnerabilities

Event Feature category Edition Description
Vulnerabilities::BulkDismissedEvent vulnerability_management EE Published when a batch of vulnerabilities is dismissed via the bulk dismiss service. Carries an array of per-vulnerability attributes including dismissal reason, optional comment, and the acting user.
Vulnerabilities::BulkRedetectedEvent vulnerability_management EE Published when previously resolved vulnerabilities are transitioned back to detected during security finding ingestion.
Vulnerabilities::LinkToExternalIssueTrackerCreated vulnerability_management EE Published when a vulnerability is linked to an issue in an external issue tracker (for example, Jira).
Vulnerabilities::LinkToExternalIssueTrackerRemoved vulnerability_management EE Published when a vulnerability’s link to an external issue tracker is removed.

Work Items

Event Feature category Edition Description
WorkItems::BulkUpdatedEvent team_planning CE Published after a batch of work items is updated in bulk (for example, milestone cleared on milestone destroy, parent link changes). Each event batch covers up to EVENTS_BATCH_SIZE work items; published via publish_group.
WorkItems::CreatedEvent code_suggestions CE CloudEvent counterpart of WorkItemCreatedEvent, published after a work item is created. Unlike the legacy event, which fires unconditionally, this event is skipped for imports, external authors, non-human users, and work items without a project. Uses the CloudEvents v1.0 envelope and carries a richer payload including work item type and confidentiality.
WorkItems::StatusChangedEvent team_planning EE Published when a work item status is updated.
WorkItems::WorkItemClosedEvent team_planning EE Published when a work item (issue or epic work item) is closed.
WorkItems::WorkItemCreatedEvent team_planning CE Published after a new work item (issue, task, etc.) is created.
WorkItems::WorkItemDeletedEvent team_planning CE Published after a work item is permanently deleted.
WorkItems::WorkItemReopenedEvent team_planning EE Published when a previously closed work item (issue or epic work item) is reopened.
WorkItems::WorkItemUpdatedEvent team_planning CE Published after a work item’s attributes are updated.