diff --git a/ee/lib/audit/project_ci_cd_setting_changes_auditor.rb b/ee/lib/audit/project_ci_cd_setting_changes_auditor.rb
index edae2727b082bf8290619506ec8dec7b2f679d08..e77621240b9a445adef59a5a1ad52b29605c3f6d 100644
--- a/ee/lib/audit/project_ci_cd_setting_changes_auditor.rb
+++ b/ee/lib/audit/project_ci_cd_setting_changes_auditor.rb
@@ -12,11 +12,23 @@ def execute
       return if model.blank?
 
       if should_audit?(:merge_pipelines_enabled)
-        audit_changes(:merge_pipelines_enabled, as: 'merge_pipelines_enabled', entity: @project, model: model)
+        audit_changes(
+          :merge_pipelines_enabled,
+          as: 'merge_pipelines_enabled',
+          entity: @project,
+          model: model,
+          event_type: 'project_cicd_merge_pipelines_enabled_updated'
+        )
       end
 
       if should_audit?(:merge_trains_enabled)
-        audit_changes(:merge_trains_enabled, as: 'merge_trains_enabled', entity: @project, model: model)
+        audit_changes(
+          :merge_trains_enabled,
+          as: 'merge_trains_enabled',
+          entity: @project,
+          model: model,
+          event_type: 'project_cicd_merge_trains_enabled_updated'
+        )
       end
 
       nil
diff --git a/ee/spec/lib/audit/project_ci_cd_setting_changes_auditor_spec.rb b/ee/spec/lib/audit/project_ci_cd_setting_changes_auditor_spec.rb
index 711367b46d05315867e6607ffc9fc6d57330ba08..80f63a49f04de666328d2d91a415a671e3ef368b 100644
--- a/ee/spec/lib/audit/project_ci_cd_setting_changes_auditor_spec.rb
+++ b/ee/spec/lib/audit/project_ci_cd_setting_changes_auditor_spec.rb
@@ -2,16 +2,24 @@
 
 require 'spec_helper'
 
-RSpec.describe Audit::ProjectCiCdSettingChangesAuditor do
+RSpec.describe Audit::ProjectCiCdSettingChangesAuditor, feature_category: :audit_events do
   using RSpec::Parameterized::TableSyntax
   describe '#execute' do
     let_it_be(:user) { create(:user) }
-    let_it_be(:project) { create(:project) }
+    let_it_be(:group) { create(:group) }
+    let_it_be(:project) do
+      create(
+        :project,
+        group: group
+      )
+    end
+
     let_it_be(:ci_cd_settings) { project.ci_cd_settings }
     let_it_be(:project_ci_cd_setting_changes_auditor) { described_class.new(user, ci_cd_settings, project) }
 
     before do
-      stub_licensed_features(extended_audit_events: true)
+      stub_licensed_features(extended_audit_events: true, external_audit_events: true)
+      group.external_audit_event_destinations.create!(destination_url: 'http://example.com')
     end
 
     context 'when auditable boolean column is changed' do
@@ -25,12 +33,11 @@
 
           before do
             project.ci_cd_settings.update_attribute(column, prev_value)
+            project.ci_cd_settings.update_attribute(column, new_value)
           end
 
           with_them do
             it 'creates an audit event' do
-              project.ci_cd_settings.update_attribute(column, new_value)
-
               expect { project_ci_cd_setting_changes_auditor.execute }.to change(AuditEvent, :count).by(1)
               expect(AuditEvent.last.details).to include({
                                                            change: column,
@@ -38,6 +45,13 @@
                                                            to: new_value
                                                          })
             end
+
+            it 'streams correct audit event', :aggregate_failures do
+              event_name = "project_cicd_#{column}_updated"
+              expect(AuditEvents::AuditEventStreamingWorker).to receive(:perform_async)
+                .with(event_name, anything, anything)
+              project_ci_cd_setting_changes_auditor.execute
+            end
           end
         end