lib/bender/main.rb in bender-bot-0.4.5 vs lib/bender/main.rb in bender-bot-0.4.6
- old
+ new
@@ -175,18 +175,23 @@
def set_room_name_and_topic room_id, incidents, hipchat, bot
room = hipchat[room_id]
new_room = room.get_room
open_incidents = incidents.select do |i|
- status = normalize_value i['fields']['status']
- !(status =~ /resolved|closed/i)
+ status = normalize_value i['fields']['status']
+ severity = short_severity(i['fields'][SEVERITY_FIELD]['value']),
+ is_open = !(status =~ /resolved|closed/i)
+ is_severe = severity =~ /(SEV1|SEV2)/i
+ is_open && is_severe
end
+ log.warn open_incidents: open_incidents
+
@room_name ||= bot.store['primary_room_name'] || new_room['name']
@room_topic ||= bot.store['primary_room_topic'] || new_room['topic']
- @open = 1 unless defined? @open
+ @open = nil unless defined? @open
log.info \
primary_room_name: bot.store['primary_room_name'],
primary_room_topic: bot.store['primary_room_topic'],
new_room_name: new_room['name'],
@@ -194,30 +199,30 @@
room_name: @room_name,
room_topic: @room_topic,
open: @open
if open_incidents.empty?
- if @open
+ if @open.nil? || @open > 0
new_room['name'] = '[NONE] Production Incident'
- new_room['topic'] = 'Good news everyone! No open incidents at the moment'
+ new_room['topic'] = 'Good news everyone! No high-severity incidents at the moment'
begin
room.update_room(new_room)
rescue NoMethodError
log.warn 'NoMethodError in set_room_name_and_topic'
end
end
@open = 0
else
- if @open.zero?
+ if @open.nil? || @open.zero?
@room_name = new_room['name']
@room_topic = new_room['topic']
end
unless @open == open_incidents.size
new_room['name'] = '[IN PROGRESS] Production Incident'
- tha_news = open_incidents.size == 1 ? "There's an open incident" : "There are #{open_incidents.size} open incidents"
+ tha_news = open_incidents.size == 1 ? "There's a high-severity incident" : "There are #{open_incidents.size} high-severity incidents"
new_room['topic'] = "Terrible news everyone! #{tha_news}"
begin
room.update_room(new_room)
rescue NoMethodError
log.warn 'NoMethodError in set_room_name_and_topic'