How to configure Escalation notification by email ?
Moderator: crythias
How to configure Escalation notification by email ?
Hi,
I'm looking for the configuration : escalation notification by email.
I explain ...
- I have customer, with service, with SLA
Escalation - first response time (minutes): 120 (Notify by 80%)
- I need
OTRS sent a email when time is 80% of 120 minutes. Email can be sent to users who subscribed to the queue of the ticket (preference menu of users).
I didn't find configuration menu for escalation notification and no help in the forum, i tried to modified Kernel/Config/GenericAgent.pm and .dist (see below)
# -----------------------------------------------------------------------
# config options
# -----------------------------------------------------------------------
%Jobs = (
[name of job] -> send escalation notifications
'send escalation notifications' => {
Escalation => 1,
# new ticket properties
New => {
Module => 'Kernel::System::GenericAgent::NotifyAgentGroupOfCustomQueue',
},
},
But no email sent !, not more information in logs of OTRS. It's like that notification do not exist.
So ... if somebody have the solution, a tuto link, or ...
Thanks
Romain
I'm looking for the configuration : escalation notification by email.
I explain ...
- I have customer, with service, with SLA
Escalation - first response time (minutes): 120 (Notify by 80%)
- I need
OTRS sent a email when time is 80% of 120 minutes. Email can be sent to users who subscribed to the queue of the ticket (preference menu of users).
I didn't find configuration menu for escalation notification and no help in the forum, i tried to modified Kernel/Config/GenericAgent.pm and .dist (see below)
# -----------------------------------------------------------------------
# config options
# -----------------------------------------------------------------------
%Jobs = (
[name of job] -> send escalation notifications
'send escalation notifications' => {
Escalation => 1,
# new ticket properties
New => {
Module => 'Kernel::System::GenericAgent::NotifyAgentGroupOfCustomQueue',
},
},
But no email sent !, not more information in logs of OTRS. It's like that notification do not exist.
So ... if somebody have the solution, a tuto link, or ...
Thanks
Romain
-
- Moderator
- Posts: 10170
- Joined: 04 May 2010, 18:38
- Znuny Version: 5.0.x
- Location: SouthWest Florida, USA
- Contact:
Re: How to configure Escalation notification by email ?
I tend to suggest using generic agent to change something like priority upon escalation, then Notification (event) based upon the priority change.
OTRS 6.0.x (private/testing/public) on Linux with MySQL database.
Please edit your signature to include your OTRS version, Operating System, and database type.
Click Subscribe Topic below to get notifications. Consider amending your topic title to include [SOLVED] if it is so.
Need help? Before you ask
Please edit your signature to include your OTRS version, Operating System, and database type.
Click Subscribe Topic below to get notifications. Consider amending your topic title to include [SOLVED] if it is so.
Need help? Before you ask
Re: How to configure Escalation notification by email ?
Hi,
Thanks crythias, I tried to configure a task in the GenericAgent and it's working fine.
But i have some interrogations ... in my case, i need to notify before the escalation. Notification at the threshold (x % configured in SLA).
So ...
When time before escalation is x % (configuration of the SLA), i have a dashboard notification (Upcoming Events). Is it true ?
Is it possible to notify this pre-escalation by email, or by moving of the tikcets in a queue (ex : escalation queue) ? or with a task in the GenericAgent ?
When i configure the file Kernel/Config/GenericAgent.pm as in my first message, nothing. So, is it a bug ? or i don't understand how to use it ? Where can i found help regarding the functions that i can use in the file ?
Rgs
Thanks crythias, I tried to configure a task in the GenericAgent and it's working fine.
But i have some interrogations ... in my case, i need to notify before the escalation. Notification at the threshold (x % configured in SLA).
So ...
When time before escalation is x % (configuration of the SLA), i have a dashboard notification (Upcoming Events). Is it true ?
Is it possible to notify this pre-escalation by email, or by moving of the tikcets in a queue (ex : escalation queue) ? or with a task in the GenericAgent ?
When i configure the file Kernel/Config/GenericAgent.pm as in my first message, nothing. So, is it a bug ? or i don't understand how to use it ? Where can i found help regarding the functions that i can use in the file ?
Rgs
-
- Znuny newbie
- Posts: 4
- Joined: 08 Jan 2011, 11:13
- Znuny Version: 2.4
- Location: Slovakia, Kosice
Re: How to configure Escalation notification by email ?
Hi , i have i my directory \Kernel\config
default.pm, genericAgent.pm.dist, GenericAgent.pm.examples.......which can i edit? genericAgent.pm.dist?
Thanks
default.pm, genericAgent.pm.dist, GenericAgent.pm.examples.......which can i edit? genericAgent.pm.dist?
Thanks
Re: How to configure Escalation notification by email ?
Impossible to use properly this feature !
ok, so GenericAgent.pm don't work.
I tried to add a GenericAgent task : Escalation task for "first response time reached"
Schedule : Each 10 min
Ticket filter :
Queue : All queues, except queue "Escalation"
Escalation - First response time : Ticket first response time reached "last 20 minutes"
Ticket action :
Move it in queue : "Escalation"
SLA with Escalation - first reponse time (minutes) = 60 (notify by 50%), with calendar open hours 9-18
Test :
I created a ticket at 7h43, Notified at 7h50 !!!!!
System ignore calendar and "last 20 minutes" configuration.
I tried also not with "last 20 minutes" but "Before 20 minutes". It seem that working properly. But ... notification is done 20 / 30 minutes after my first response time reached. So, it's too late. I need to notiy before the time reached.
So ... i don't know how to use " (notify by 50%)" when i configure the SLA (is it working this feature ? if yes, what's the action done ?), and i don't know you to program the GenericAgent !!!
If somebody have some advises ... or feedback ...or anything esle ...
Many thanks
Romain
(Sorry if my english is not perfect ! lol !)
ok, so GenericAgent.pm don't work.
I tried to add a GenericAgent task : Escalation task for "first response time reached"
Schedule : Each 10 min
Ticket filter :
Queue : All queues, except queue "Escalation"
Escalation - First response time : Ticket first response time reached "last 20 minutes"
Ticket action :
Move it in queue : "Escalation"
SLA with Escalation - first reponse time (minutes) = 60 (notify by 50%), with calendar open hours 9-18
Test :
I created a ticket at 7h43, Notified at 7h50 !!!!!
System ignore calendar and "last 20 minutes" configuration.
I tried also not with "last 20 minutes" but "Before 20 minutes". It seem that working properly. But ... notification is done 20 / 30 minutes after my first response time reached. So, it's too late. I need to notiy before the time reached.
So ... i don't know how to use " (notify by 50%)" when i configure the SLA (is it working this feature ? if yes, what's the action done ?), and i don't know you to program the GenericAgent !!!
If somebody have some advises ... or feedback ...or anything esle ...
Many thanks
Romain
(Sorry if my english is not perfect ! lol !)
-
- Moderator
- Posts: 10170
- Joined: 04 May 2010, 18:38
- Znuny Version: 5.0.x
- Location: SouthWest Florida, USA
- Contact:
Re: How to configure Escalation notification by email ?
It's a bug, I think Kernel/System/Ticket.pm
http://forums.otrs.org/viewtopic.php?f=62&t=6843#p27067
(change a - to a +)
should be
This might also need to be in escalationOlderMinutes
Also, Generic Agent Each 10 minutes : you need to select ALL the minutes in the GUI, not just "10".
http://forums.otrs.org/viewtopic.php?f=62&t=6843#p27067
(change a - to a +)
Code: Select all
$TimeStamp -= ( $Param{TicketPendingTimeOlderMinutes} * 60 );
Code: Select all
$TimeStamp += ( $Param{TicketPendingTimeOlderMinutes} * 60 );
Code: Select all
# get articles created older than x minutes
if ( defined $Param{ $Key . 'OlderMinutes' } ) {
$Param{ $Key . 'OlderMinutes' } ||= 0;
my $Time = $Self->{TimeObject}->SystemTime2TimeStamp(
SystemTime => $Self->{TimeObject}->SystemTime()
- ( $Param{ $Key . 'OlderMinutes' } * 60 ), #might change - to + here
);
$SQLExt .= " AND $ArticleTime{$Key} <= '$Time'";
}
# get articles created newer than x minutes
if ( defined $Param{ $Key . 'NewerMinutes' } ) {
$Param{ $Key . 'NewerMinutes' } ||= 0;
my $Time = $Self->{TimeObject}->SystemTime2TimeStamp(
SystemTime => $Self->{TimeObject}->SystemTime()
- ( $Param{ $Key . 'NewerMinutes' } * 60 ),
);
$SQLExt .= " AND $ArticleTime{$Key} >= '$Time'";
}
OTRS 6.0.x (private/testing/public) on Linux with MySQL database.
Please edit your signature to include your OTRS version, Operating System, and database type.
Click Subscribe Topic below to get notifications. Consider amending your topic title to include [SOLVED] if it is so.
Need help? Before you ask
Please edit your signature to include your OTRS version, Operating System, and database type.
Click Subscribe Topic below to get notifications. Consider amending your topic title to include [SOLVED] if it is so.
Need help? Before you ask
Re: How to configure Escalation notification by email ?
This is my first post here, so hello everyone
I'm OTRS newbie but so far I've made following observations regarding SLA and notifications (I am using OTRS 3.0.5).
1. I've made a mistake similar by some other people on the forum - I did not setup cron jobs. Without them, none of the escalation notifications will work.
2. The default settings make two cron jobs for the GenericAgent. First job happens every 20 minutes and runs GenericAgent using the configuration from the file. The second job runs every 10 minutes using the configuration from db (i.e. tasks configured from OTRS admin web interface). Because it's the GenericAgent using config file that is responsible for the escalaction notifications, the "every 20 minutes" policy was not enough for me (I need 60 minutes to first response SLA, which in worst case scenario is only one shot for notification before actual escalation), so I've changed the cron job to:
This way I've got two GenericAgent jobs running every 10 minutes but offset by 5 minutes (so every 5 minutes one of them is running).
3. As noted by many, for escalation notifications to work you need to uncomment appropriate lines in Kernel/Config/GenericAgent.pm.
4. The escalation email is only send during working hours as configured in Framework -> Core::Time - it does not matter what calendar is being used for particular SLA or queue. So to get all around the clock notifications you need to set you Core::Time to include all days of the week and all hours.
5. Only agents that have the queue added to 'My queues' will receive notifications for the tickets. Because by default none of the queues is added to 'My Queues' nobody gets notifications - you have to setup that on your own.
With the setup above I am receiving escalation warning emails at the time set up in SLA parameters within the 10 minutes accuracy (the cron job frequency). And if the SLA is not set for particular ticket, I am receiving escalation warning emails at the time set up for the queue.
As for the patch to Ticket.pm mentioned in crythias post I don't see the direct relation, at least not with the:
part. The TicketPendingTimeOlderMinutes is used for checking against the ticket.until_time column which is related to ticket pending time and not escalation time. Anyway I did not change Ticket.pm code to get my notifications working.
One thing that still bothers me with this setup is that I have two separate GenericAgent jobs running using two different configurations. Optimal way of doing that is to disable the GenericAgent job that uses configuration file and move the job from the file to DB (configure it using web interface). I guess that it is possible, but I could not find any clue on how to configure 'Execute Custom Module' part in the GenericAgent web interface. The lines that are uncommented in the GenericAgent.pm file are actually doing just that - they execute the 'Kernel::System::GenericAgent::NotifyAgentGroupOfCustomQueue' module.

