Consultoria especialista implementação de ITSM

Como enviar push notification no OTRS para o navegador


Algumas vezes já me perguntaram se o OTRS possui um mecanismo de notificação via Push Notification Web.

Pensando nisso eu procurei uma solução para fosse capaz de converter um e-mail para push notification web.

Como resultado encontrei o https://pushalert.co porém é necessário alguns pequenos ajustes para funcionar completamente.

Portanto vamos para a receita.

No site do PushAlert você tem a aba Integration

Siga as instruções.

Em primeiro lugar você deve colocar esse código JS no Headed ou Footer do seu OTRS. No meu caso eu coloquei no inicio do arquivo /opt/otrs/Kernel/Output/HTML/Templates/Standard/Footer.tt

Posteriormente o baie o manifest.json e ws.js e coloque no diretório root do seu apache.

Certo, com isso temos a solução instalada.

Agora para configurar no OTRS:

Crie o arquivo /opt/otrs/Kernel/Output/HTML/Templates/Standard/NotificationEvent/Email/Push.tt

E agora coloque o conteúdo abaixo dentro:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
    [% Data.Body %]
</body>

</html>

Legal, com isso o formato da notificação esta criado, porém, temos um problema.

O OTRS sempre colocar o TicketHook no Subject, tirei fazendo isso.

No arquivo

/opt/otrs/Kernel/System/Ticket/Event/NotificationEvent/Transport/Email.pm

Alterei essa linha

Subject              => $Notification{Subject},

por essa

            Subject              => $Notification{OriginalSubject},

Isso é na função ArticleObject->BackendForChannel próximo a linha 290

Criando a notificação no OTRS

Agora ficou fácil, basta criar a notificação no OTRS no formato abaixo no evento que desejar.

Por exemplo:


O YML deve ficar mais ou menos dessa forma
---
- ChangeBy: '2'
  ChangeTime: 2019-01-27 16:02:04
  Comment: ''
  CreateBy: '2'
  CreateTime: 2019-01-27 15:20:42
  Data:
    AgentEnabledByDefault:
    - Email
    - Push
    ArticleAttachmentInclude:
    - '0'
    Events:
    - NotificationAddNote
    LanguageID:
    - en
    QueueID:
    - '24'
    - '25'
    - '27'
    RecipientEmail:
    - send@notification.pushalert.co
    TransportEmailTemplate:
    - Push
    Transports:
    - Email
    VisibleForAgent:
    - '0'
  ID: '51'
  Message:
    en:
      Body: 'title: [Nova nota]<br />

        message: [Novo chamado na fila <OTRS_TICKET_Queue>]<br />

        url: [suporte.beonup.com.br]'
      ContentType: text/html
      Subject: YOUR_REST_KEY_HERE
  Name: Push Notification
  ValidID: '1'

Posteriormente estará pronto e no evento escolhido será enviado a notificação e o Push Notification acontecerá.

Exemplo de notificação


Agora no celular




Quer saber mais sobre essa e outras novidades inbox? Então entre em contato e conheça mais sobre esse e outros módulos. Para contato clique aqui.