Emails mit GenericAgent versenden

Howto's zu OTRS Themen. Keine neuen Topics mit Fragen in diesem Forum!
Post Reply
maxbacks
Znuny wizard
Posts: 326
Joined: 30 Jan 2008, 14:59
Znuny Version: 6.0.19
Real Name: Max Hendrik Backs

Emails mit GenericAgent versenden

Post by maxbacks »

Ich habe mir ein Modul zusammen kopiert, um mit dem GenericAgent Emails an einen Empfänger zu senden. Einfach die NotifyEmail.pm im Ordner Kernel/System/GenericAgent/erstellen, anpassen und im GenericAgent aufrufen.

Auszug aus <otrs-home>/Kernel/Config/GenericAgent.pm

Code: Select all

%Jobs = (
'Email auf Ticket 21000120 senden' => {
        TicketNumber => '%21000120%',
        New                 => {
            Module          => 'Kernel::System::GenericAgent::NotifyEmail',
        },    
    },
);

<otrs-home>/Kernel/System/GenericAgent/NotifyEmail.pm

Code: Select all

# --
# Kernel/System/GenericAgent/NotifyEmail.pm - generic agent email sending
# based on Kernel/System/GenericAgent/NotifyAgentGroupOfCustomQueue.pm from xxx
# --
# $Id: NotifyEmail.pm,v 0.1 2008/09/30 11:37
# --
# This software comes with ABSOLUTELY NO WARRANTY. For details, see
# the enclosed file COPYING for license information (GPL). If you
# did not receive this file, see http://www.gnu.org/licenses/gpl-2.0.txt.
# --

package Kernel::System::GenericAgent::NotifyEmail;

use strict;
use warnings;

use Kernel::System::User;
use Kernel::System::Email;
use Kernel::System::Queue;

use vars qw(@ISA $VERSION);
$VERSION = qw($Revision: 1.17 $) [1];

sub new {
    my ( $Type, %Param ) = @_;

    # allocate new hash for object
    my $Self = {};
    bless( $Self, $Type );

    # check needed objects
    for (qw(DBObject ConfigObject LogObject TicketObject TimeObject)) {
        $Self->{$_} = $Param{$_} || die "Got no $_!";
    }

    # 0=off; 1=on;
    $Self->{Debug} = $Param{Debug} || 0;

    $Self->{UserObject}  = Kernel::System::User->new(%Param);
    $Self->{EmailObject} = Kernel::System::Email->new(%Param);
    $Self->{QueueObject} = Kernel::System::Queue->new(%Param);

    return $Self;
}

sub Run {
    my ( $Self, %Param ) = @_;

    # get ticket data
    my %Ticket = $Self->{TicketObject}->TicketGet(%Param);

# bis hier Teile von NotifyAgentGroupOfCustomQueue.pm,v 0.1 2008/09/30 11:37
############################################################################
# ab hier selbst zusammen gesucht

# in dem Array %Ticket stecken alle Infos über das aktuelle Ticket, die über TicketGet() 
# geladen werden können
#
# Body    => 'Die Ticketnummer lautet: '.$Ticket{TicketNumber},
#
# (TicketNumber, TicketID, State, StateID, StateType, Priority, PriorityID, Lock, LockID, 
# Queue, QueueID, CustomerID, CustomerUserID, Owner, OwnerID, Type, TypeID, SLA, SLAID, 
# Service, ServiceID, Responsible, ResponsibleID, Created, Changed, TicketFreeKey1-16, 
# TicketFreeText1-16, TicketFreeTime1-6, ...) 
#
# Weitere Infos um z.B. Anhänge an die Mails zu packen:
# http://dev.otrs.org/cvs/Kernel/System/Email.html bei Send()

    $Self->{EmailObject}->Send(
        From    => 'me@example.com',
        To      => 'friend@example.com',
        Charset => 'utf-8',
        Subject => 'Some words!',
        Type    => 'text/plain',
        Body    => 'Some nice text',
    );

    return 1;
}

