Simple Java API for PagerDuty
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

PagerDuty Java API

This is a simple Java API that wraps the PagerDuty REST APIs documented here:


The easiest way to get started is to just add this dependency in to your Maven build:


If you don't use Maven, you can still find the jars in the central Maven repository. You'll also need the following dependencies:


The API is pretty straight forward if you've read the PagerDuty API docs:

PagerDutyClient client = new PagerDutyClient("subdomain", "username", "password");

// list incident counts
IncidentsQuery query = new IncidentsQuery().withStatus("resolved").assignedToUser("bob");
int count = client.getIncidentsCount(DateUtils.daysAgo(5),, query);

// trigger a new incident
Map details = new HashMap();
details.put("foo", "bar");
EventResponse response = client.trigger("service_key", "optional description", "optional incident key", details);
String incidentKey = response.getIncidentKey();

// resolve the incident
response = client.resolve("service_key", "optional description", incidentKey, details);

You can also wire up the PagerDutyClient using dependency injection frameworks such as Guice. The three constructor parameters are bound to the following @Named parameters:

  • @Named("pagerduty.subdomain")
  • @Named("pagerduty.username")
  • @Named("pagerduty.password")

Note: The client always uses SSL to make it's HTTP requests and until we hear a good reason we won't be offering an option to change this.


This project is licensed under the Apache 2.0 license.