This gem is a thin wrapper arond the PagerDuty REST API. It provides methods to call the various endpoints of the API and returns the result of parsing the returned JSON.
Argument names for the methods match the ones explained in the API documentation.
require 'date'
require 'pagerduty/full'
# Get some dates to use
start_date = Date.parse("2012-09-24T00:00Z")
end_date = Date.parse("2012-10-09T07:01Z")
pd = PagerDuty::Full.new(apikey = YOURKEY, subdomain = YOURDOMAIN, http_proxy = PROXY_URL)
YOURKEY is required, get one from https://YOURDOMAIN.pagerduty.com/api_keys
YOURDOMAIN is required, the pagerduty.com subdomain
PROXY_URL is optional, format http(s)://USER:PASS@HOST:PORT, USER & PASS are optional
# Get list of schedules
sched = pd.Schedule.search()
# Get who is on call
# You can use iso8601, i suppose, if you have newer ruby
oncallthen = pd.Schedule.find(
id = sid,
since_date = start_date.strftime("%FT%T%:z"),
until_date = end_date.strftime("%FT%T%:z")
)
# Get incidents
incs = pd.Incident.search(
status = "resolved,triggered,acknowledged",
service = SERVICEID,
since_date = start_date.strftime("%FT%T%:z"),
until_date = end_date.strftime("%FT%T%:z")
)