1;
Aufgerufen wird das Modul anschließend über

Code: Select all

/opt/otrs/bin/GenericAgent.pl -c Kernel::Config::GenericAgentNotifyEmail
Last edited by maxbacks on 30 Mar 2009, 09:11, edited 1 time in total.
Ticket-System
Ubuntu 18.04
OTRS 6.0.19
Andre Bauer
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:

Emails mit GenericAgent versenden

Post by Andre Bauer »

Coole Sache. Hab ich mir schon ne Weile gewünscht.

Werde deinen Patch mal an mein Feature Request anhängen.

Siehe: http://bugs.otrs.org/show_bug.cgi?id=1886
Prod: Ubuntu Server 16.04 / Zammad 1.2

DO NOT PM ME WITH OTRS RELATED QUESTIONS! ASK IN THE FORUMS!

OtterHub.org
d-sl_78
Znuny newbie
Posts: 68
Joined: 02 Mar 2009, 11:17

Emails mit GenericAgent versenden

Post by d-sl_78 »

Hallo zusammen,+

entschuldigt die Frage, aber was kann man mit dieser Änderung genau erreichen?
Vielen Dank schon mal.

Gruß

Stefan
Produktiv: OTRS 2.4.7; MySQL 5.0.67; CiCS 3.1.3
maxbacks
Znuny wizard
Posts: 326
Joined: 30 Jan 2008, 14:59
Znuny Version: 6.0.19
Real Name: Max Hendrik Backs

Emails mit GenericAgent versenden

Post by maxbacks »

Ich würde es Erweiterung nennen.

Der GenericAgent ist ein Tool zum automatischen Ausführen von Aufgaben, die normalerweise ein richtiger Agent manuell durchführen müsste. Er kann z. B. bestimmte Tickets in einer Queue schließen oder Benachrichtigungen für eskalierte Tickets versenden.
Wir haben noch ein Abrechnungssystem parallel zu OTRS am laufen, wo auch eine Störung aufgemacht wird. Leider können wir mit dem System kein Ticketverlauf dokumentieren, weshalb wir OTRS eingeführt haben. Wenn nun ein Ticket im OTRS geschlossen wird, muss unsere Leitstelle auch darüber informiert werden, um in dem anderen System die Störung zu schließen.
Jetzt kommt NotifyEmail ins Spiel. Ich füre mit cron das Modul einmal in der Stunde aus und suche nach geschlossenen und zusammengefügten Tickets und lasse der Leitstelle automatisiert eine Email zukommen.

Du kannst einfach automatisiert nach Tickets suchen und bei einem Fund eine Mail versenden lassen.
Ticket-System
Ubuntu 18.04
OTRS 6.0.19
d-sl_78
Znuny newbie
Posts: 68
Joined: 02 Mar 2009, 11:17

Emails mit GenericAgent versenden

Post by d-sl_78 »

Danke für deine Antwort. Wie kann ich denn den Aufruf im Generic Agent starten? Ich habe
leider überhaupt kein HowTo gefunden was mit weiterhilft. Hast Du sowas wie eine Kurzanleitung?
Gruß
Stefan
Produktiv: OTRS 2.4.7; MySQL 5.0.67; CiCS 3.1.3
maxbacks
Znuny wizard
Posts: 326
Joined: 30 Jan 2008, 14:59
Znuny Version: 6.0.19
Real Name: Max Hendrik Backs

Emails mit GenericAgent versenden

Post by maxbacks »

Habe dir den Beitrag angepasst.
den Text führe ich über cron aus
Ticket-System
Ubuntu 18.04
OTRS 6.0.19
d-sl_78
Znuny newbie
Posts: 68
Joined: 02 Mar 2009, 11:17

Emails mit GenericAgent versenden

Post by d-sl_78 »

