CliBasics
Jump to navigation
Jump to search
Here is some basic Perl code for creating a batch of tickets using the CLI interface to RT. To get the proper numbers for the custom values fields use the 'View Source' option when looking at a ticket in the appropriate queue. This is just a quick script, but it should give enough pointers to get you started on creating tickets.
- !/usr/bin/perl -w
use RT::Interface::CLI; use RT; RT::LoadConfig(); RT::Init(); use RT::Ticket; use RT::CurrentUser; my $CurrentUser = RT::Interface::CLI::GetCurrentUser(); use MIME::Entity; $LEASE = "/home/dawsons/rt/leasedata"; # each line gives info on a ticket to create open(LEASE, "<$LEASE") || die "Couldn't open $LEASE: $!"; while (<LEASE>) { chomp; ($subject, $dept, $replacement, $body, $j) = split(/\t/, $_, 5); print STDERR "Have extra data '$j'\n" if $j; my $ticket = new RT::Ticket($CurrentUser); my $ticket_body = MIME::Entity->build(Data => $body, Type => 'text/plain'); my %ticket_vals = ( Queue => 'Lease', Subject => $subject, Owner => 'root', Requestor => 'root@augsburg.edu', InitialPriority => '11', FinalPriority => '20', MIMEObj => $ticket_body, 'CustomField-5' => $dept, 'CustomField-14' => $replacement ); my ($id, $transaction_object, $err) = $ticket->Create(%ticket_vals); print STDERR $err . "\n" if $err; }