UNPKG

icinga-hubot-script

Version:

A hubot script that takes notification messages from Icinga and post them to any IRC channel

48 lines (36 loc) 1.45 kB
icingaVariables = ircChannel: 'ICINGA_CONTACTADDRESS0' hostname: 'ICINGA_HOSTDISPLAYNAME' hostOutput: 'ICINGA_HOSTOUTPUT' hostStateId: 'ICINGA_HOSTSTATEID' serviceOutput: 'ICINGA_SERVICEOUTPUT' serviceDescription: 'ICINGA_SERVICEDESC' serviceDescriptionLong: 'ICINGA__SERVICEDESCRIPTION' serviceStateId: 'ICINGA_SERVICESTATEID' serviceProblemId: 'ICINGA_SERVICEPROBLEMID' lastServiceProblemId: 'ICINGA_LASTSERVICEPROBLEMID' hostProblemId: 'ICINGA_HOSTPROBLEMID' lastHostProblemId: 'ICINGA_LASTHOSTPROBLEMID' notificationType: 'ICINGA_NOTIFICATIONTYPE' class IcingaNotification constructor: (icingaData) -> @icingaData = icingaData ircChannel: -> return @icingaData[icingaVariables.ircChannel] hostname: -> return @icingaData[icingaVariables.hostname] serviceDescription: -> return @icingaData[icingaVariables.serviceDescription] isProblem: -> return @icingaData[icingaVariables.notificationType] == 'PROBLEM' isRecovery: -> return @icingaData[icingaVariables.notificationType] == 'RECOVERY' hostState: -> return @icingaData[icingaVariables.hostStateId] isServiceNotification: -> return !!@icingaData[icingaVariables.serviceProblemId] || !!@icingaData[icingaVariables.lastServiceProblemId] isHostNotification: -> return !@isServiceNotification() serviceState: -> return @icingaData[icingaVariables.serviceStateId] module.exports = IcingaNotification