PD load incidents

Show incidents on a service

by eurica

HTML

<div id="banner-message">
  Send a selfie to 1-415-792-4932
</div>
<div id="incidents" class="wrapper">

</div>

CSS

body {
  background: #fff;
  padding: 20px;
  font-family: Helvetica;
  color: #222;

}

#banner-message {
  font-size: 40pt;  
}

.incident img {width:300px; height: 300px}

.wrapper {
  display: grid;
  grid-template-columns: 320px 320px 320px;
  grid-gap: 10px;
  background-color: #fff;
  color: #444;
  font-size: 24pt;
}

.box {
  background-color: #ddd;
  border-radius: 5px;
  padding: 10px;
  font-size: 150%;
}

JavaScript

update = function() {

$.ajax({
  dataType: "json",
  url: "https://api.pagerduty.com/incidents?statuses%5B%5D=triggered&statuses%5B%5D=acknowledged&service_ids%5B%5D=PWFWJWU&time_zone=UTC&include%5B%5D=first_trigger_log_entries&sort_by=created_at",
  headers: {
  "Accept": "application/vnd.pagerduty+json;version=2",
  "Authorization": "Token token=FbqhfWcVbzeNgkJvsFyH"
	},
  success: function( data ) {
    i = data.incidents
    if(JSON.stringify(i) ==window.oldstring) {
    	console.log("No changes")
      return;
    }
    window.oldstring = JSON.stringify(i)
    $("#incidents").html("")
    for(n in i) {
    	incident = i[n]
      content = incident.title
      if(incident.first_trigger_log_entry.contexts.length){
      	content = "<img src='"+incident.first_trigger_log_entry.contexts[0].src+"'>"
        }
      $("#incidents").prepend("<div class='box incident'>"+content+"</div>")
    }

    
	}
});
} 
update();
setInterval(update, 2000);