From 8a6d309fc768eeb2542907721aff9ceb5a465777 Mon Sep 17 00:00:00 2001 From: harsimarsandhu Date: Fri, 5 Apr 2024 10:52:53 +0200 Subject: [PATCH 1/4] Audit Event when merge request approval setting is updated Creates new audit event when `selective_code_owner_removals` column of project settings is updated EE: true Changelog: added --- .../types/selective_code_owner_removals_updated.yml | 9 +++++++++ ee/lib/audit/project_setting_changes_auditor.rb | 7 +++++++ .../lib/audit/project_setting_changes_auditor_spec.rb | 1 + 3 files changed, 17 insertions(+) create mode 100644 config/audit_events/types/selective_code_owner_removals_updated.yml diff --git a/config/audit_events/types/selective_code_owner_removals_updated.yml b/config/audit_events/types/selective_code_owner_removals_updated.yml new file mode 100644 index 00000000000000..34dac58d82fcc9 --- /dev/null +++ b/config/audit_events/types/selective_code_owner_removals_updated.yml @@ -0,0 +1,9 @@ +--- +name: selective_code_owner_removals_updated +description: Event triggered when selective code owner removal is updated +introduced_by_issue: https://gitlab.com/gitlab-org/gitlab/-/issues/327562 +introduced_by_mr: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/148743 +feature_category: code_review_workflow +milestone: '16.11' +saved_to_database: true +streamed: true diff --git a/ee/lib/audit/project_setting_changes_auditor.rb b/ee/lib/audit/project_setting_changes_auditor.rb index ac39b9cf6bc32f..78e9e253731679 100644 --- a/ee/lib/audit/project_setting_changes_auditor.rb +++ b/ee/lib/audit/project_setting_changes_auditor.rb @@ -39,6 +39,13 @@ def execute model: model, event_type: 'duo_features_enabled_updated' ) + audit_changes( + :selective_code_owner_removals, + as: 'Remove approvals by Code Owners if their files changed', + entity: @project, + model: model, + event_type: 'selective_code_owner_removals' + ) end def attributes_from_auditable_model(column) diff --git a/ee/spec/lib/audit/project_setting_changes_auditor_spec.rb b/ee/spec/lib/audit/project_setting_changes_auditor_spec.rb index 04f0366d560b89..ce2a6b5d28f6e0 100644 --- a/ee/spec/lib/audit/project_setting_changes_auditor_spec.rb +++ b/ee/spec/lib/audit/project_setting_changes_auditor_spec.rb @@ -109,6 +109,7 @@ context 'when ai-related settings are changed', :saas do it_behaves_like 'audited setting', :duo_features_enabled, 'duo_features_enabled_updated' it_behaves_like 'audited setting', :allow_merge_on_skipped_pipeline, 'allow_merge_on_skipped_pipeline_updated' + it_behaves_like 'audited setting', :selective_code_owner_removals, 'selective_code_owner_removals_updated' end end end -- GitLab From 29da56da3fdb0365190926be0f1ee27ec76ec379 Mon Sep 17 00:00:00 2001 From: harsimarsandhu Date: Sat, 6 Apr 2024 10:39:56 +0200 Subject: [PATCH 2/4] Scope fix --- .../audit_events/types/selective_code_owner_removals_updated.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/config/audit_events/types/selective_code_owner_removals_updated.yml b/config/audit_events/types/selective_code_owner_removals_updated.yml index 34dac58d82fcc9..3007545dc15a67 100644 --- a/config/audit_events/types/selective_code_owner_removals_updated.yml +++ b/config/audit_events/types/selective_code_owner_removals_updated.yml @@ -7,3 +7,4 @@ feature_category: code_review_workflow milestone: '16.11' saved_to_database: true streamed: true +scope: [Project] -- GitLab From 5b6c4bb465b487a565c53313c728b8fbf39e155e Mon Sep 17 00:00:00 2001 From: harsimarsandhu Date: Sat, 6 Apr 2024 10:41:23 +0200 Subject: [PATCH 3/4] Audit event docs update --- doc/administration/audit_event_types.md | 1 + ee/lib/audit/project_setting_changes_auditor.rb | 4 ++-- ee/spec/lib/audit/project_setting_changes_auditor_spec.rb | 3 +++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/doc/administration/audit_event_types.md b/doc/administration/audit_event_types.md index 83cda27a0b9f28..689e7fea8d602e 100644 --- a/doc/administration/audit_event_types.md +++ b/doc/administration/audit_event_types.md @@ -103,6 +103,7 @@ Audit event types belong to the following product categories. | [`project_merge_requests_template_updated`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/84624) | Whenever a MR template is updated for a project, this audit event is created| **{check-circle}** Yes | **{check-circle}** Yes | GitLab [15.0](https://gitlab.com/gitlab-org/gitlab/-/issues/355805) | Project | | [`project_remove_source_branch_after_merge_updated`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/83922) | Create this audit event whenever a project has its setting to remove branches after merges modified| **{check-circle}** Yes | **{check-circle}** Yes | GitLab [14.10](https://gitlab.com/gitlab-org/gitlab/-/issues/301124) | Project | | [`project_reset_approvals_on_push_updated`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/66234) | Create this audit event whenever a project has its setting on whether approvals are reset on a push is updated| **{check-circle}** Yes | **{check-circle}** Yes | GitLab [14.2](https://gitlab.com/gitlab-org/gitlab/-/issues/336211) | Project | +| [`selective_code_owner_removals_updated`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/148743) | Event triggered when selective code owner removal is updated| **{check-circle}** Yes | **{check-circle}** Yes | GitLab [16.11](https://gitlab.com/gitlab-org/gitlab/-/issues/327562) | Project | ### Code suggestions diff --git a/ee/lib/audit/project_setting_changes_auditor.rb b/ee/lib/audit/project_setting_changes_auditor.rb index 78e9e253731679..ee552cc85321d9 100644 --- a/ee/lib/audit/project_setting_changes_auditor.rb +++ b/ee/lib/audit/project_setting_changes_auditor.rb @@ -41,10 +41,10 @@ def execute ) audit_changes( :selective_code_owner_removals, - as: 'Remove approvals by Code Owners if their files changed', + as: 'selective_code_owner_removals', entity: @project, model: model, - event_type: 'selective_code_owner_removals' + event_type: 'selective_code_owner_removals_updated' ) end diff --git a/ee/spec/lib/audit/project_setting_changes_auditor_spec.rb b/ee/spec/lib/audit/project_setting_changes_auditor_spec.rb index ce2a6b5d28f6e0..b0da517555c669 100644 --- a/ee/spec/lib/audit/project_setting_changes_auditor_spec.rb +++ b/ee/spec/lib/audit/project_setting_changes_auditor_spec.rb @@ -109,6 +109,9 @@ context 'when ai-related settings are changed', :saas do it_behaves_like 'audited setting', :duo_features_enabled, 'duo_features_enabled_updated' it_behaves_like 'audited setting', :allow_merge_on_skipped_pipeline, 'allow_merge_on_skipped_pipeline_updated' + end + + context 'when `selective_code_owner_removals` is updated' do it_behaves_like 'audited setting', :selective_code_owner_removals, 'selective_code_owner_removals_updated' end end -- GitLab From 00c7faf1588cbd60f1aae7d8c514f93fa3d33e6d Mon Sep 17 00:00:00 2001 From: harsimarsandhu Date: Wed, 17 Apr 2024 12:35:18 +0200 Subject: [PATCH 4/4] Update milestone --- .../types/selective_code_owner_removals_updated.yml | 2 +- doc/administration/audit_event_types.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config/audit_events/types/selective_code_owner_removals_updated.yml b/config/audit_events/types/selective_code_owner_removals_updated.yml index 3007545dc15a67..06cf99cf38edb8 100644 --- a/config/audit_events/types/selective_code_owner_removals_updated.yml +++ b/config/audit_events/types/selective_code_owner_removals_updated.yml @@ -4,7 +4,7 @@ description: Event triggered when selective code owner removal is updated introduced_by_issue: https://gitlab.com/gitlab-org/gitlab/-/issues/327562 introduced_by_mr: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/148743 feature_category: code_review_workflow -milestone: '16.11' +milestone: '17.0' saved_to_database: true streamed: true scope: [Project] diff --git a/doc/administration/audit_event_types.md b/doc/administration/audit_event_types.md index 689e7fea8d602e..d173e90bc2569f 100644 --- a/doc/administration/audit_event_types.md +++ b/doc/administration/audit_event_types.md @@ -103,7 +103,7 @@ Audit event types belong to the following product categories. | [`project_merge_requests_template_updated`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/84624) | Whenever a MR template is updated for a project, this audit event is created| **{check-circle}** Yes | **{check-circle}** Yes | GitLab [15.0](https://gitlab.com/gitlab-org/gitlab/-/issues/355805) | Project | | [`project_remove_source_branch_after_merge_updated`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/83922) | Create this audit event whenever a project has its setting to remove branches after merges modified| **{check-circle}** Yes | **{check-circle}** Yes | GitLab [14.10](https://gitlab.com/gitlab-org/gitlab/-/issues/301124) | Project | | [`project_reset_approvals_on_push_updated`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/66234) | Create this audit event whenever a project has its setting on whether approvals are reset on a push is updated| **{check-circle}** Yes | **{check-circle}** Yes | GitLab [14.2](https://gitlab.com/gitlab-org/gitlab/-/issues/336211) | Project | -| [`selective_code_owner_removals_updated`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/148743) | Event triggered when selective code owner removal is updated| **{check-circle}** Yes | **{check-circle}** Yes | GitLab [16.11](https://gitlab.com/gitlab-org/gitlab/-/issues/327562) | Project | +| [`selective_code_owner_removals_updated`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/148743) | Event triggered when selective code owner removal is updated| **{check-circle}** Yes | **{check-circle}** Yes | GitLab [17.0](https://gitlab.com/gitlab-org/gitlab/-/issues/327562) | Project | ### Code suggestions -- GitLab