Super Vielen Dank, werde ich mal ausprobieren.
Gruß
Stefan
Produktiv: OTRS 2.4.7; MySQL 5.0.67; CiCS 3.1.3
flop
Znuny newbie
Posts: 2
Joined: 27 Apr 2009, 14:47
Znuny Version: 2.3.4

Emails mit GenericAgent versenden

Post by flop »

Hi maxbacks!

Ansich klappt das ja super mit deinem GenericAgent, ich kann nun emails verschicken etc.
Du hast geschrieben, dass du den Agent laufen laesst, sobald ein Ticket geschlossen wird.
Und genau das brauche ich auch.

Ich wuerde gerne den Job laufen lassen (und zwar auch nur ein einziges Mal), wenn das Ticket geschlossen wird.
Aus dem selben Grund, wehsalb du das NotifyEmail.pm benutzt ;-)

Wo muss ich ansetzen, dass der Job genau dann ausgefuehrt wird, wenn das Ticket geschlossen wird?
Besser noch, wenn ich eine Email-Antwort schreibe und auf "closed successful" stelle?

(Ich schicke dann den letzten Kommentar vom Agenten mit in der Email, damit auch das andere System "bescheid weiss")

Thx,

flop
maxbacks
Znuny wizard
Posts: 326
Joined: 30 Jan 2008, 14:59
Znuny Version: 6.0.19
Real Name: Max Hendrik Backs

Emails mit GenericAgent versenden

Post by maxbacks »

hi flop,

ich lasse den Job stündlich laufen und habe als suchoption "TicketCloseTimeNewerMinutes => 60" angegeben.

Code: Select all

%Jobs = (
'Email auf Ticket 21000120 senden' => {
        TicketCloseTimeNewerMinutes => 60,
        New                 => {
            Module          => 'Kernel::System::GenericAgent::NotifyEmail',
        },   
    },
);
Das NotifyEmail Modul wird dann immer für jedes Ticket ausgeführt, welches über TicketCloseTimeNewerMinutes zurück gegeben wird.
Ticket-System
Ubuntu 18.04
OTRS 6.0.19
diego
Znuny newbie
Posts: 4
Joined: 05 Jun 2009, 07:39
Znuny Version: 2.3.4
Location: Karlsruhe

Emails mit GenericAgent versenden

Post by diego »

Hallo,

danke für die Super Anleitung, das funktioniert so schon wunderbar.

Weiß aber jemand noch wie man den Original-Text des Tickets als Body in die NotifyEmail-Antwort bekommen kann?

