Emails mit GenericAgent versenden

Howto's zu OTRS Themen. Keine neuen Topics mit Fragen in diesem Forum!
Post Reply
maxbacks
OTRS superhero
Posts: 326
Joined: 30 Jan 2008, 14:59

Emails mit GenericAgent versenden

Post by maxbacks » 30 Sep 2008, 12:28

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 OTRS AG
# --
# $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
Debian GNU/Linux
OTRS 3.2.4
ITSM 3.2.4

Andre Bauer
OTRS guru
Posts: 2191
Joined: 08 Dec 2005, 17:01
OTRS Version?: 5.0.x
Real Name: André Bauer
Company: Magix Software GmbH
Location: Dresden
Contact:

Emails mit GenericAgent versenden

Post by Andre Bauer » 30 Sep 2008, 14:52

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
OTRS expert
Posts: 68
Joined: 02 Mar 2009, 11:17

Emails mit GenericAgent versenden

Post by d-sl_78 » 23 Mar 2009, 12:11

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
OTRS superhero
Posts: 326
Joined: 30 Jan 2008, 14:59

Emails mit GenericAgent versenden

Post by maxbacks » 27 Mar 2009, 09:44

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
Debian GNU/Linux
OTRS 3.2.4
ITSM 3.2.4

d-sl_78
OTRS expert
Posts: 68
Joined: 02 Mar 2009, 11:17

Emails mit GenericAgent versenden

Post by d-sl_78 » 27 Mar 2009, 12:08

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
OTRS superhero
Posts: 326
Joined: 30 Jan 2008, 14:59

Emails mit GenericAgent versenden

Post by maxbacks » 30 Mar 2009, 09:12

Habe dir den Beitrag angepasst.
den Text führe ich über cron aus
Ticket-System
Debian GNU/Linux
OTRS 3.2.4
ITSM 3.2.4

d-sl_78
OTRS expert
Posts: 68
Joined: 02 Mar 2009, 11:17

Emails mit GenericAgent versenden

Post by d-sl_78 » 31 Mar 2009, 10:42

Super Vielen Dank, werde ich mal ausprobieren.
Gruß
Stefan
Produktiv: OTRS 2.4.7; MySQL 5.0.67; CiCS 3.1.3

flop
OTRS newbie
Posts: 2
Joined: 27 Apr 2009, 14:47
OTRS Version?: 2.3.4

Emails mit GenericAgent versenden

Post by flop » 27 Apr 2009, 14:51

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
OTRS superhero
Posts: 326
Joined: 30 Jan 2008, 14:59

Emails mit GenericAgent versenden

Post by maxbacks » 28 Apr 2009, 17:54

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
Debian GNU/Linux
OTRS 3.2.4
ITSM 3.2.4

diego
OTRS newbie
Posts: 4
Joined: 05 Jun 2009, 07:39
OTRS Version?: 2.3.4
Location: Karlsruhe

Emails mit GenericAgent versenden

Post by diego » 10 Nov 2009, 09:32

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
OTRS newbie
Posts: 29
Joined: 22 Mar 2007, 18:51
OTRS Version?: 3.3.6
Location: Berlin

Re: Emails mit GenericAgent versenden

Post by StephanSch » 31 Jul 2012, 10:10

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
OTRS newbie
Posts: 4
Joined: 15 Sep 2017, 09:30
OTRS Version?: 5.0.11

Re: Emails mit GenericAgent versenden

Post by rainerb » 15 Sep 2017, 10:03

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
OTRS guru
Posts: 2493
Joined: 08 Jul 2010, 22:25
OTRS Version?: 6.0.x

Re: Emails mit GenericAgent versenden

Post by wurzel » 15 Sep 2017, 14:07

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)) Community Edition 6.0.x, LAMP LIVE auf Debian 9
    OTRS 6 Managed Silver

    -- 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
    OTRS newbie
    Posts: 4
    Joined: 15 Sep 2017, 09:30
    OTRS Version?: 5.0.11

    Re: Emails mit GenericAgent versenden

    Post by rainerb » 15 Sep 2017, 14:15

    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
    OTRS wizard
    Posts: 149
    Joined: 22 Sep 2016, 11:44
    OTRS Version?: 5.0.13
    Location: Germany
    Contact:

    Re: Emails mit GenericAgent versenden

    Post by tuxtom » 30 Apr 2018, 08:18

    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 5.0.13, ITSM 5.0.13, KIX 8.0.8

    tim78
    OTRS expert
    Posts: 96
    Joined: 27 Feb 2014, 10:14
    OTRS Version?: diverse
    Real Name: Tim

    Re: Emails mit GenericAgent versenden

    Post by tim78 » 03 Jul 2018, 15:39

    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 4.0.25 Debian mit KIX4OTRS und noch ein paar anderen Erweiterungen.

    poncho
    OTRS newbie
    Posts: 20
    Joined: 03 Apr 2013, 16:41
    OTRS Version?: 3 & 6

    Re: Emails mit GenericAgent versenden

    Post by poncho » 28 Aug 2018, 16:51

    Funktioniert das bei irgendjemandem? Nach meiner Erfahrung und anderer (1, 2) klappt das nicht.

    reneeb
    OTRS guru
    Posts: 4692
    Joined: 13 Mar 2011, 09:54
    OTRS Version?: 3.3.x
    Company: Perl-Services.de
    Contact:

    Re: Emails mit GenericAgent versenden

    Post by reneeb » 28 Aug 2018, 18:33

    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 / OTRS development: http://perl-services.de
    Free OTRS add ons from the community: http://opar.perl-services.de
    Commercial add ons: http://feature-addons.de

    Post Reply