Emails mit GenericAgent versenden

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

Emails mit GenericAgent versenden

Postby 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

Postby 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

Postby 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

Postby 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

Postby 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

Postby 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

Postby 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

Postby 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

Postby 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

Postby 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

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

Re: Emails mit GenericAgent versenden

Postby 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: 2165
Joined: 08 Jul 2010, 22:25
OTRS Version?: 5.0.x

Re: Emails mit GenericAgent versenden

Postby 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 6.0.x, LAMP LIVE auf Debian 9
    OTRS Business Solution™ 5 Managed Silver

    -- ich gebe keine Unterstützung für die Windows Installation :-) I don't support Windows installations :)
    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: 3
    Joined: 15 Sep 2017, 09:30
    OTRS Version?: 5.0.11

    Re: Emails mit GenericAgent versenden

    Postby 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.


    Return to “Howto's”

    Who is online

    Users browsing this forum: No registered users and 1 guest