List On-Call Shifts for a PagerDuty Schedule

Useful for tracking when users are on-call

by Ryan Hoskin

HTML

<script src="https://eurica.github.io/pdjs/js/pdjs.js"></script>
<div id="shifts"></div>

JavaScript

//List the shifts for all users within PagerDuty

PDJS = new PDJSobj({
    subdomain: "",
    token: "",
})

PDJS.api_all({
    res: "schedules/PX4DPVS",
    data: {
        "since": "2015-06-22",
            "until": "2015-09-17"
    },
    final_success: function (data) {
        console.log(data.schedule);
        schedule = data.schedule;
        final_schedule = schedule.final_schedule;
        jQuery.each(final_schedule.rendered_schedule_entries, function (index, entry) {
            user = entry.user;
            name = user.name;
            $("#shifts").append(entry.start + ", " + entry.end + ", " + name + "<br>");
        })
    },
    incremental_success: function (data) {
        console.log("Got data");
    }
})