2016-06-09 12:39:16 +00:00
|
|
|
# rubocop:disable all
|
2018-11-13 07:27:31 +00:00
|
|
|
class MoveSlackServiceToWebhook < ActiveRecord::Migration[4.2]
|
2016-12-06 17:59:03 +00:00
|
|
|
|
|
|
|
DOWNTIME = true
|
|
|
|
DOWNTIME_REASON = 'Move old fields "token" and "subdomain" to one single field "webhook"'
|
|
|
|
|
2014-10-06 14:50:24 +00:00
|
|
|
def change
|
2016-12-20 21:14:33 +00:00
|
|
|
SlackService.all.each do |slack_service|
|
2014-10-06 14:50:24 +00:00
|
|
|
if ["token", "subdomain"].all? { |property| slack_service.properties.key? property }
|
|
|
|
token = slack_service.properties['token']
|
|
|
|
subdomain = slack_service.properties['subdomain']
|
|
|
|
webhook = "https://#{subdomain}.slack.com/services/hooks/incoming-webhook?token=#{token}"
|
|
|
|
slack_service.properties['webhook'] = webhook
|
|
|
|
slack_service.properties.delete('token')
|
|
|
|
slack_service.properties.delete('subdomain')
|
|
|
|
# Room is configured on the Slack side
|
|
|
|
slack_service.properties.delete('room')
|
2015-02-25 17:22:08 +00:00
|
|
|
slack_service.save(validate: false)
|
2014-10-06 14:50:24 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|