heh. If you want "Best Practices" of OTRS development, I might not be the
best source. I come from a JFDI background. :) :)
Assuming that GenericAgent.pm is calling
Kernel/System/GenericAgent/NotifyAgentGroupOfCustomQueue.pm
It's calling TicketObject->SendAgentNotification and that's about it.
This is in Kernel/System/Ticket/Article.pm which ends in
*ArticleAgentNotification
*event.
"But this happens all the time!" yeah, pretty much.
"How to test escalation response?"
it's not the event that's EscalationxxxTimexxx. That latter is actually a
Parameter attached to the result from TicketGet against the ticket object.
Basicaly, upon ArticleAgentNotification Event, you'd check the TicketGet
result's
EscalationResponseTime (unix time stamp of response time
escalation)
EscalationUpdateTime (unix time stamp of update time
escalation)
EscalationSolutionTime (unix time stamp of solution time
escalation)
versus "now" and determine if now is > than escalation and check that other
NotifyAgentGroupOfCustomQueue.pm for methods to check if it's sent but if
you're already there, you might just copy that and modify the method of
send to be jabber, then use it instead.
"What would you do?"
That last. The code to send the message only once is already made. It's all
about SendAgentNotification that's the meat of the difference between
whether to send by email or send by Jabber anyway....
"So, now what?"
Well, if I really wanted to, I'd determine if I'd plug
ArticleAgentNotification Event directly to jabber anyway. What I mean is,
the event of ArticleAgentNotification may trigger the send via Jabber event
all the time. And why not? I think that's the point of your jabber
interface anyway.
On Tue, Jul 9, 2013 at 3:51 PM, Daniel Santos <[email protected]
> wrote:
> Hmm... got it!!!
>
> For me, it's important to be in compliance with the 'best practices' of
> OTRS development...
> As I do not change anything in the ticket, like you said, its better to
> have a Ticket Event triggered when the GenericAgent sends the Escalation
> notification. I've tried it before, but I don't know which Event should I
> verify for a escalation notification sent by the Generic Agent... would it
> be something like this?
>
> ...
> if ( $Ticket{Event} eq "EscalationResponseTimeNotifyBefore" ) { ... }
> if ( $Ticket{Event} eq "EscalationUpdateTimeNotifyBefore" ) { ... }
> if ( $Ticket{Event} eq "EscalationSolutionTimeNotifyBefore" ) { ... }
>
> ?
>
> Regards,
>
> Daniel [email protected]
> ETICE - Empresa de Tecnologia da Informação do Cearáwww.etice.ce.gov.br
> +55 85 3101.6600
>
> On 07/09/13 16:30, Gerald Young wrote:
>
> If the generic agent was able to change something (dynamic field, state,
> queue) that created an event, I'd use an event.
> If not, I'd add the check at the same time as the other GenericAgent that
> does that.
>
> "Which is the best?" In my opinion, in theory, the thing that doesn't
> run code unnecessarily. In practice, the thing that works for your
> situation.
>
>
> On Tue, Jul 9, 2013 at 3:10 PM, Daniel Santos <
> [email protected]> wrote:
>
>> Gerald,
>>
>> I used the same approach that GenericAgent uses to send escalated
>> notifications, which is a cron scheduled job that runs bin/
>> otrs.GenericAgent.pl and send escalation notifications as necessary. The
>> only difference on my module is that, instead of sending to e-mail, we are
>> sending to jabber (xmpp).
>>
>> In your opinion, which is the best? GenericAgent or Ticket Event? In the
>> meantime, which Event should I listen to if using Ticket Event?
>>
>>
>> Daniel [email protected]
>> ETICE - Empresa de Tecnologia da Informação do Cearáwww.etice.ce.gov.br
>> +55 85 3101.6600
>>
>> On 07/09/13 16:01, Gerald Young wrote:
>>
>> You could, but I don't understand why you want to use a scheduled job to
>> do a notification when a ticket is escalated. It would appear to me you'd
>> want that as an event upon occurrence, not a scheduled test if criteria has
>> been met.
>>
>> If you wish to do what you propose, how you've asked is the correct way
>> to accomplish the goal.
>>
>>
>> On Tue, Jul 9, 2013 at 2:36 PM, Daniel Santos <
>> [email protected]> wrote:
>>
>>> Hi,
>>>
>>> I've managed to get my module working... it was a typo in my Needed
>>> Modules. Sorry about that.
>>>
>>> Now I'm wondering how can I add a new Generic Agent job in
>>> Kernel/Config/GenericAgentJabberNotification.pm and active it without
>>> touching Kernel/Config/GenericAgent.pm.
>>>
>>> Do I need to setup a new cron entry passing -c
>>> "Kernel::Config::GenericAgentJabberNotification" ??
>>>
>>> Thanks.
>>>
>>>
>>> Daniel Santos
>>> [email protected]
>>> ETICE - Empresa de Tecnologia da Informação do Ceará
>>> www.etice.ce.gov.br
>>> +55 85 3101.6600
>>>
>>> On 07/09/13 09:24, Daniel Santos wrote:
>>>
>>>> Hi,
>>>>
>>>> I'm setting up a Generic Agent to make some customization in my OTRS
>>>> installation to send other notifications when a ticket is escalated. But
>>>> when I try to use a Get from ConfigObject I'm always getting a: "Message:
>>>> Can't call method "Get" on an undefined value". ConfigObject is already in
>>>> the Needed objects 'qw', but still doesn't work.
>>>>
>>>> How can I get my module configuration parameters from Config when using
>>>> a Generic Agent?
>>>>
>>>> Thanks.
>>>>
>>>>
>>> ---------------------------------------------------------------------
>>> OTRS mailing list: otrs - Webpage: http://otrs.org/
>>> Archive: http://lists.otrs.org/pipermail/otrs
>>> To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/otrs
>>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> OTRS mailing list: otrs - Webpage: http://otrs.org/
>> Archive: http://lists.otrs.org/pipermail/otrs
>> To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/otrs
>>
>>
>>
>> ---------------------------------------------------------------------
>> OTRS mailing list: otrs - Webpage: http://otrs.org/
>> Archive: http://lists.otrs.org/pipermail/otrs
>> To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/otrs
>>
>
>
>
> ---------------------------------------------------------------------
> OTRS mailing list: otrs - Webpage: http://otrs.org/
> Archive: http://lists.otrs.org/pipermail/otrs
> To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/otrs
>
>
>
> ---------------------------------------------------------------------
> OTRS mailing list: otrs - Webpage: http://otrs.org/
> Archive: http://lists.otrs.org/pipermail/otrs
> To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/otrs
>
---------------------------------------------------------------------
OTRS mailing list: otrs - Webpage: http://otrs.org/
Archive: http://lists.otrs.org/pipermail/otrs
To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/otrs