class HelpDeskAPI::Ticket
Constants
- KEYS
Public Class Methods
new(summary = nil, description = nil, assignee_id = nil, priority = nil)
click to toggle source
# File lib/helpdeskapi/ticket.rb, line 32 def initialize(summary = nil, description = nil, assignee_id = nil, priority = nil) @summary = summary @description = description @assignee_id = assignee_id @priority = priority end
Public Instance Methods
close()
click to toggle source
# File lib/helpdeskapi/ticket.rb, line 73 def close end
comment(body)
click to toggle source
# File lib/helpdeskapi/ticket.rb, line 88 def comment(body) HelpDeskAPI::Comment.new @id, body end
comments()
click to toggle source
# File lib/helpdeskapi/ticket.rb, line 84 def comments HelpDeskAPI::Comments.comments @id end
delete()
click to toggle source
# File lib/helpdeskapi/ticket.rb, line 79 def delete headers = {'authenticity_token': HelpDeskAPI::Authentication.authenticity_token, 'X-CSRF-Token': HelpDeskAPI::Authentication.csrf_token, 'Content-Type': 'application/json'} HelpDeskAPI::Request.request('DELETE', Endpoints::TICKETS + "/#{@id}", nil, headers) end
parse(ticket_hash)
click to toggle source
# File lib/helpdeskapi/ticket.rb, line 39 def parse(ticket_hash) HelpDeskAPI::Utilities.validateHash(ticket_hash, KEYS) KEYS.each do |key| instance_variable_set '@'+key, ticket_hash[key] self.class.class_eval { attr_accessor key } end return self end
reopen()
click to toggle source
# File lib/helpdeskapi/ticket.rb, line 76 def reopen end
submit()
click to toggle source
# File lib/helpdeskapi/ticket.rb, line 48 def submit payload = JSON.generate({ ticket: { summary: @summary, description: @description, priority: @priority, due_at: nil, updated_at: nil, created_at: nil, organization_id: HelpDeskAPI::Authentication.organization_id, assignee_id: @assignee_id, assignee_type: 'User', creator_id: HelpDeskAPI::Authentication.creator_id, creator_type: 'User', custom_values: [], ticket_category_id: nil, ticket_category_type: nil, watchers: [] } }) headers = {'authenticity_token': HelpDeskAPI::Authentication.authenticity_token, 'X-CSRF-Token': HelpDeskAPI::Authentication.csrf_token, 'Content-Type': 'application/json'} response = HelpDeskAPI::Request.request('POST', Endpoints::TICKETS, payload, headers) parse JSON.parse(response)['tickets'].first end