'Creates a new support ticket on ZenDesk.
`subject` (self explanatory)
`group_id` The group ID to assign to
`comment_body` (self explanatory)
`comment_is_public` Whether the comment is public or internal
`requester_id` The external user ID for the user submitting
`custom_fields` If custom feilds are defined and need to be set
Returns a JSON object of the newly created ticket.'

def create(self, subject, group_id, comment_body, comment_is_public=False, requester_id=None, custom_fields=[]):

    zd_ticket_create_params = {'ticket': {'requester_id': requester_id, 'subject': subject, 'comment': {'body': comment_body, 'public': comment_is_public}, 'group_id': group_id, 'custom_fields': custom_fields}}
    timer = g.stats.get_timer('providers.zendesk.ticket_create')
    timer.start()
    response = requests.post(('%s/api/v2/tickets.json' % g.live_config['ticket_base_url']), auth=(('%s/token' % g.secrets['zendesk_user']), g.secrets['zendesk_api_key']), headers={'content-type': 'application/json'}, data=json.dumps(zd_ticket_create_params))
    timer.stop
    if (response.status_code != 201):
        g.log.error(('ZENDESK_CREATE_ERROR:    code:    %s    msg:    %s' % (response.status_code, response.text)))
        return None
    return json.loads(response.content)['ticket']