Code: Select all

 $Self->{EmailObject}->Send(
        From    => 'test1@firma.de',
        To        => 'test2@firma.de',
        Charset => 'utf-8',
        Subject => 'Ticket#' .$Ticket{TicketNumber},
        Type     => 'text/plain',
        Body     => 'Hier sollte der Inhalt des Tickets stehen'
Gibt's dafür eventuell eine bestimmte Variable?

Gruß
diego
StephanSch
Znuny newbie
Posts: 29
Joined: 22 Mar 2007, 18:51
Znuny Version: 3.3.6
Location: Berlin

Re: Emails mit GenericAgent versenden

Post by StephanSch »

Trotz des Alters des Tickets funktioniert das noch super.

Kann mir jemand sagen wie ich Anhänge des mit GenericAgent behandelten Tickets mit versenden kann?
Ich muss an sich den Anhang eines eingehenden Tickets in einer bestimmten Queue an eine feste eMail weiterleiten.
OTRS Produktiv: 3.3.6
OS: Debian 7
Apache 2.2.22
MySQL 5.5.35
rainerb
Znuny newbie
Posts: 4
Joined: 15 Sep 2017, 09:30
Znuny Version: 5.0.11

Re: Emails mit GenericAgent versenden

Post by rainerb »

Hi,
klingt einfach und gut aber irgendwie klappt das bei mir nicht. Habe otrs 5.0.11 auf einem ubuntu Linux.

ich finde schon die GenericAgent.pm nicht. die ordner sind irgendwie anders.
habe im ordner /opt/otrs/Kernel/System/GenericAgent das Modul MailDP.pm abgelegt.
Müsste es nicht genügen im OTRS Administration GenericAgents. im jeweiligen Job das benutzerdefinierte Modul Kernel::System::GenericAgent::MailDP anzugeben damit es ausgeführt wird???

bin für jede Hilfe Dankbar.
VG
Rainer
wurzel
Znuny guru
Posts: 3218
Joined: 08 Jul 2010, 22:25
Znuny Version: x.x.x
Real Name: Florian

Re: Emails mit GenericAgent versenden

Post by wurzel »

Hi,

die Ticket Notifications in der Version5 sollten Dir helfen. Da brauchst Du den Generic Agent nicht mehr oder
nur als Trigger.

viele Grüße
Florian
OTRS 8 SILVER (Prod)
OTRS 8 auf Debian 11 (Test)
Znuny 7.x latest version testing auf Debian 11

-- Ich beantworte keine Forums-Fragen PN - No PN please

I won't answer to unfriendly users any more. A greeting and regards are just polite.
rainerb
Znuny newbie
Posts: 4
Joined: 15 Sep 2017, 09:30
Znuny Version: 5.0.11

Re: Emails mit GenericAgent versenden

Post by rainerb »

Hi Florian,

danke. Das hab ich natürlich auch versucht. Problem ist dass ich nicht die richtige Kombination hin bekomme.

ich möchte wenn eine erinnerungszeit erreicht ist, eine email an einen fixen externen teilnehmer verschicken und die erinnerungszeit dann wieder hoch setzen.
mein letztes vorgehen wie folgt:
generic Agent prüft zunächst alle tickets auf abgelaufende erinnerungszeit, setzt diese hoch und schreibt eine Notiz ins ticket "Erinnerung erhöht um...".

die ticketbenachrichtigung läuft auf articlecreate mit filter auf den den Betreff Erinnerung erhöht*
leider funktioniert dies nicht.
tuxtom
Znuny expert
Posts: 173
Joined: 22 Sep 2016, 11:44
Znuny Version: 6.0.38
Real Name: Tux
Location: Germany
Contact:

Re: Emails mit GenericAgent versenden

Post by tuxtom »

Hi Alle,
ich würde gerne das Thema wieder ansprechen.
Gibt es eine Möglichkeit das der GenericAgent nach Abschluss des Jobs eine Mail versendet?

Oder ist die wie hier (siehe oben) beschriebene manuelle Lösung noch aktuell?

OTRS 5.0.23
Gruß, Tom
-----------------------
Debian
OTRS 6.0.38, ITSM 6
tim78
Znuny advanced
Posts: 107
Joined: 27 Feb 2014, 10:14
Znuny Version: diverse
Real Name: Tim

Re: Emails mit GenericAgent versenden

Post by tim78 »

Hallo Tom,

mit ein bißchen Schummeln kein Problem.

Lass den GenericAgent am Schluss einen Wert in einem dynamischen Feld setzen und generiere dir eine TicketBenachrichtigung mit dem Kriterium TicketDynamicFieldUpdate_Feldname und eventuell noch dem gesetzten Wert als Filter und fertig.
Grüße
Tim

aktuell im Einsatz: hauptsächlich OTRS 5.0.34 auf Debian mit ein paar Erweiterungen.
poncho
Znuny newbie
Posts: 20
Joined: 03 Apr 2013, 16:41
Znuny Version: 3 & 6

Re: Emails mit GenericAgent versenden

Post by poncho »

Funktioniert das bei irgendjemandem? Nach meiner Erfahrung und anderer (1, 2) klappt das nicht.
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: Emails mit GenericAgent versenden

Post by reneeb »

Hast Du im GenericAgent denn eingestellt, dass eine Benachrichtigung verschickt werden soll? Das ist unter "Ticket-Befehle ausführen". Wenn dort der Haken nicht gesetzt ist, wird das entsprechende Event nicht getriggert.
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
Post Reply