diff options
Diffstat (limited to 'app/services/feature_flags/base_service.rb')
-rw-r--r-- | app/services/feature_flags/base_service.rb | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/app/services/feature_flags/base_service.rb b/app/services/feature_flags/base_service.rb index 9b27df90992..c11c465252e 100644 --- a/app/services/feature_flags/base_service.rb +++ b/app/services/feature_flags/base_service.rb @@ -6,6 +6,11 @@ module FeatureFlags AUDITABLE_ATTRIBUTES = %w(name description active).freeze + def success(**args) + sync_to_jira(args[:feature_flag]) + super + end + protected def audit_event(feature_flag) @@ -34,6 +39,16 @@ module FeatureFlags audit_event.security_event end + def sync_to_jira(feature_flag) + return unless feature_flag.present? + return unless Feature.enabled?(:jira_sync_feature_flags, feature_flag.project) + + seq_id = ::Atlassian::JiraConnect::Client.generate_update_sequence_id + feature_flag.run_after_commit do + ::JiraConnect::SyncFeatureFlagsWorker.perform_async(feature_flag.id, seq_id) + end + end + def created_scope_message(scope) "Created rule <strong>#{scope.environment_scope}</strong> "\ "and set it as <strong>#{scope.active ? "active" : "inactive"}</strong> "\ |