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