I'm OTRS newbie but so far I've made following observations regarding SLA and notifications (I am using OTRS 3.0.5).
1. I've made a mistake similar by some other people on the forum - I did not setup cron jobs. Without them, none of the escalation notifications will work.
2. The default settings make two cron jobs for the GenericAgent. First job happens every 20 minutes and runs GenericAgent using the configuration from the file. The second job runs every 10 minutes using the configuration from db (i.e. tasks configured from OTRS admin web interface). Because it's the GenericAgent using config file that is responsible for the escalaction notifications, the "every 20 minutes" policy was not enough for me (I need 60 minutes to first response SLA, which in worst case scenario is only one shot for notification before actual escalation), so I've changed the cron job to:
Code: Select all
5,15,25,35,45,55 * * * * $HOME/bin/otrs.GenericAgent.pl >> /dev/null
3. As noted by many, for escalation notifications to work you need to uncomment appropriate lines in Kernel/Config/GenericAgent.pm.
4. The escalation email is only send during working hours as configured in Framework -> Core::Time - it does not matter what calendar is being used for particular SLA or queue. So to get all around the clock notifications you need to set you Core::Time to include all days of the week and all hours.
5. Only agents that have the queue added to 'My queues' will receive notifications for the tickets. Because by default none of the queues is added to 'My Queues' nobody gets notifications - you have to setup that on your own.
With the setup above I am receiving escalation warning emails at the time set up in SLA parameters within the 10 minutes accuracy (the cron job frequency). And if the SLA is not set for particular ticket, I am receiving escalation warning emails at the time set up for the queue.
As for the patch to Ticket.pm mentioned in crythias post I don't see the direct relation, at least not with the:
Code: Select all
$TimeStamp -= ( $Param{TicketPendingTimeOlderMinutes} * 60 );
One thing that still bothers me with this setup is that I have two separate GenericAgent jobs running using two different configurations. Optimal way of doing that is to disable the GenericAgent job that uses configuration file and move the job from the file to DB (configure it using web interface). I guess that it is possible, but I could not find any clue on how to configure 'Execute Custom Module' part in the GenericAgent web interface. The lines that are uncommented in the GenericAgent.pm file are actually doing just that - they execute the 'Kernel::System::GenericAgent::NotifyAgentGroupOfCustomQueue' module.
Freedom is a road seldom traveled by the multitude.