[gelöst] Eskalation und TicketEscalationTimeOlderMinutes...

Hilfe zu Znuny Problemen aller Art
Locked
Yabba
Znuny newbie
Posts: 64
Joined: 17 Mar 2011, 12:07
Znuny Version: 3.1.7
Real Name: Michael Kohn

[gelöst] Eskalation und TicketEscalationTimeOlderMinutes...

Post by Yabba »

Hi,

habe jetzt Stunden mit der Suche und dem ausprobieren zugebracht - ich verstehe es aber nicht :?

Hintergrund ist, dass ich per GenericAgent eine Benachrichtigung versenden möchte:
  • Wenn das Ticket seit (mindestens) einer Stunde Eskaliert ist, an die Agenten, welche die Queue unter "Meine Queues" markiert haben.
  • Wenn das Ticket seit (mindestens) zwei Stunden Eskaliert ist, an die Agenten, die Schreibberechtigung auf das Ticket haben.
Daraufhin habe ich mir diesen GenericAgent zusammengebastelt:

Code: Select all

%Jobs = (
    # Damit ich die Ereignisbenachrichtigung (zusaetzlich) verwenden kann...
    'trigger escalation events' => {
        Escalation => 1,
        New => {
            Module => 'Kernel::System::GenericAgent::TriggerEscalationStartEvents',
        },
    },

   # Eskalationsbenachrichtigungen an "Meine Queues"
   'send escalation notifications custom queue' => {
       Escalation => 1,
       EscalationTimeOlderMinutes => -60,
       New => {
          Module => 'Kernel::System::GenericAgent::NotifyAgentGroupOfCustomQueue',
       },
   },

   # Eskalationsbenachrichtigungen an Agenten mit RW-Berechtigung
   'send escalation notifications write permissions' => {
       Escalation => 1,
       EscalationTimeOlderMinutes => -120,
       New => {
          Module => 'Kernel::System::GenericAgent::NotifyAgentGroupWithWritePermission',
       },
   },
Egal, welchen Wert ich für EscalationTimeOlderMinutes eintrage, egal ob positiv oder negativ:
Sobald das Ticket Eskaliert bekommen beide Agentengruppen sofort eine E-Mail.

Ich vermute, dass ich den Parameter EscalationTimeOlderMinutes einfach falsch verstanden habe...

Wird der Parameter EscalationTimeOlderMinutes überhaupt nicht berücksichtigt?
Muss ich eine Kombination aus EscalationTimeOlderMinutes und EscalationTimeNewerMinutes verwenden?

Danke für jegliche Hilfe!

Michael
Last edited by Yabba on 10 Jul 2012, 21:14, edited 1 time in total.
OTRS 3.3.6 / FAQ 2.3.3 / ImportExport 3.3.5 / SystemMonitoring 2.5.3 / Support 1.5.4
OS: Debian 7 Wheezy / DB: MySQL 5.5 / Webserver: Apache 2.2
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: Eskalation und TicketEscalationTimeOlderMinutes...

Post by reneeb »

Sobald "Escalation => 1" gesetzt wird, wird kein weiteres Suchkriterium anerkannt. Lass es also einfach weg...

Hintergrund:
Sobald Escalation auf 1 gesetzt ist, wird die Funktion GetOverTimeTickets aus Kernel::System::Ticket::IndexAccelerator::StaticDB bzw. ::RuntimeDB aufgerufen (ohne Parameter) und das macht folgende Ticketsuche:

Code: Select all

    my @TicketIDs = $Self->TicketSearch(
        Result                           => 'ARRAY',
        Limit                            => 100,
        TicketEscalationTimeOlderMinutes => -60,
        Permission                       => 'rw',
        UserID                           => $Param{UserID} || 1,
    );
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
Yabba
Znuny newbie
Posts: 64
Joined: 17 Mar 2011, 12:07
Znuny Version: 3.1.7
Real Name: Michael Kohn

Re: Eskalation und TicketEscalationTimeOlderMinutes...

Post by Yabba »

Habe die Zeile "Escalation => 1" auskommentiert - hat leider nichts gebracht:

Ticket Eskaliert beispielsweise um 13:56Uhr - im nächsten Durchlauf um 14:00 Uhr wird sofort an beide Gruppen die Eskalationsbenachrichtigung raus geschickt.

Bin etwas ratlos :?

Auf dem 2. Testsystem habe ich dann aber probehalber nur eine Eskalationsbenachrichtigung mit postivem Wert aktiv:

Code: Select all

    'trigger escalation events' => {
        Escalation => 1,
        New => {
            Module => 'Kernel::System::GenericAgent::TriggerEscalationStartEvents',
        },
    },
    'send escalation notifications' => {
        TicketEscalationTimeOlderMinutes => 45,
        New => {
            Module => 'Kernel::System::GenericAgent::NotifyAgentGroupOfCustomQueue',
        },
    },
Hier wird z.B. die Benachrichtigung um 9:00 raus geschickt, für ein Ticket, welches laut History um 08:21 Uhr eskaliert ist (laut Ticket-Info aber schon um 8:00 Uhr).
Da der GenericAgent alle 20 Minuten läuft, könnte es so ungefähr passen. Werde wohl noch ein paar Tests mit positiven Zeitangaben machen...
OTRS 3.3.6 / FAQ 2.3.3 / ImportExport 3.3.5 / SystemMonitoring 2.5.3 / Support 1.5.4
OS: Debian 7 Wheezy / DB: MySQL 5.5 / Webserver: Apache 2.2
Yabba
Znuny newbie
Posts: 64
Joined: 17 Mar 2011, 12:07
Znuny Version: 3.1.7
Real Name: Michael Kohn

Re: Eskalation und TicketEscalationTimeOlderMinutes...

Post by Yabba »

Problem gelöst :)

Es muss tatsächlich eine positive Zeit für den Parameter TicketEscalationTimeOlderMinutes angegeben werden,
dann klappt's auch mit der Benachrichtigung.
OTRS 3.3.6 / FAQ 2.3.3 / ImportExport 3.3.5 / SystemMonitoring 2.5.3 / Support 1.5.4
OS: Debian 7 Wheezy / DB: MySQL 5.5 / Webserver: Apache 2.2
Locked