Hallo OTRS-Gemeinde,
wir arbeiten derzeit mit einem eigenen Export-Tool das uns die OTRS-Tickets in ein Servicecentersystem übermittelt und entsprechende Lösungen wieder einstellt.
Leider ist uns noch nicht gelungen evtl. angehängte Attachments auszugeben.
Deshalb die Frage an das Forum, hat dies schon jemand mit der API und dem StdAttachmentLookup Befehl versucht?
Ist es möglich diese Attachments als Datei auszugeben?
Vielen Dank für Eure Hilfe.
Export von Attachments
-
- Znuny newbie
- Posts: 16
- Joined: 21 Jan 2009, 15:44
Export von Attachments
W2K3 R2 x64 Edition/ Apache 2.2 / OTRS 2.3.2 / MySQL / DB2
Export von Attachments
Probiers mal mit:
und
Weitere Infos: http://dev.otrs.org/cvs/Kernel/System/T ... ticle.html
Code: Select all
ArticleAttachmentIndex()
get article attachment index as hash (ID => hashref (Filename, Filesize, ContentID (if exists), ContentAlternative(if exists) ))
my %Index = $TicketObject->ArticleAttachmentIndex(
ArticleID => 123,
UserID => 123,
);
Code: Select all
ArticleAttachment()
get article attachment (Content, ContentType, Filename and optional ContentID, ContentAlternative)
my %Attachment = $TicketObject->ArticleAttachment(
ArticleID => 123,
FileID => 1,
UserID => 123,
);
"Production": OTRS™ 8, OTRS™ 7, STORM powered by OTRS
"Testing": ((OTRS Community Edition)) and git Master
Never change Defaults.pm! :: Blog
Professional Services:: http://www.otrs.com :: enjoy@otrs.com
"Testing": ((OTRS Community Edition)) and git Master
Never change Defaults.pm! :: Blog
Professional Services:: http://www.otrs.com :: enjoy@otrs.com
-
- Znuny newbie
- Posts: 16
- Joined: 21 Jan 2009, 15:44
Export von Attachments
Hallo JoJo,
vielen Dank für Deine schnelle Antwort, mußte dass jetzt erst mal ausprobieren.
Leider klappt das nicht so ganz. da das Attachment zwar eingelesen wird, aber danach irgendwie nicht ansprechbar ist.
Habe dann aber noch eine Routine aus der Ticket-Library gefunden: ArticleStorageFS.pm
Dort wird eigentlich genau das gemacht was ich brauche, leider habe ich auch hier Probleme mit dem Ansprechen der Übergabevariablen, hier die originale Version:
meine Abwandlung davon sieht jetzt so aus:
Leider bricht mehr das ganze mit der folgenden Fehlermeldung ab:
Wobei Line 179 = dem Aufruf für das Filewrite ist.
Ich weiss das ganze ist etwas hanebüchen, aber leider bin ich nicht mit OOP großgeworden.
vielen Dank für Deine schnelle Antwort, mußte dass jetzt erst mal ausprobieren.
Leider klappt das nicht so ganz. da das Attachment zwar eingelesen wird, aber danach irgendwie nicht ansprechbar ist.
Habe dann aber noch eine Routine aus der Ticket-Library gefunden: ArticleStorageFS.pm
Dort wird eigentlich genau das gemacht was ich brauche, leider habe ich auch hier Probleme mit dem Ansprechen der Übergabevariablen, hier die originale Version:
Code: Select all
# write attachment content to fs
if (
!$Self->{MainObject}->FileWrite(
Directory => $Param{Path},
Filename => $Param{Filename},
Mode => 'binmode',
Content => \$Param{Content},
Permission => '664',
)
Code: Select all
# START write attachment content type to fs
my $exportcontent = '';
if ($Row[9]) { $exportcontent = $Row[9];
my $Path =$tmpDir ;
my $Filename = '';
if ($Row[20]) {
$Filename = $Row[20];
print " Filename: $Path $Filename \n";
}
if ($Row[9]){
my ( $Self, %Param ) = @_;
# define path
$Param{Path} = $Path;
$Param{Filename} = $Filename;
$Param{Content} = $exportcontent;
!$Self->{MainObject}->FileWrite(
Directory => $Param{Path},
Filename => $Param{Filename},
Mode => 'binmode',
Content => \$Param{Content},
Permission => '664',
)
}
Code: Select all
Can't call method "FileWrite" on an undefined value at export_tickets_01.pl
line 179.
Ich weiss das ganze ist etwas hanebüchen, aber leider bin ich nicht mit OOP großgeworden.
W2K3 R2 x64 Edition/ Apache 2.2 / OTRS 2.3.2 / MySQL / DB2
-
- Znuny guru
- Posts: 2189
- Joined: 08 Dec 2005, 17:01
- Znuny Version: 5.0.x
- Real Name: André Bauer
- Company: Magix Software GmbH
- Location: Dresden
- Contact:
Export von Attachments
Speichert ihr die Anhänge denn derzeit in der DB?
Wenn ja, warum stellt ihr nicht einfach auf ArticleStoreageFS um?
Dann werden die Anhänge vonn allein im Filesystem gespeichert.
Dann anhand der der TicketID darauf zuzugreifen, sollte nicht so schwer sein...
Wenn ja, warum stellt ihr nicht einfach auf ArticleStoreageFS um?
Dann werden die Anhänge vonn allein im Filesystem gespeichert.
Dann anhand der der TicketID darauf zuzugreifen, sollte nicht so schwer sein...
Prod: Ubuntu Server 16.04 / Zammad 1.2
DO NOT PM ME WITH OTRS RELATED QUESTIONS! ASK IN THE FORUMS!
OtterHub.org
DO NOT PM ME WITH OTRS RELATED QUESTIONS! ASK IN THE FORUMS!
OtterHub.org
-
- Znuny newbie
- Posts: 16
- Joined: 21 Jan 2009, 15:44
Export von Attachments
Hallo monotek,
ja die Anlagen liegen alle in der DB2, diese wird per TSM gesichert und deshalb sollte das auch so bleiben.
Es sei denn, der obige Befehl kann nicht verwendet werden. Das wäre dann ein guter Grund umzustellen.
ja die Anlagen liegen alle in der DB2, diese wird per TSM gesichert und deshalb sollte das auch so bleiben.
Es sei denn, der obige Befehl kann nicht verwendet werden. Das wäre dann ein guter Grund umzustellen.
W2K3 R2 x64 Edition/ Apache 2.2 / OTRS 2.3.2 / MySQL / DB2
-
- Znuny newbie
- Posts: 16
- Joined: 21 Jan 2009, 15:44
Export von Attachments
Jetzt hab ichs, das hilfreiche Skript des Kollegen Dennis (http://www.otrs-forum.de/viewtopic.php?f=18&t=993) hat mich auf die Idee gebracht, einfach eine eigene Routine für die Ausgabe zu machen:
Die Variablen sind zwar doppelt deklariert, aber mithilfe des binmode Befehls, klappt es jetzt wunderbar.
Code: Select all
$Param{Path} = $Path;
$Param{Filename} = $Filename;
$Param{Content} = $exportcontent;
$Param{ContentType} = $Row[10];
$Param{ArticleID} = $Row[21];
if (open (DATA, "> $Param{Path}/$Param{Filename}")) {
binmode(DATA);
print DATA $Param{Content};
close (DATA);
}