PostMaster::PreFilterModule ExternalTicketNumberRecognition1

Allgemein Fragen, deutsche News, Ankündigungen & Events zu Znuny
Locked
Monitor02
Znuny newbie
Posts: 46
Joined: 22 Sep 2014, 16:13
Znuny Version: 4.0.7

PostMaster::PreFilterModule ExternalTicketNumberRecognition1

Post by Monitor02 »

Hallo zusammen,

ich bin dabei eine ExternalTicketNumberRecognition einzurichten.
Der Article Type wird angepasst, aber das Dynamic Field 'ExternalNumber' bleibt leer.
Ein zweites Ticket mit der gleichen externen Ticketnummer wird auch nicht mit dem Ticket verbunden
(kann ja auch nach meinem Verständnis nicht wenn das Dynamic Field 'ExternalNumber' leer bleibt).

Das Feld 'ExternalNumber' ist vom Feldtyp Text und Objekttyp Ticket

Habe ich irgend etwas bei der Konfiguration übersehen?

Vielen Dank im voraus und Gruß

Thomas

OTRS Version 3.3.10 / 4.2
You do not have the required permissions to view the files attached to this post.
reneeb
Znuny guru
Posts: 5018
Joined: 13 Mar 2011, 09:54
Znuny Version: 6.0.x
Real Name: Renée Bäcker
Company: Perl-Services.de
Contact:

Re: PostMaster::PreFilterModule ExternalTicketNumberRecognition1

Post by reneeb »

Wie sehen denn die externen Ticketnummern aus? Und poste mal den Regex...
Perl / Znuny development: http://perl-services.de
Free Znuny add ons from the community: http://opar.perl-services.de
Commercial add ons: http://feature-addons.de
Monitor02
Znuny newbie
Posts: 46
Joined: 22 Sep 2014, 16:13
Znuny Version: 4.0.7

Re: PostMaster::PreFilterModule ExternalTicketNumberRecognition1

Post by Monitor02 »

Hier ein Beispiel für eine Ticketnummer: Incident-12345
Der Regex ist: \s*Incident-(\d.*)\s*
reneeb
Znuny guru
Posts: 5018
Joined: 13 Mar 2011, 09:54
Znuny Version: 6.0.x
Real Name: Renée Bäcker
Company: Perl-Services.de
Contact:

Re: PostMaster::PreFilterModule ExternalTicketNumberRecognition1

Post by reneeb »

Und wie sieht ein Betreff aus?
Perl / Znuny development: http://perl-services.de
Free Znuny add ons from the community: http://opar.perl-services.de
Commercial add ons: http://feature-addons.de
Monitor02
Znuny newbie
Posts: 46
Joined: 22 Sep 2014, 16:13
Znuny Version: 4.0.7

Re: PostMaster::PreFilterModule ExternalTicketNumberRecognition1

Post by Monitor02 »

In der Betreff Zeile steht nur: Incident-12345
reneeb
Znuny guru
Posts: 5018
Joined: 13 Mar 2011, 09:54
Znuny Version: 6.0.x
Real Name: Renée Bäcker
Company: Perl-Services.de
Contact:

Re: PostMaster::PreFilterModule ExternalTicketNumberRecognition1

Post by reneeb »

Mach aus (\d.*) mal (\d+)... Ansonsten müsstest Du in Kernel/System/PostMaster/Filter/ExternalTicketNumberRecognition.pm in der sub new() mal das $Self->{Debug} auf 2 setzen und dann mal im Log schauen.
Perl / Znuny development: http://perl-services.de
Free Znuny add ons from the community: http://opar.perl-services.de
Commercial add ons: http://feature-addons.de
Monitor02
Znuny newbie
Posts: 46
Joined: 22 Sep 2014, 16:13
Znuny Version: 4.0.7

Re: PostMaster::PreFilterModule ExternalTicketNumberRecognition1

Post by Monitor02 »

der Regex sollte passen (mit (\d+) aber auch), da er den Article Typ auf "note-report" gesetzt wird.

'ArticleType' => 'note-report'

Die externe Ticketnummer wird aber nicht in das dynamische Feld geschrieben.
reneeb
Znuny guru
Posts: 5018
Joined: 13 Mar 2011, 09:54
Znuny Version: 6.0.x
Real Name: Renée Bäcker
Company: Perl-Services.de
Contact:

Re: PostMaster::PreFilterModule ExternalTicketNumberRecognition1

Post by reneeb »

