diff options
-rw-r--r-- | app/workers/jira_connect/sync_merge_request_worker.rb | 4 | ||||
-rw-r--r-- | db/post_migrate/20230316014651_remove_index_on_events_action.rb | 13 | ||||
-rw-r--r-- | db/schema_migrations/20230316014651 | 1 | ||||
-rw-r--r-- | db/structure.sql | 2 | ||||
-rw-r--r-- | spec/workers/jira_connect/sync_merge_request_worker_spec.rb | 28 |
5 files changed, 41 insertions, 7 deletions
diff --git a/app/workers/jira_connect/sync_merge_request_worker.rb b/app/workers/jira_connect/sync_merge_request_worker.rb index 76f62e55ab1..79718b98e98 100644 --- a/app/workers/jira_connect/sync_merge_request_worker.rb +++ b/app/workers/jira_connect/sync_merge_request_worker.rb @@ -18,7 +18,9 @@ module JiraConnect return unless merge_request && project - branches = [project.repository.find_branch(merge_request.source_branch)].compact + branches = if Feature.enabled?(:jira_include_keys_from_associated_mr_for_branch, project) && merge_request.open? + [project.repository.find_branch(merge_request.source_branch)].compact.presence + end JiraConnect::SyncService.new(project).execute(merge_requests: [merge_request], branches: branches, update_sequence_id: update_sequence_id) end diff --git a/db/post_migrate/20230316014651_remove_index_on_events_action.rb b/db/post_migrate/20230316014651_remove_index_on_events_action.rb new file mode 100644 index 00000000000..61a3077c330 --- /dev/null +++ b/db/post_migrate/20230316014651_remove_index_on_events_action.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +class RemoveIndexOnEventsAction < Gitlab::Database::Migration[2.1] + disable_ddl_transaction! + + def up + remove_concurrent_index :events, :action, name: 'index_events_on_action' + end + + def down + add_concurrent_index :events, :action, name: 'index_events_on_action' + end +end diff --git a/db/schema_migrations/20230316014651 b/db/schema_migrations/20230316014651 new file mode 100644 index 00000000000..70d7cbcef00 --- /dev/null +++ b/db/schema_migrations/20230316014651 @@ -0,0 +1 @@ +f139b8097744ab3fabdf343bfb5e6a7a8426227b54238c4926b0446dd621ef64
\ No newline at end of file diff --git a/db/structure.sql b/db/structure.sql index 93aeb7d1a47..892a39ee338 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -30580,8 +30580,6 @@ CREATE INDEX index_events_for_group_activity ON events USING btree (group_id, ta CREATE INDEX index_events_for_project_activity ON events USING btree (project_id, target_type, action, id); -CREATE INDEX index_events_on_action ON events USING btree (action); - CREATE INDEX index_events_on_author_id_and_created_at ON events USING btree (author_id, created_at); CREATE INDEX index_events_on_author_id_and_created_at_merge_requests ON events USING btree (author_id, created_at) WHERE ((target_type)::text = 'MergeRequest'::text); diff --git a/spec/workers/jira_connect/sync_merge_request_worker_spec.rb b/spec/workers/jira_connect/sync_merge_request_worker_spec.rb index bbedbf6a53b..459cabb5f20 100644 --- a/spec/workers/jira_connect/sync_merge_request_worker_spec.rb +++ b/spec/workers/jira_connect/sync_merge_request_worker_spec.rb @@ -37,6 +37,23 @@ RSpec.describe JiraConnect::SyncMergeRequestWorker, feature_category: :integrati end end + shared_examples 'does not send any branch data' do + it 'calls JiraConnect::SyncService correctly with nil branches' do + expect_next(JiraConnect::SyncService).to receive(:execute) + .with(merge_requests: [merge_request], branches: nil, update_sequence_id: update_sequence_id) + + perform + end + end + + context 'when the merge request is closed' do + before do + merge_request.close! + end + + it_behaves_like 'does not send any branch data' + end + context 'when source branch cannot be found' do before do allow_next_found_instance_of(MergeRequest) do |mr| @@ -44,12 +61,15 @@ RSpec.describe JiraConnect::SyncMergeRequestWorker, feature_category: :integrati end end - it 'calls JiraConnect::SyncService will an empty branch' do - expect_next(JiraConnect::SyncService).to receive(:execute) - .with(merge_requests: [merge_request], branches: [], update_sequence_id: update_sequence_id) + it_behaves_like 'does not send any branch data' + end - perform + context 'when flag is disabled' do + before do + stub_feature_flags(jira_include_keys_from_associated_mr_for_branch: false) end + + it_behaves_like 'does not send any branch data' end end end |