Ir para o conteúdo

Exemplo de notificação usando consultar dinâmica para inserir em tabela HTML no Jitterbit App Builder

Este artigo fornece uma visão geral sobre como usar uma Consulta Dinâmica para inserir informações em uma tabela HTML em uma Regra de Notificação no App Builder. Há várias etapas envolvidas para atingir esse resultado, e o artigo parte das seguintes premissas sobre o seu ambiente do App Builder:

  • Executando SQL 2017+, necessário para usar o String_Agg() Função
  • Tabelas e dados existem na Camada de Dados para dar suporte a este cenário
  • Noções básicas sobre a configuração da Regra de Notificação

Nota

Durante a fase de teste de implementação desta (ou de qualquer Regra de Notificação), recomendamos usar um endereço de email de teste como o valor To() na Notificação até que esteja funcionando corretamente.

Caso de uso empresarial

Uma empresa deseja usar um aplicativo App Builder para gerenciar um processo de aprovação referente a reinicializações de servidores. Como parte dos requisitos, ela precisa enviar uma notificação por email contendo uma lista de servidores para o(s) respectivo(s) proprietário(s) em um horário específico. Ela busca entender como usar uma Regra de Notificação para funcionar dinamicamente para cada proprietário de servidor.

Por exemplo:

Há 20 servidores no total. Mary é listada como proprietária de 15 servidores. John é listado como proprietário dos 5 servidores restantes. Um servidor pode ter vários proprietários, então John também é o proprietário compartilhado em 2 dos servidores de Mary, totalizando 7. Mary deve receber um email contendo seus 15 servidores e John deve receber um email contendo seus 7 servidores (5 dos quais ele é o proprietário, mais os dois dos quais Mary e John são proprietários compartilhados).

A Camada de Negócios contém uma visualização existente com todas as informações necessárias para a tabela (por exemplo, proprietários de cada servidor, endereços de email).

Como configurar no App Builder

  1. Crie uma Regra de Subconsulta que retorne 1 registro para cada instância de um Proprietário de Servidor e do Servidor. Inclua as colunas ServerOwnerID, ServerOwner, ServerName.
  2. Traga a Subconsulta para uma nova Regra de Subconsulta e adicione a coluna Server OwnerID (ou equivalente). Adicione uma nova expressão para fazer um count(1) Em seguida, adicione as seguintes expressões adicionais que criarão a tabela HTML:

    TableBody
    ${String_AGG('<tr> <td>' + Subquery.ServerOwner + '</td> <td>' + Subquery.ServerName + '</td> </tr>','')}

    Cabeçalho da Tabela
    '<div>&nbsp;</div><table class="requests"> <tbody> <tr> <td>Server Owner</td> <td>ServerName</td> </tr>'

    TabelaFechada
    '</table><div>&nbsp;</div> <div>Thanks,</div> <div>Server Team</div>'

    imagelogic.png

    Exemplo de guia Colunas para subconsulta

  3. Crie uma nova Regra de Notificação. Insira a Subconsulta que você criou com a estrutura da tabela.

  4. Junte a subconsulta à tabela que contém a lista de ServerOwners e seus endereços de email.
  5. Adicione o endereço de email e direcione-o para o campo Para().
  6. Adicione uma nova expressão CSS para ajudar na estilização. Alias como CSS. Exemplo de CSS:

    '<style> .requests {   font-size: 14px;   line-height: 20px;   font-weight: 400;   -webkit-font-smoothing: antialiased;   font-smoothing: antialiased;   margin: 0 0 40px 0;   width: 50%;   box-shadow: 0 1px 3px rgba(0,0,0,0.2);   display: table;   border-collapse: collapse;   border: 1px solid black; } .requests tr:first-child { font-weight: 900;     background: #D3D3D3; } .requests th { border: 1px solid black; } .requests tr { border: 1px solid black; } .requests td { padding: 6px 12px; border: 1px solid black; } </style>'
    
  7. Adicione o cabeçalho da tabela, o corpo e as colunas de fechamento. Crie uma nova expressão que os concatenará: {{CabeçalhoDaTabela}} || {{TabelaCorpo}} || {{TabelaFechar}} || {{CSS}}e Alias como Tabela.

    imagelogic2.png

    Exemplo da aba Colunas para a Regra de Notificação

  8. Na tela App Workbench > Notificações, você pode modificar e testar ainda mais a Regra de Notificação. Neste ponto do exemplo, você pode adicionar {{Tabela|HTML}} ao corpo. Você pode adicionar qualquer outra mensagem que desejar. Neste exemplo, substituiremos o Nome do Funcionário e incluiremos um link de vinculação:

    notificationcontent.png

    Exemplo de Tela de Notificação