Ticket mit bestimmtem Subject Weiterleiten
Ticket mit bestimmtem Subject Weiterleiten
hi,
ist es möglich ein neues Ticket an eine Externe Emailadresse weiter zu leiten wenn im Subjekt bestimmte Wörter vorkommen? So soll zum Beispiel eine Mail mit dem Subjekt "Rechnung" direkt an die Buchhaltung geleitet werden. Wenn das nicht geht, kann ich das Ticket dann automatisch einem Benutzer zuordnen?
Ich denke es muss über den Postmaster Filter gehen, aber irgendwie bekomm ich beide Sachen nicht hin.
Danke schonmal für die Hilfe.
Greets Major
ist es möglich ein neues Ticket an eine Externe Emailadresse weiter zu leiten wenn im Subjekt bestimmte Wörter vorkommen? So soll zum Beispiel eine Mail mit dem Subjekt "Rechnung" direkt an die Buchhaltung geleitet werden. Wenn das nicht geht, kann ich das Ticket dann automatisch einem Benutzer zuordnen?
Ich denke es muss über den Postmaster Filter gehen, aber irgendwie bekomm ich beide Sachen nicht hin.
Danke schonmal für die Hilfe.
Greets Major
-
- Znuny newbie
- Posts: 34
- Joined: 14 Mar 2011, 12:57
- Znuny Version: 3
Re: Ticket mit bestimmtem Subject Weiterleiten
Der Postmaster Filter ist sicher die korrekte Stelle. Am besten wird sein, wenn Du beschreibst, was Du dort eingestellt hast. Erst dann kann man dir helfen.
OTRS 3.3.8
Re: Ticket mit bestimmtem Subject Weiterleiten
Ich weis ja nicht was ich einstellen muss
Das ist ja das Problem.
Ich möchte das alle Emails die das Wort "Rechnung" im Subjekt haben an die adresse xxx@xx.de weiterleiten, oder eben wenn das nicht geht, dass alle Mail mit dem Wort "Rechnung" im Subjekt einem bestimmten Benutzer zugewiesen werden.

