summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/models/project_services/builds_email_service.rb7
-rw-r--r--app/models/project_services/hipchat_service.rb7
-rw-r--r--app/models/project_services/issue_tracker_service.rb18
-rw-r--r--app/models/project_services/slack_service.rb7
-rw-r--r--app/models/service.rb1
5 files changed, 29 insertions, 11 deletions
diff --git a/app/models/project_services/builds_email_service.rb b/app/models/project_services/builds_email_service.rb
index e01648f0596..b8bd48aca69 100644
--- a/app/models/project_services/builds_email_service.rb
+++ b/app/models/project_services/builds_email_service.rb
@@ -24,7 +24,12 @@ class BuildsEmailService < Service
boolean_accessor :notify_only_broken_builds
validates :recipients, presence: true, if: :activated?
- default_value_for :notify_only_broken_builds, true
+ def initialize_properties
+ if properties.nil?
+ self.properties = {}
+ self.notify_only_broken_builds = true
+ end
+ end
def title
'Builds emails'
diff --git a/app/models/project_services/hipchat_service.rb b/app/models/project_services/hipchat_service.rb
index 4045d16fa22..1e1686a11c6 100644
--- a/app/models/project_services/hipchat_service.rb
+++ b/app/models/project_services/hipchat_service.rb
@@ -25,7 +25,12 @@ class HipchatService < Service
boolean_accessor :notify_only_broken_builds
validates :token, presence: true, if: :activated?
- default_value_for :notify_only_broken_builds, true
+ def initialize_properties
+ if properties.nil?
+ self.properties = {}
+ self.notify_only_broken_builds = true
+ end
+ end
def title
'HipChat'
diff --git a/app/models/project_services/issue_tracker_service.rb b/app/models/project_services/issue_tracker_service.rb
index 46ba9808175..936e574cccd 100644
--- a/app/models/project_services/issue_tracker_service.rb
+++ b/app/models/project_services/issue_tracker_service.rb
@@ -56,12 +56,16 @@ class IssueTrackerService < Service
end
def initialize_properties
- if new_record?
+ if properties.nil?
if enabled_in_gitlab_config
- self.title = issues_tracker['title']
- self.project_url = add_issues_tracker_id(issues_tracker['project_url'])
- self.issues_url = add_issues_tracker_id(issues_tracker['issues_url'])
- self.new_issue_url = add_issues_tracker_id(issues_tracker['new_issue_url'])
+ self.properties = {
+ title: issues_tracker['title'],
+ project_url: add_issues_tracker_id(issues_tracker['project_url']),
+ issues_url: add_issues_tracker_id(issues_tracker['issues_url']),
+ new_issue_url: add_issues_tracker_id(issues_tracker['new_issue_url'])
+ }
+ else
+ self.properties = {}
end
end
end
@@ -94,8 +98,8 @@ class IssueTrackerService < Service
def enabled_in_gitlab_config
Gitlab.config.issues_tracker &&
- Gitlab.config.issues_tracker.values.any? &&
- issues_tracker
+ Gitlab.config.issues_tracker.values.any? &&
+ issues_tracker
end
def issues_tracker
diff --git a/app/models/project_services/slack_service.rb b/app/models/project_services/slack_service.rb
index 553d4b025e1..375b4534d07 100644
--- a/app/models/project_services/slack_service.rb
+++ b/app/models/project_services/slack_service.rb
@@ -23,7 +23,12 @@ class SlackService < Service
boolean_accessor :notify_only_broken_builds
validates :webhook, presence: true, if: :activated?
- default_value_for :notify_only_broken_builds, true
+ def initialize_properties
+ if properties.nil?
+ self.properties = {}
+ self.notify_only_broken_builds = true
+ end
+ end
def title
'Slack'
diff --git a/app/models/service.rb b/app/models/service.rb
index 0ccb8b410d1..195c4690e8f 100644
--- a/app/models/service.rb
+++ b/app/models/service.rb
@@ -31,7 +31,6 @@ class Service < ActiveRecord::Base
default_value_for :tag_push_events, true
default_value_for :note_events, true
default_value_for :build_events, true
- default_value_for :properties, {}
after_initialize :initialize_properties