Schalte mal das Debugging ein.
Perl / Znuny development: http://perl-services.de
Free Znuny add ons from the community: http://opar.perl-services.de
Commercial add ons: http://feature-addons.de
Monitor02
Znuny newbie
Posts: 46
Joined: 22 Sep 2014, 16:13
Znuny Version: 4.0.7

Re: PostMaster::PreFilterModule ExternalTicketNumberRecognition1

Post by Monitor02 »

Sieht am Anfang noch alles gut aus:

[Fri Dec 12 08:49:29 2014][Debug][Kernel::System::PostMaster::Filter::ExternalTicketNumberRecognition::Run][49] starting Filter Test External Ticket Number
[Fri Dec 12 08:49:29 2014][Debug][Kernel::System::PostMaster::Filter::ExternalTicketNumberRecognition::Run][81] Found number: 12345‏‏‏‏‏‏ in subject
[Fri Dec 12 08:49:29 2014][Debug][Kernel::System::PostMaster::Filter::ExternalTicketNumberRecognition::Run][127] Found number 12345‏‏‏‏‏‏
...

Und dann die entsprechende Fehlermeldung:

[Fri Dec 12 08:49:29 2014][Error][Kernel::System::DynamicFieldValue::ValueSet][167] Incorrect string value: '\xE2\x80\x8F\xE2\x80\x8F...' for column 'value_text' at row 1, SQL: 'INSERT INTO dynamic_field_value (field_id, object_id, value_text, value_date, value_int) VALUES (?, ?, ?, ?, ?)'
[Fri Dec 12 08:49:29 2014][Error][Kernel::System::DynamicField::Backend::ValueSet][479] Could not update field ExternalNumber for Ticket ID 784024 !
reneeb
Znuny guru
Posts: 5018
Joined: 13 Mar 2011, 09:54
Znuny Version: 6.0.x
Real Name: Renée Bäcker
Company: Perl-Services.de
Contact:

Re: PostMaster::PreFilterModule ExternalTicketNumberRecognition1

Post by reneeb »

Hast Du noch einen anderen PostmasterFilter, der was mit Dynamischen Feldern macht? Kannst Du mal in Kernel/System/PostMaster/NewTicket.pm das "print ...." in Zeile https://github.com/OTRS/otrs/blob/rel-3 ... et.pm#L303 über das "if()" setzen und dann nochmal laufen lassen und im Log nachschauen?
Perl / Znuny development: http://perl-services.de
Free Znuny add ons from the community: http://opar.perl-services.de
Commercial add ons: http://feature-addons.de
Monitor02
Znuny newbie
Posts: 46
Joined: 22 Sep 2014, 16:13
Znuny Version: 4.0.7

Re: PostMaster::PreFilterModule ExternalTicketNumberRecognition1

Post by Monitor02 »

Ich habe die Kernel/System/PostMaster/NewTicket.pm angepasst:

