class Zendesk2::Ticket
Public Instance Methods
audits()
click to toggle source
@return [Zendesk2::TicketAudits] all audits for this ticket
# File lib/zendesk2/ticket.rb, line 123 def audits cistern.ticket_audits(ticket_id: identity).all end
collaborators()
click to toggle source
@return [Array<Zendesk2::User>] All users CCD on this ticket
# File lib/zendesk2/ticket.rb, line 138 def collaborators (collaborator_ids || []).map { |id| cistern.users.get(id) } end
collaborators=(collaborators)
click to toggle source
# File lib/zendesk2/ticket.rb, line 142 def collaborators=(collaborators) collaborators = [collaborators] unless collaborators.is_a?(Array) value = collaborators.map do |collaborator| case collaborator when Zendesk2::User collaborator.identity else collaborator end end attributes[:collaborators] = value end
comment(text, options = {})
click to toggle source
Adds a ticket comment
@param [String] text comment body @param [Hash] options comment options @option options [Array] :attachments Attachment to upload with comment @option options [Boolean] :public (true) @return [Zendesk2::TicketComment]
# File lib/zendesk2/ticket.rb, line 105 def comment(text, options = {}) requires :identity options[:public] = true if options[:public].nil? comment = Zendesk2.stringify_keys(options).merge('body' => text) cistern.ticket_comments.new( cistern.update_ticket( 'ticket' => { 'id' => identity, 'comment' => comment, } ).body['audit']['events'].first ) end
comments()
click to toggle source
@return [Array<Zendesk2::TicketComment>] all comments for this ticket
# File lib/zendesk2/ticket.rb, line 133 def comments cistern.ticket_comments(ticket_id: identity).all end
destroy!()
click to toggle source
# File lib/zendesk2/ticket.rb, line 92 def destroy! requires :identity cistern.destroy_ticket('ticket' => { 'id' => identity }) end
metrics()
click to toggle source
@return [Zendesk2::TicketMetric] metrics for this ticket
# File lib/zendesk2/ticket.rb, line 128 def metrics Zendesk2::TicketMetric.new(cistern.get_ticket_metric('ticket_id' => identity).body['ticket_metric']) end
save!()
click to toggle source
# File lib/zendesk2/ticket.rb, line 72 def save! data = if new_record? requires :subject, :description create_attributes = attributes.dup with_requester = (@requester || nil) && Zendesk2.stringify_keys(@requester) with_requester && create_attributes['requester'] = with_requester cistern.create_ticket('ticket' => create_attributes).body['ticket'] else requires :identity cistern.update_ticket('ticket' => attributes).body['ticket'] end merge_attributes(data) end