/zendesk-java-client

A Java client library for interacting with ZenDesk

Primary LanguageJavaApache License 2.0Apache-2.0

Zendesk Java Client

This is a Zendesk client implementation written in Java using AsyncHttpClient and Jackson.

Using the API

Start by creating a Zendesk instance

Zendesk zd = new Zendesk.Builder("https://{{your domain}}.zendesk.com")
        .setUsername("...")
        .setToken("...") // or .setPassword("...")
        .build();

If you are behind a proxy, or want to otherwise control the lifecycle of the AsyncHttpClient instance you should pass that through to the builder too. If you don't pass an AsyncHttpClient instance to the builder it will create its own which will be closed by the Zendesk.close() method.

Where methods return paged data sets, an Iterable is returned that will lazy-fetch one page at a time until all records have been fetched, so e.g.

for (Ticket ticket: zd.getTickets()) {
    ...
}

will iterate through all tickets. Most likely you will want to implement your own cut-off process to stop iterating when you have got enough data.

Status

Here is the status of the various API components:

History

  • 0.0.x - Initial release series

  • 0.1.x - Switched from Integer as the id type to Long due to reports of overflow

  • 0.2.x - At request of Zendesk, renamed ZenDesk to Zendesk

  • 0.3.x - Fixed infinite loop with PagedIterable, updated async-http-client dependency to 1.9.x.

  • 0.4.x - Few API breakage (in particular changed userId to Long in Identity), updated async-http-client dependency to latest.