Das folgende Script gibt die Anzahl der genutzten Queues eines Tickets aus. Dies bedeutet die Move Anzahl ist dementsprechend um 1 weniger.
Für die Nutzung muss das SOAP Interface des OTRS per SysConfig aktiviert werden!
#!/usr/bin/perl -w # SOAP Config use SOAP::Lite( 'autodispatch', proxy => 'http://otrsserver/otrs/rpc.pl' ); my $SOAP_User = 'otrs'; my $SOAP_Pass = 'test'; # getting TicketID use Getopt::Std; my %opts; getopts( 'i:', \%opts ); if ( !$opts{i} ) { print STDERR "ERROR: Need -i TicketID\n"; exit 1; } # SOAP script my $RPC = Core->new(); my @QueueList = $RPC->Dispatch( $SOAP_User, $SOAP_Pass, 'TicketObject', 'MoveQueueList', TicketID => $opts{i}, Type => 'Name', ); my $TicketNumber = $RPC->Dispatch( $SOAP_User, $SOAP_Pass, 'TicketObject', 'TicketNumberLookup', TicketID => $opts{i}, ); $QL = scalar @QueueList; print "NOTICE: Ticket#$TicketNumber ($opts{i}) - number of moves is $QL\n"; exit 0;
So sieht es dann aus:
jb$ ./rpc_getmove.pl -i 4
NOTICE: Ticket#2010010610000011 (4) - number of moves is 8