This is a ZenDesk client implementation written in Java using AsyncHttpClient and Jackson.
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.
Here is the status of the various API components:
- Tickets ✓
- Ticket Audits ✓
- Incremental Tickets
- Ticket Fields ✓
- Ticket Import
- Ticket Metrics
- Views
- Users ✓
- Requests ✓
- User Identities ✓
- Groups ✓
- Group Membership
- Custom Agent Roles
- Organizations ✓ except for related info
- Search
- Tags
- Forums
- Forum Subscriptions
- Categories
- Topics
- Topic Comments
- Topic Subscriptions
- Topic Votes
- Account Settings
- Activity Stream
- Attachments ✓
- Autocompletion
- Automations
- Job Statuses
- Locales
- Macros
- Restrictions and Responsibilities
- Satisfaction Ratings ✓
- Sharing Agreements
- Suspended Tickets
- Triggers