Descrição:
Como criar um “bot” ativo no EPM que envia mensagens de ocorrências dos objetos do EPM para o Microsoft Teams?
Solução:
Para criar/configurar um robô/”bot” ativo que envia mensagens automaticamente (neste exemplo, para o Microsoft Teams) a cada nova ocorrência de determinada(s) propriedade(s) de um objeto no EPM, devemos realizar as seguintes configurações:
IMPORTANTE: Para utilizar esta configuração, é necessário que tanto o EPM quanto o EPM processor estejam na versão 4.10.
Configurando o Microsoft Teams:
1. Primeiramente, abra o aplicativo do Microsoft Teams.
2. Crie uma Equipe, ou então entre em uma Equipe que tenha permissão de Administrador.
3. Depois disso, clique nos 3 pontinhos ao lado do nome da Equipe e então em “Gerenciar Equipe”.
4. Na aba Aplicativos, clique em “Mais Aplicativos”;
5. Logo após, na janela que foi aberta, pesquise por “Incoming Webhook”.
6. Clique no aplicativo, e depois em “Adicionar a uma Equipe”. Informe o nome da equipe que deseja adicionar ao aplicativo, e depois clique em “Configurar um Conector”.
7. Durante a configuração, informe o nome para o seu Aplicativo, como por exemplo “AlertsEPM”. É possível também informar uma imagem, se desejar. Finalmente, clique em “Criar”.
8. Será exibida uma URL, como no exemplo: “https://elipse365.webhook.office.com/webhookb/fa97d065-68e3-4e5d-93b2-8a391de7af66@3a66cb32-9547-4d33-8cea-ba22036c58bf/IncomingWebhook/3fcb8c19e51e4a89b731cd8c6bb44c33/37034324-70b8-49f5-88e4-efcbe47fe1a9”
Esta URL será seu link de conexão do EPM Processor com o Teams. Na próxima etapa, vamos aprender a configurar os eventos no EPM.
Configurando o disparo de eventos por tipo de objeto no EPM
Agora vamos aprender a como configurar os eventos para disparo das mensagens no EPM Processor. Para isso, deve-se executar os seguintes passos:
1. Primeiramente, abra o EPMStudio, e conecte-se como usuário com acesso de cadastro de eventos.
2. Logo depois, acesse a secção Events no Explorer.
3. Então, clique duas vezes no evento TypeEvents para abrir a janela de configuração.
4. Adicione um novo evento; para isso, clique na tabela com símbolo de mais.
5. Informe o nome do seu evento; depois, na aba Sources, na caixa de opções Selected Custom, escolha o tipo de objeto no qual deseja gerar eventos, como por exemplo, xfDCIMDevice.
6. Após selecionar o objeto, adicione quais propriedades serão monitoradas para execução do evento:
7. Na aba Trigger, informe as condições das propriedades selecionadas para que este evento seja disparado. Exemplo:
8. Uma vez finalizadas as configurações, ativa o evento para que ele passe a ser executado:
Com estas configurações realizadas, terminamos de configurar a geração dos eventos de disparo no EPM. Agora vamos adicionar o código de envio de mensagens no EPM Processor.
Configurando o EPMProcessor com o código python e programando a ocorrência do código:
Agora vamos adicionar o código de envio de mensagens de acordo com os eventos cadastrados no EPM. Para isso, acesse a área de configuração do EPM Processor e execute os seguintes passos:
1. Acesse CodePackage , e adicione o código a seguir, dentro de um novo CodePackage do EPM Processor:
#mandatory import import epmprocessor as epr import pymsteams #------------------------- # Method Sample Teams Message #------------------------- @epr.applicationMethod('msgDevices') def msgDevices(session): if session.eventInfo != None: for key in session.eventInfo.payload: if key.find('Status'): vStatus = int(session.eventInfo.payload[key]) if session.eventInfo.instance != None: iName = session.eventInfo.instance.name # You must create the connectorcard object with the Microsoft Webhook URL myTeamsMes-sage = pymsteams.connectorcard("https://elipse365.webhook.office.com/webhookb2/fa97d065-68e3-4e5d-93b2-8a391de7af66@3a66cb32-9547-4d44-8cea-ba22036c58bf/IncomingWebhook/3fcb8c19e51e4a89b731cd8c6bb44c33/38034324-60c8-49f5-88e4-efcbe47fe1a9") # Add text to the message. # myTeamsMessage.text("Alarme atuado "+ props['DisplayName'].read().value) opStatusList = ['OffLine', 'Active','Planned','Staged','Failed','Inventory'] myTeamsMessa-ge.text("Dispositivo "+ iName.replace('1:','') +" alterou seu estado para "+ opStatusList[vStatus]) # send the message. myTeamsMessage.send() return epr.ScopeResult(True)
2. Execute um Compile e Deploy ou Deploy++ no código adicionado no CodePackage.
3. Logo depois, acesse “Application Groups”, crie e configure um novo grupo de aplicação com o CodePackage do item anterior.
4. Acesse Solutions, e então crie uma nova solution.
5. Para rodar o código em produção, acesse a secção Productions, clique em New, e realize a configuração conforme exemplo abaixo:
6. Para finalizar a configuração, ative a execução da production clicando no play:
A realização dos passos acima deve resultar em um “bot” ativo do EPM funcionando corretamente.