Attachments via the CLI

Hey All,

I’m trying to get attachments working via the CLI. I have an external
Perl CGI script which I’ve been using for a simple web based form so
customers can send tickets via that method. I would like to add a
field for attachments and then be able to use the CLI to insert that
attachment into RT.

Does RT’s CLI interface currently have this feature and I’m just
missing it or does it still need to be implemented. If the latter we
have some limited money to help get that feature implemented.

here’s the script i’m using currently that I would like to add the
attachment option to.

Thanks in Advance for any help/advice.


This script creates a support ticket

From the patient modify screen.

return code 1 == success, 0 == error

use lib “/usr/local/rt3/lib”;

use RT::Interface::CLI;
use RT;
use RT::Ticket;
use RT::CurrentUser;
my $CurrentUser = RT::Interface::CLI::GetCurrentUser();
use MIME::Entity;

#code added for cgi form processing
my $tags = GT::Template->tags;

my $return_status = 0;
my $subject = “Update Patient Information:”;
my $provider_id = $tags->{ProviderAHSID};
my $insured_id = $tags->{InsuredID};
my $patient_id = $tags->{PatientID};
my $eclipse_id = $tags->{EclipseID};
my $provider_email = $tags->{ProviderEmail};
my $patient_name = substr($patient_id, 7);

my $body = $tags->{PatientChanges};
if($provider_id eq ‘’ || $patient_id eq ‘’ || $insured_id eq ‘’){
$return_status = “a Patient ID, Insured ID or Provider ID is
missing from the
previous form.”;
return $return_status;
$return_status = 1;

my $ticket = new RT::Ticket($CurrentUser);
my $ticket_body = MIME::Entity->build(Data => $body, Type => ‘text/plain’);
my %ticket_vals = ( Queue => ‘Patientmod’,
Subject => “$subject $patient_name”,
Owner => ‘tammy’,
Requestor => $provider_email,
InitialPriority => ‘10’,
FinalPriority => ‘20’,
MIMEObj => $ticket_body,

note, these field numbers are found from looking at the page source

on a particular custom field in the RT interface

                   'CustomField-1' => $patient_id,
                   'CustomField-2' => $provider_id,
                   'CustomField-3' => $insured_id,
                   'CustomField-4' => $eclipse_id

my ($id, $transaction_object, $err) = $ticket->Create(%ticket_vals);
print STDERR $err . “\n” if $err;
if ($err){return $err;}
else{return $return_status}