if ( $Self->{Debug} > 2 ) {
print "$Key: " . $GetParam{$Key} . "\n";

Im Log sind aber keinen neuen Einträge dazu gekommen...
Monitor02
Znuny newbie
Posts: 46
Joined: 22 Sep 2014, 16:13
Znuny Version: 4.0.7

Re: PostMaster::PreFilterModule ExternalTicketNumberRecognition1

Post by Monitor02 »

Die Suche nach einer vorhandenen ExternalTicketNumber läuft auch auf einen Fehler (Der Error war schon vor der zweiten Debug Änderung im Log. Habe ich übersehen...).

[Fri Dec 12 08:49:29 2014][Error][Kernel::System::Ticket::TicketSearch::TicketSearch][2130] Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=', SQL: 'SELECT DISTINCT st.id, st.tn, st.create_time_unix FROM ticket st INNER JOIN queue sq ON sq.id = st.queue_id INNER JOIN dynamic_field_value dfv1
ON (st.id = dfv1.object_id
AND dfv1.field_id = 70) WHERE 1=1 AND st.ticket_state_id IN ( 1, 4 ) AND ( dfv1.value_text = '12345‏‏‏‏‏‏' ) AND archive_flag = 0 ORDER BY st.create_time_unix DESC LIMIT 1'
jojo
Znuny guru
Posts: 15020
Joined: 26 Jan 2007, 14:50
Znuny Version: Git Master
Contact:

Re: PostMaster::PreFilterModule ExternalTicketNumberRecognition1

Post by jojo »

dann solltest Du mal Deine Datenbank reparieren. Muss alles utf8 sein
"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
reneeb
Znuny guru
Posts: 5018
Joined: 13 Mar 2011, 09:54
Znuny Version: 6.0.x
Real Name: Renée Bäcker
Company: Perl-Services.de
Contact:

Re: PostMaster::PreFilterModule ExternalTicketNumberRecognition1

Post by reneeb »

Monitor02 wrote:Ich habe die Kernel/System/PostMaster/NewTicket.pm angepasst:

if ( $Self->{Debug} > 2 ) {
print "$Key: " . $GetParam{$Key} . "\n";

Im Log sind aber keinen neuen Einträge dazu gekommen...
$Self->{Debug} ist in dem Modul 0, deswegen gibt es nix neues. Bitte das print *vor* das if.
Perl / Znuny development: http://perl-services.de
Free Znuny add ons from the community: http://opar.perl-services.de
Commercial add ons: http://feature-addons.de
Monitor02
Znuny newbie
Posts: 46
Joined: 22 Sep 2014, 16:13
Znuny Version: 4.0.7

Re: PostMaster::PreFilterModule ExternalTicketNumberRecognition1

Post by Monitor02 »

Ich habe die Zeile print... jetzt vor das if gesetzt, aber keine weiteren Log Einträge...
Ich hoffe das war jetzt richtig so.

print "$Key: " . $GetParam{$Key} . "\n";
if ( $Self->{Debug} > 0 ) {
Monitor02
Znuny newbie
Posts: 46
Joined: 22 Sep 2014, 16:13
Znuny Version: 4.0.7

Re: PostMaster::PreFilterModule ExternalTicketNumberRecognition1

Post by Monitor02 »

@jojo

"dann solltest Du mal Deine Datenbank reparieren. Muss alles utf8 sein"

Gibt es dafür einen SQL Befehl?
reneeb
Znuny guru
Posts: 5018
Joined: 13 Mar 2011, 09:54
Znuny Version: 6.0.x
Real Name: Renée Bäcker
Company: Perl-Services.de
Contact:

Re: PostMaster::PreFilterModule ExternalTicketNumberRecognition1

Post by reneeb »

Perl / Znuny development: http://perl-services.de
Free Znuny add ons from the community: http://opar.perl-services.de
Commercial add ons: http://feature-addons.de
Monitor02
Znuny newbie
Posts: 46
Joined: 22 Sep 2014, 16:13
Znuny Version: 4.0.7

Re: PostMaster::PreFilterModule ExternalTicketNumberRecognition1

Post by Monitor02 »

Die DB Konvertierung auf utf8 läuft.
Ich bin gespannt…
Monitor02
Znuny newbie
Posts: 46
Joined: 22 Sep 2014, 16:13
Znuny Version: 4.0.7

Re: PostMaster::PreFilterModule ExternalTicketNumberRecognition1

Post by Monitor02 »

Super, das war es. Vielen Dank.
Monitor02
Znuny newbie
Posts: 46
Joined: 22 Sep 2014, 16:13
Znuny Version: 4.0.7

Re: PostMaster::PreFilterModule ExternalTicketNumberRecognition1

Post by Monitor02 »

Noch eine Frage zu dem NumberRegExp:

Ich habe aktuell diesen Eintrag:

\s*Incident-(\d.*)\s*

Er sucht den String 'Incident-' und nimmt alles was dahinter steht als ExternalTicketNumber.

Das funktioniert wenn die Nummer am Ende steht. Folgt aber ein Leerzeichen oder ein Text wird der als ExternalTicketNumber interpretiert.

Beistpiel:

Test Incident-1234 Test

Hier wird die ExternalTicketNumber mit dem String '1234 Test' gefüllt.
Ich habe erwartet das durch das \d. nur Zahlen eingelesen und durch das \s* am Ende bei einem Leerzeichen beendet wird.

Kann mir da noch jemand weiterhelfen?

Danke.
reneeb
Znuny guru
Posts: 5018
Joined: 13 Mar 2011, 09:54
Znuny Version: 6.0.x
Real Name: Renée Bäcker
Company: Perl-Services.de
Contact:

Re: PostMaster::PreFilterModule ExternalTicketNumberRecognition1

Post by reneeb »

reneeb wrote:Mach aus (\d.*) mal (\d+)...
Perl / Znuny development: http://perl-services.de
Free Znuny add ons from the community: http://opar.perl-services.de
Commercial add ons: http://feature-addons.de
Monitor02
Znuny newbie
Posts: 46
Joined: 22 Sep 2014, 16:13
Znuny Version: 4.0.7

Re: PostMaster::PreFilterModule ExternalTicketNumberRecognition1

Post by Monitor02 »

Ja, jetzt läuft es wie erhofft.
Nochmal Danke.
Locked