summaryrefslogtreecommitdiff
path: root/app/models/integrations/base_issue_tracker.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/integrations/base_issue_tracker.rb')
-rw-r--r--app/models/integrations/base_issue_tracker.rb13
1 files changed, 6 insertions, 7 deletions
diff --git a/app/models/integrations/base_issue_tracker.rb b/app/models/integrations/base_issue_tracker.rb
index 458d0199e7a..bffe87c21ee 100644
--- a/app/models/integrations/base_issue_tracker.rb
+++ b/app/models/integrations/base_issue_tracker.rb
@@ -25,12 +25,15 @@ module Integrations
def handle_properties
# this has been moved from initialize_properties and should be improved
# as part of https://gitlab.com/gitlab-org/gitlab/issues/29404
- return unless properties
+ return unless properties.present?
+
+ safe_keys = data_fields.attributes.keys.grep_v(/encrypted/) - %w[id service_id created_at]
@legacy_properties_data = properties.dup
- data_values = properties.slice!('title', 'description')
+
+ data_values = properties.slice(*safe_keys)
data_values.reject! { |key| data_fields.changed.include?(key) }
- data_values.slice!(*data_fields.attributes.keys)
+
data_fields.assign_attributes(data_values) if data_values.present?
self.properties = {}
@@ -68,10 +71,6 @@ module Integrations
issue_url(iid)
end
- def initialize_properties
- {}
- end
-
# Initialize with default properties values
def set_default_data
return unless issues_tracker.present?