Class: ZendeskAPI::Ticket

Inherits:
Resource show all
Extended by:
CreateMany, DestroyMany, UpdateMany
Defined in:
lib/zendesk_api/resources.rb,
lib/zendesk_api/resources.rb

Defined Under Namespace

Classes: Audit, Comment, SatisfactionRating

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

This class inherits a constructor from ZendeskAPI::Data

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class ZendeskAPI::Data

Class Method Details

.create_many!(client, attributes_array, association = Association.new(:class => self)) ⇒ JobStatus Originally defined in module CreateMany

Creates multiple resources using the create_many endpoint.

Parameters:

  • client (Client)

    The ZendeskAPI::Client object to be used

  • attributes_array (Array)

    An array of resources to be created.

Returns:

.destroy_many!(client, ids, association = Association.new(:class => self)) ⇒ JobStatus Originally defined in module DestroyMany

Destroys multiple resources using the destroy_many endpoint.

Parameters:

  • client (Client)

    The Client object to be used

  • ids (Array)

    An array of ids to destroy

Returns:

.import(client, attributes) ⇒ Ticket

Imports a ticket through the imports/tickets endpoint

Parameters:

  • client (Client)

    The Client object to be used

  • attributes (Hash)

    The attributes to create.

Returns:

  • (Ticket)

    Created object or nil



485
486
487
488
489
# File 'lib/zendesk_api/resources.rb', line 485

def self.import(client, attributes)
  ticket = new(client, attributes)
  return unless ticket.save(:path => "imports/tickets")
  ticket
end

.import!(client, attributes) ⇒ Ticket

Imports a ticket through the imports/tickets endpoint using save!

Parameters:

  • client (Client)

    The Client object to be used

  • attributes (Hash)

    The attributes to create.

Returns:

  • (Ticket)

    Created object or nil



475
476
477
478
479
# File 'lib/zendesk_api/resources.rb', line 475

def self.import!(client, attributes)
  new(client, attributes).tap do |ticket|
    ticket.save!(:path => "imports/tickets")
  end
end

.incremental_export(client, start_time) ⇒ Collection

Gets a incremental export of tickets from the start_time until now.

Parameters:

  • client (Client)

    The Client object to be used

  • start_time (Integer)

    The start_time parameter

Returns:



467
468
469
# File 'lib/zendesk_api/resources.rb', line 467

def self.incremental_export(client, start_time)
  ZendeskAPI::Collection.new(client, self, :path => "exports/tickets?start_time=#{start_time.to_i}")
end

.update_many!(client, ids, attributes) ⇒ JobStatus Originally defined in module UpdateMany

Updates multiple resources using the update_many endpoint.

Parameters:

  • client (Client)

    The Client object to be used

  • ids (Array)

    An array of ids to update

  • attributes (Hash)

    The attributes to update resources with

Returns:

Instance Method Details

#assigneeZendeskAPI::User

Returns The associated object

Returns:



437
# File 'lib/zendesk_api/resources.rb', line 437

has :assignee, :class => User

#assignee=(value) ⇒ ZendeskAPI::User

Returns The associated object

Parameters:

Returns:



437
# File 'lib/zendesk_api/resources.rb', line 437

has :assignee, :class => User

#audits(options = {}) ⇒ ZendeskAPI::Ticket::Audit

Returns The associated object

Parameters:

  • options (Hash) (defaults to: {})

    Options to pass to the collection object

Returns:



445
# File 'lib/zendesk_api/resources.rb', line 445

has_many Audit

#audits=(value) ⇒ ZendeskAPI::Ticket::Audit

Returns The associated object

Parameters:

Returns:



445
# File 'lib/zendesk_api/resources.rb', line 445

has_many Audit

#brandZendeskAPI::Brand

Returns The associated object

Returns:



450
# File 'lib/zendesk_api/resources.rb', line 450

has Brand

#brand=(value) ⇒ ZendeskAPI::Brand

Returns The associated object

Parameters:

Returns:



450
# File 'lib/zendesk_api/resources.rb', line 450

has Brand

#collaborators(options = {}) ⇒ ZendeskAPI::User

Returns The associated object

Parameters:

  • options (Hash) (defaults to: {})

    Options to pass to the collection object

Returns:



439
440
441
442
443
# File 'lib/zendesk_api/resources.rb', line 439

has_many :collaborators, :class => User, :inline => true, :extend => (Module.new do
  def to_param
    map(&:id)
  end
end)

#collaborators=(value) ⇒ ZendeskAPI::User

Returns The associated object

Parameters:

Returns:



439
440
441
442
443
# File 'lib/zendesk_api/resources.rb', line 439

has_many :collaborators, :class => User, :inline => true, :extend => (Module.new do
  def to_param
    map(&:id)
  end
end)

#commentZendeskAPI::Ticket::Comment

Returns The associated object

Returns:



453
# File 'lib/zendesk_api/resources.rb', line 453

has Comment, :inline => true

#comment=(value) ⇒ ZendeskAPI::Ticket::Comment

Returns The associated object

Parameters:

Returns:



453
# File 'lib/zendesk_api/resources.rb', line 453

has Comment, :inline => true

#comments(options = {}) ⇒ ZendeskAPI::Ticket::Comment

Returns The associated object

Parameters:

  • options (Hash) (defaults to: {})

    Options to pass to the collection object

Returns:



454
# File 'lib/zendesk_api/resources.rb', line 454

has_many Comment

#comments=(value) ⇒ ZendeskAPI::Ticket::Comment

