Zendesk ProjectsΒΆ

Zendesk is an online helpdesk system with features such as ticket management, knowledgebase / guide hosting, and live online chatting. As a service, Zendesk has a REST API for which there are several API clients, some official and some unofficial.

During my time at Basho we used Zendesk and had a need for some automation. I continue to be a fan of Python, so I started off with an existing API client, but found that it was no longer maintained. I then forked that client and have since completely rewritten it.

The result is the zdesk package for Python 2 and 3. The unique thing about this API client as compared to others is that it is as complete and accurate as the Zendesk REST API documentation. The API is generated using zdgen, a Python 3 program. Zdgen can be generalized to produce clients in other languages, and I am currently creating a Go library, which is not complete as of this writing (Jan 2018).

One of the most popular applications released using zdesk has been zdgrab, a utility Basho Support used for downloading and extracting ticket attachments.

Additionally, I put a lot of effort into creating a configuration system, contributing to plac_ini and ultimately creating zdeskcfg. Zdeskcfg provides a way for multiple zdesk scripts or programs to easily support command line and configuration file options, with commonly shared parameters for all zdeskcfg-using scripts, such as login, token, and URL.