OTRS is blogging!

May 26th, 2010

Nun ist es endlich soweit. OTRS hat ein eigenes Blog unter http://blog.otrs.org/ Meine eigenen OTRS spezifisches Einträge werden zukünftig nur noch dort erscheinen.

Mehr Infos: http://blog.otrs.org/2010/05/25/otrs-new-blog-a-first-post-from-the-community/

SOAP Beispiel “Hot Potatoe Reporting” – Teil 2

January 12th, 2010

Hier nur das komplette Script, um die “heißen Kartoffeln herauszufinden:


jb$ ./rpc_getmove-hot-potatoe.pl -m 6
NOTICE: Ticket#2010010610000011 (4) - number of used Queues: 8 - Limit: 6

Die Option -m gibt die maximale Anzahl der erlaubten Queues an, d.h. wird dieser Wert überschritten, wird die Ticketnummer ausgegeben.

Weitere Suchoptionen finden sich in der API Beschreibung der TicketSearch

Das Script setzt eine aktivierte SOAP Schnittstelle im OTRS voraus, sowie ein installiertes SOAP::Lite auf dem Rechner, auf dem das Script ausgeführt wird.

#!/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( 'm:', \%opts );
if ( !$opts{m} ) {
    print STDERR "ERROR: Need -m Maximum Queues\n";
    exit 1;
}
# SOAP script
my $RPC = Core->new();
 
# Getting all Open Tickets
my @TicketIDs = $RPC->Dispatch( $SOAP_User, $SOAP_Pass, 'TicketObject', 'TicketSearch',
        Limit  => 100000,
        Result => 'ARRAY',
        UserID => 1,
#       Queues   => ['system queue', 'other queue'],
#       UseSubQueues => 1,
        StateType    => ['open', 'new', 'pending reminder'],
    );
 
# Start of for statement
for my $TicketID (@TicketIDs) {
        my @QueueList = $RPC->Dispatch( $SOAP_User, $SOAP_Pass, 'TicketObject', 'MoveQueueList',
                TicketID => $TicketID,
                Type     => 'Name',
        );
        my $TicketNumber = $RPC->Dispatch( $SOAP_User, $SOAP_Pass, 'TicketObject', 'TicketNumberLookup',
                TicketID => $TicketID,
        );
        $QL = scalar @QueueList;
        if ( $opts{m} < $QL )
                {
                print "NOTICE: Ticket#$TicketNumber ($TicketID) - number of used Queues: $QL - Limit: $opts{m}\n";
                }
}
exit 0;

SOAP Beispiel: “Hot Potatoe Reporting” – Teil 1

January 11th, 2010

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

Dashboard IFrame Plugin

January 6th, 2010

Das OTRS Dashboard kann bereits externe Grafiken anzeigen. Das IFrame Plugin dient dazu eine komplette Webseite im Dashboard anzuzeigen, oder anderen externen Content (z.B. einen Flashvideoplayer).

Nützlich z.B. um externe Admintools, Reports, Speisekarte der Kantine oder alles andere was einem in den Sinn kommt einzubinden…

Das ganze kommt in der nächsten OTRS Version, hier aber schon mal als “Backport” für die 2.4

DashboardIFrame-0.0.1.opm

noch mehr RSS Feeds in der SysConfig

January 6th, 2010

Neben der im letzten Post vorgestellten Möglichkeit zusätzliche RSS Feeds zu bekommen gibt es noch eine komfortablere Methode via SysConfig: Framework -> Frontend::Agent::Dashboard

Dazu muss der SysConfig eine zusätzliche Konfiguration “untergeschoben” werden. Es handelt sich hierbei um eine XML Datei, die im Verzeichnis Kernel/Config/Files hinterlegt werden muss. (Nach herunterladen muss die Datei in CustomRSS.xml umbenannt werden!)

Danach lassen sich die zusätzlichen RSS Feeds via SysConfig pflegen….

CustomRSS.xml