RT::Client::REST::Ticket3pm
Ticket object representation.
Usage
my $rt = RT::Client::REST->new(server => $ENV{RTSERVER});# Create a new ticket:my $ticket = RT::Client::REST::Ticket->new(rt => $rt,queue => "General",subject => $subject,)->store(text => "This is the initial text of the ticket");print "Created a new ticket, ID ", $ticket->id, "\n";# Updatemy $ticket = RT::Client::REST::Ticket->new(rt => $rt,id => $id,priority => 10,)->store;# Retrievemy $ticket => RT::Client::REST::Ticket->new(rt => $rt,id => $id,)->retrieve;unless ($ticket->owner eq $me) {$ticket->steal; # Give me more work!}
Version
version 0.72
Overview
RT::Client::REST::Ticket is based on RT::Client::REST::Object. The representation allows one to retrieve, edit, comment on, and create tickets in RT.
Attributes
id-
This is the numeric ID of the ticket.
queue-
This is the
nameof the queue (not numeric id).
owner-
Username of the owner.
creator-
Username of RT user who created the ticket.
subject-
Subject of the ticket.
status-
The status is usually one of the following: "new", "open", "resolved", "stalled", "rejected", and "deleted". However, custom RT installations sometimes add their own statuses.
priority-
Ticket priority. Usually a numeric value.
initial_priority
final_priority
requestor-
This is the attribute for setting the requestor on ticket creation. If you use requestors to do this in 3.8, the recipient may not receive an auto-reply from RT because the ticket is initially created as the user your REST session is connected as.
It is a list attribute (for explanation of list attributes, see LIST ATTRIBUTE PROPERTIES in RT::Client::REST::Object).
requestors-
This contains e-mail addresses of the requestors.
It is a list attribute (for explanation of list attributes, see LIST ATTRIBUTE PROPERTIES in RT::Client::REST::Object).
cc-
A list of e-mail addresses used to notify people of 'correspond' actions.
admin_cc-
A list of e-mail addresses used to notify people of all actions performed on a ticket.
created-
Time at which ticket was created. Note that this is an immutable field and therefore the value cannot be changed..
starts
started
due
resolved
told
time_estimated
time_worked
time_left
last_updated
Attributes storing a time
The attributes which store a time stamp have an additional accessor with the suffix "_datetime" (e.g. "resolved_datetime"). This allows you can get and set the stored value as a DateTime object. Internally, it is converted into the date-time string which RT uses, which is assumed to be in UTC.
DB methods
For full explanation of these, please see "DB METHODS" in RT::Client::REST::Object documentation.
retrieve-
Retrieve RT ticket from database.
- store ([text => $text])
-
Create or update the ticket. When creating a new ticket, optional 'text' parameter can be supplied to set the initial text of the ticket.
search-
Search for tickets that meet specific conditions.
Ticket-specific methods
comment(message => $message, %opts)-
Comment on this ticket with message
$message.%optsis a list of key-value pairs as follows:attachments-
List of filenames (an array reference) that should be attached to the ticket along with the comment.
cc-
List of e-mail addresses to send carbon copies to (an array reference).
bcc-
List of e-mail addresses to send blind carbon copies to (an array reference).
correspond(message => $message, %opts)-
Add correspondence to the ticket. Takes exactly the same arguments as the
commentmethod above.
attachments-
Get attachments associated with this ticket. What is returned is an object of type RT::Client::REST::SearchResult which can then be used to get at objects of type RT::Client::REST::Attachment.
transactions-
Get transactions associated with this ticket. Optionally, you can specify exactly what types of transactions you want listed, for example:
my $result = $ticket->transactions(type => [qw(Comment Correspond)]);Please reference RT::Client::REST documentation for the full list of valid transaction types.
Return value is an object of type RT::Client::REST::SearchResult which can then be used to iterate over transaction objects (RT::Client::REST::Transaction).
take-
Take this ticket. If you already the owner of this ticket,
"RT::Client::REST::Object::NoopOperationException"will be thrown.
untake-
Untake this ticket. If Nobody is already the owner of this ticket,
"RT::Client::REST::Object::NoopOperationException"will be thrown.
steal-
Steal this ticket. If you already the owner of this ticket,
"RT::Client::REST::Object::NoopOperationException"will be thrown.
Custom fields
This class inherits 'cf' method from RT::Client::REST::Object. To create a ticket with a bunch of custom fields, use the following approach:
RT::Client::REST::Ticket->new(rt => $rt,# blah blahcf => {'field one' => $value1,'field two' => $another_value,},)->store;
Some more examples:
# Update a custom field value:$ticket->cf('field one' => $value1);$ticket->store;# Get a custom field value:my $another value = $ticket->cf('field two');# Get a list of ticket's custom field names:my @custom_fields = $ticket->cf;
Internal methods
rt_type-
Returns 'ticket'.
Copyright and license
This software is copyright (c) 2023, 2020 by Dmitri Tikhonov.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
Releases
8 releases since Debian 6.0 (Squeeze); the text changed 7 times.