Ich möchte das alle Emails die das Wort "Rechnung" im Subjekt haben an die adresse xxx@xx.de weiterleiten, oder eben wenn das nicht geht, dass alle Mail mit dem Wort "Rechnung" im Subjekt einem bestimmten Benutzer zugewiesen werden.
-
- Znuny expert
- Posts: 241
- Joined: 06 Feb 2009, 11:15
- Znuny Version: 3.0.x
- Company: Perl-Services.de
- Contact:
Re: Ticket mit bestimmtem Subject Weiterleiten
So könnte der Postmaster-Filter aussehen, der den Ticketbesitzer setzt. Bei $NewUser = '...' musst Du halt noch den Loginnamen des Users setzen, der das Ticket bekommen soll.
Statt des TicketOwnerSet könnte man hier auch die Weiterleitung einbauen, was aber etwas zu aufwändig ist als dass ich es hier in ein paar Minuten programmiert und getestet hätte.
Diese Datei einfach unter <OTRS_HOME>/Kerne/System/PostMaster/Filter/Invoices.pm speichern und die weiter unten aufgeführte Konfiguration in die Kernel/System/Config.pm aufnehmen und dann mal testen...
Kernel/System/PostMaster/Filter/Invoices.pm
Config:
Ist ungetestet, sollte soweit aber funktionieren (wenn kein Syntaxfehler im Modul ist.
Statt des TicketOwnerSet könnte man hier auch die Weiterleitung einbauen, was aber etwas zu aufwändig ist als dass ich es hier in ein paar Minuten programmiert und getestet hätte.
Diese Datei einfach unter <OTRS_HOME>/Kerne/System/PostMaster/Filter/Invoices.pm speichern und die weiter unten aufgeführte Konfiguration in die Kernel/System/Config.pm aufnehmen und dann mal testen...
Kernel/System/PostMaster/Filter/Invoices.pm
Code: Select all
# --
# Kernel/System/PostMaster/Filter/Invoices.pm - the global PostMaster module for OTRS
# Copyright (C) 2011 perl-services.de, http://perl-services.de/
# --
# $Id: Invoices.pm,v 1.4 2011/05/31 07:56:35 rb Exp $
# --
# This software comes with ABSOLUTELY NO WARRANTY. For details, see
# the enclosed file COPYING for license information (AGPL). If you
# did not receive this file, see http://www.gnu.org/licenses/agpl.txt.
# --
package Kernel::System::PostMaster::Filter::Invoices;
use strict;
use Kernel::System::Ticket;
use vars qw($VERSION);
$VERSION = '$Revision: 1.4 $';
$VERSION =~ s/^.*:\s(\d+\.\d+)\s.*$/$1/;
sub new {
my $Type = shift;
my %Param = @_;
# allocate new hash for object
my $Self = {};
bless( $Self, $Type );
$Self->{Debug} = $Param{Debug} || 0;
# get needed objects
for my $Object (
qw(ConfigObject LogObject DBObject TimeObject MainObject EncodeObject)
)
{
$Self->{$Object} = $Param{$Object} || die "Got no $Object!";
}
$Self->{TicketObject} = Kernel::System::Ticket->new( %{$Self} );
return $Self;
}
sub Run {
my ( $Self, %Param ) = @_;
for my $Needed (qw(JobConfig GetParam)) {
if ( !$Param{$Needed} ) {
$Self->{LogObject}->Log(
Priority => 'error',
Message => "Need $Needed!",
);
return;
}
}
$Self->{LogObject}->Log(
Priority => 'notice',
Message => 'TicketID: ' . $Param{TicketID},
);
if ( $Param{GetParam}->{Subject} =~ m{Rechnung} ) {
my $NewUser = 'Userlogin of ticket owner';
# set ticket owner
$Self->{TicketObject}->TicketOwnerSet(
TicketID => $Param{TicketID},
NewUser => $NewUser,
UserID => 1,
);
}
return 1;
}
1;
Code: Select all
$Self->{'PostMaster::PostFilterModule'}->{'010-Invoices'} = {
'Module' => 'Kernel::System::PostMaster::Filter::Invoices'
};
Need a Perl/OTRS developer? You can contact me at info@perl-services.de
-
- Znuny expert
- Posts: 241
- Joined: 06 Feb 2009, 11:15
- Znuny Version: 3.0.x
- Company: Perl-Services.de
- Contact:
Re: Ticket mit bestimmtem Subject Weiterleiten
Wenn das Ticket einfach in eine bestimmte Queue geschoben werden soll, dann kann das so aussehen (Name der Queue müsste natürlich angepasst werden):
You do not have the required permissions to view the files attached to this post.
Need a Perl/OTRS developer? You can contact me at info@perl-services.de
Re: Ticket mit bestimmtem Subject Weiterleiten
Danke das kenn ich schon, denn das Ticket wird schon in eine Queue geschoben. Aber es soll wie gesagt ein Benutzer benachrichtigt werden, wenn diese Mail eintriffen (Eine generelle Benachrichtigung bei neuem Ticket in der Queue ist übrigens keine Option!),
Dein Script bau ich grad ein und sage dir dann Bescheid ob das funktioniert.
Dein Script bau ich grad ein und sage dir dann Bescheid ob das funktioniert.
Re: Ticket mit bestimmtem Subject Weiterleiten
Gibt es eine bestimmte Stelle wo der Code hin muss, bzw wo er nicht hin darf?renee wrote: [/code]
Config:Code: Select all
$Self->{'PostMaster::PostFilterModule'}->{'010-Invoices'} = { 'Module' => 'Kernel::System::PostMaster::Filter::Invoices' };
-
- Znuny expert
- Posts: 241
- Joined: 06 Feb 2009, 11:15
- Znuny Version: 3.0.x
- Company: Perl-Services.de
- Contact:
Re: Ticket mit bestimmtem Subject Weiterleiten
Setz es in <OTRS_HOME>/Kernel/Config.pm einfach direkt vor
Also
Code: Select all
# ---------------------------------------------------- #
# ---------------------------------------------------- #
# #
# End of your own config options!!! #
# #
# ---------------------------------------------------- #
# ---------------------------------------------------- #
Code: Select all
$Self->{'PostMaster::PostFilterModule'}->{'010-Invoices'} = {
'Module' => 'Kernel::System::PostMaster::Filter::Invoices'
};
# ---------------------------------------------------- #
# ---------------------------------------------------- #
# #
# End of your own config options!!! #
# #
# ---------------------------------------------------- #
# ---------------------------------------------------- #
Need a Perl/OTRS developer? You can contact me at info@perl-services.de
Re: Ticket mit bestimmtem Subject Weiterleiten
Hab es ausprobiert, aber wenn ich im PostMaster auf abrufen klicke kommt folgende Fehlermeldung:
Can't locate object method "TicketOwnerSet" via package "Kernel::System::Ticket" at [..]/Invoices.pm
Can't locate object method "TicketOwnerSet" via package "Kernel::System::Ticket" at [..]/Invoices.pm
-
- Znuny expert
- Posts: 241
- Joined: 06 Feb 2009, 11:15
- Znuny Version: 3.0.x
- Company: Perl-Services.de
- Contact:
Re: Ticket mit bestimmtem Subject Weiterleiten
Du benutzt anscheinend ein OTRS < 3.0. Dort heißt die Methode einfach "OwnerSet"...
Need a Perl/OTRS developer? You can contact me at info@perl-services.de
Re: Ticket mit bestimmtem Subject Weiterleiten
richtig, ich nutze noch 2.4.7
. Mit der kleinen Änderung von dir klappt es jetzt, das Ticket wird trotzdem noch in die richtige Queue einsortiert und ich bekomme eine Email, da der Besitz an mich übertragen wurde. Genau das was ich wollte
.
Ich danke dir vielmals.


Ich danke dir vielmals.