class CheckMkIntegration2 < ActiveRecord::Migration[4.2] def up # return if it's a new setup return if !Setting.find_by(name: 'system_init_done') Setting.create_if_not_exists( title: 'Check_MK integration', name: 'check_mk_integration', area: 'Integration::Switch', description: 'Defines if Check_MK (http://mathias-kettner.com/check_mk.html) is enabled or not.', options: { form: [ { display: '', null: true, name: 'check_mk_integration', tag: 'boolean', options: { true => 'yes', false => 'no', }, }, ], }, state: false, preferences: { prio: 1, permission: ['admin.integration'], }, frontend: false ) Setting.create_if_not_exists( title: 'Sender', name: 'check_mk_sender', area: 'Integration::CheckMK', description: 'Defines the sender email address of the service emails.', options: { form: [ { display: '', null: false, name: 'check_mk_sender', tag: 'input', placeholder: 'check_mk@monitoring.example.com', }, ], }, state: 'check_mk@monitoring.example.com', preferences: { prio: 2, permission: ['admin.integration'], }, frontend: false, ) Setting.create_if_not_exists( title: 'Group', name: 'check_mk_group_id', area: 'Integration::CheckMK', description: 'Defines the group of created tickets.', options: { form: [ { display: '', null: false, name: 'check_mk_group_id', tag: 'select', relation: 'Group', }, ], }, state: 1, preferences: { prio: 3, permission: ['admin.integration'], }, frontend: false ) Setting.create_if_not_exists( title: 'Auto close', name: 'check_mk_auto_close', area: 'Integration::CheckMK', description: 'Defines if tickets should be closed if service is recovered.', options: { form: [ { display: '', null: true, name: 'check_mk_auto_close', tag: 'boolean', options: { true => 'yes', false => 'no', }, translate: true, }, ], }, state: true, preferences: { prio: 4, permission: ['admin.integration'], }, frontend: false ) Setting.create_if_not_exists( title: 'Auto close state', name: 'check_mk_auto_close_state_id', area: 'Integration::CheckMK', description: 'Defines the state of auto closed tickets.', options: { form: [ { display: '', null: false, name: 'check_mk_auto_close_state_id', tag: 'select', relation: 'TicketState', translate: true, }, ], }, state: 4, preferences: { prio: 5, permission: ['admin.integration'], }, frontend: false ) Setting.create_if_not_exists( title: 'Check_MK tolen', name: 'check_mk_token', area: 'Core', description: 'Defines the Check_MK token for allowing updates.', options: {}, state: SecureRandom.hex(16), preferences: { permission: ['admin.integration'], }, frontend: false ) Setting.create_if_not_exists( title: 'Defines postmaster filter.', name: '5200_postmaster_filter_check_mk', area: 'Postmaster::PreFilter', description: 'Defines postmaster filter to manage Check_MK (http://mathias-kettner.com/check_mk.html) emails.', options: {}, state: 'Channel::Filter::CheckMk', frontend: false ) end end