Returns The associated object

Parameters:

Returns:



454
# File 'lib/zendesk_api/resources.rb', line 454

has_many Comment

#forum_topicZendeskAPI::Topic

Returns The associated object

Returns:



448
# File 'lib/zendesk_api/resources.rb', line 448

has :forum_topic, :class => Topic

#forum_topic=(value) ⇒ ZendeskAPI::Topic

Returns The associated object

Parameters:

Returns:



448
# File 'lib/zendesk_api/resources.rb', line 448

has :forum_topic, :class => Topic

#groupZendeskAPI::Group

Returns The associated object

Returns:



447
# File 'lib/zendesk_api/resources.rb', line 447

has Group

#group=(value) ⇒ ZendeskAPI::Group

Returns The associated object

Parameters:

Returns:



447
# File 'lib/zendesk_api/resources.rb', line 447

has Group

#incidents(options = {}) ⇒ ZendeskAPI::Ticket

Returns The associated object

Parameters:

  • options (Hash) (defaults to: {})

    Options to pass to the collection object

Returns:



461
# File 'lib/zendesk_api/resources.rb', line 461

has_many :incidents, :class => Ticket

#incidents=(value) ⇒ ZendeskAPI::Ticket

Returns The associated object

Parameters:

Returns:



461
# File 'lib/zendesk_api/resources.rb', line 461

has_many :incidents, :class => Ticket

#last_commentZendeskAPI::Ticket::Comment

Returns The associated object

Returns:



456
# File 'lib/zendesk_api/resources.rb', line 456

has :last_comment, :class => Comment, :inline => true

#last_comment=(value) ⇒ ZendeskAPI::Ticket::Comment

Returns The associated object

Parameters:

Returns:



456
# File 'lib/zendesk_api/resources.rb', line 456

has :last_comment, :class => Comment, :inline => true

#last_comments(options = {}) ⇒ ZendeskAPI::Ticket::Comment

Returns The associated object

Parameters:

  • options (Hash) (defaults to: {})

    Options to pass to the collection object

Returns:



457
# File 'lib/zendesk_api/resources.rb', line 457

has_many :last_comments, :class => Comment, :inline => true

#last_comments=(value) ⇒ ZendeskAPI::Ticket::Comment

Returns The associated object

Parameters:

Returns:



457
# File 'lib/zendesk_api/resources.rb', line 457

has_many :last_comments, :class => Comment, :inline => true

#mark_as_spam(options = {}) ⇒ Boolean

Returns Success of this call

Parameters:

  • options (Hash) (defaults to: {})

    Options to pass to the request

Returns:

  • (Boolean)

    Success of this call



432
# File 'lib/zendesk_api/resources.rb', line 432

put :mark_as_spam

#merge(options = {}) ⇒ Boolean

Returns Success of this call

Parameters:

  • options (Hash) (defaults to: {})

    Options to pass to the request

Returns:

  • (Boolean)

    Success of this call



433
# File 'lib/zendesk_api/resources.rb', line 433

post :merge

#metricsZendeskAPI::TicketMetric

Returns The associated object

Returns:



446
# File 'lib/zendesk_api/resources.rb', line 446

has :metrics, :class => TicketMetric

#metrics=(value) ⇒ ZendeskAPI::TicketMetric

Returns The associated object

Parameters:

Returns:



446
# File 'lib/zendesk_api/resources.rb', line 446

has :metrics, :class => TicketMetric

#organizationZendeskAPI::Organization

Returns The associated object

Returns:



449
# File 'lib/zendesk_api/resources.rb', line 449

has Organization

#organization=(value) ⇒ ZendeskAPI::Organization

Returns The associated object

Parameters:

Returns:



449
# File 'lib/zendesk_api/resources.rb', line 449

has Organization

Returns The associated object

Returns:



451
# File 'lib/zendesk_api/resources.rb', line 451

has :related, :class => TicketRelated

#related=(value) ⇒ ZendeskAPI::TicketRelated

Returns The associated object

Parameters:

Returns:



451
# File 'lib/zendesk_api/resources.rb', line 451

has :related, :class => TicketRelated

#requesterZendeskAPI::User

Returns The associated object

Returns:



435
# File 'lib/zendesk_api/resources.rb', line 435

has :requester, :class => User, :inline => :create

#requester=(value) ⇒ ZendeskAPI::User

Returns The associated object

Parameters:

Returns:



435
# File 'lib/zendesk_api/resources.rb', line 435

has :requester, :class => User, :inline => :create

#submitterZendeskAPI::User

Returns The associated object

Returns:



436
# File 'lib/zendesk_api/resources.rb', line 436

has :submitter, :class => User

#submitter=(value) ⇒ ZendeskAPI::User

Returns The associated object

Parameters:

Returns:



436
# File 'lib/zendesk_api/resources.rb', line 436

has :submitter, :class => User

#tags(options = {}) ⇒ ZendeskAPI::Tag

Returns The associated object

Parameters:

  • options (Hash) (defaults to: {})

    Options to pass to the collection object

Returns:



459
# File 'lib/zendesk_api/resources.rb', line 459

has_many Tag, :extend => Tag::Update, :inline => :create

#tags=(value) ⇒ ZendeskAPI::Tag

Returns The associated object

Parameters:

  • value (Hash or ZendeskAPI::Tag)

    The associated object or its attributes

Returns:



459
# File 'lib/zendesk_api/resources.rb', line 459

has_many Tag, :extend => Tag::Update, :inline => :create