Criação de uma tarefa para importar eventos de um arquivo XML

Este tópico explica como criar uma tarefa de integração para importar eventos de um arquivo XML. Isso permite que eventos listados em arquivos XML sejam cadastrados automaticamente no módulo Workflow. Caso você esteja utilizando um ambiente SaaS (Software como Serviço), entre em contato com a equipe de Suporte para configurar o processo de importação dos arquivos.

Os arquivos XML podem ter estruturas específicas para seus cabeçalhos, seções, tags de identificação de conteúdo e outros elementos. Uma terminologia diferente também pode ser utilizada para se referir às mesmas propriedades. Por exemplo, o nome do evento no arquivo XML pode ser encontrado no campo "Event Name", enquanto no sistema esse campo é chamado de "Title". Para que as informações sejam importadas corretamente, os termos que aparecem nesses campos devem ser mapeados para os campos correspondentes no sistema.

Além disso, é possível que uma determinada propriedade de um evento não esteja incluída no arquivo XML, o que pode causar problemas quando a tarefa for executada. Se um campo for opcional no sistema e for deixado em branco ou não existir no arquivo XML, não haverá erros na importação. No entanto, se um campo de preenchimento obrigatório não for incluído no arquivo XML, ocorrerá um erro quando a tarefa de integração for executada. Para evitar esse problema, um valor padrão deve ser definido para cada campo de preenchimento obrigatório que for deixado em branco ou omitido nos arquivos XML.

Outro recurso que pode ser utilizado nesse mapeamento é a conversão de números, pois o arquivo pode utilizar escalas diferentes das que são utilizadas no sistema. Por exemplo, em um arquivo, a urgência do evento é pontuada em uma escala que vai de 1 a 10, enquanto o sistema utiliza uma escala de 1 a 5. Nesse caso, devem ser criadas regras para converter esses valores. Os valores 1 e 2 podem ser convertidos para 1, os valores 3 e 4 podem ser convertidos para 2 e assim por diante.

Abaixo estão listados todos os campos que devem ser mapeados para cadastrar um evento a partir de um arquivo XML.

Variável

Descrição

Obrigatório?

Limite/Formato

source

Identifica de onde os eventos foram importados.

Sim

100 caracteres

id

Identificador único para o evento.

Não

N caracteres

title

Título do evento.

Sim

2.500 caracteres

type

Tipo do evento.

Sim

Todos os tipos padrão e próprios de evento, com exceção de eventos de Riscos e de Compliance.

description

Descrição do evento.

Sim

5.500 caracteres

urgency

Urgência do evento.

Sim

1 - 5

severity

Severidade do evento.

Sim

1 - 5

relevance

Relevância do evento.

Sim

1 - 5

coordinator

Coordenador do evento.

Sim

Nome de uma pessoa cadastrada no sistema.

responsible

Pessoa responsável pelo evento, definida por padrão no mapeamento.

Sim

Nome de uma pessoa cadastrada no sistema.

involved

Pessoas ou grupos envolvidos no evento.

Não

Nome de uma pessoa ou grupo cadastrado no sistema.

reviewer1

Primeiro revisor do evento.

Não

Nome de uma pessoa ou grupo cadastrado no sistema.

reviewer2

Segundo revisor do evento.

Não

Nome de uma pessoa ou grupo cadastrado no sistema.

reviewer3

Terceiro revisor do evento.

Não

Nome de uma pessoa ou grupo cadastrado no sistema.

value

Valor associado ao evento.

Não

Número inteiro ou decimal. Por exemplo: 123,56.

deadline

Data para a conclusão do evento.

Não

Data no formato dd/mm/aaaa.

createdOn

Data da criação do evento.

Não

Data no formato dd/mm/aaaa.

expectedStartDate

Data prevista para o início do evento.

Não

Data no formato dd/mm/aaaa.

expectedEndDate

Data prevista para o término do evento.

Não

Data no formato dd/mm/aaaa hh:mm.

startDate

Data efetiva do início do evento.

Não

Data no formato dd/mm/aaaa hh:mm.

endDate

Data efetiva do término do evento.

Não

Data no formato dd/mm/aaaa hh:mm.

location/latitude

Latitude da localização do evento.

Não

-90 a +90

location/longitude

Longitude da localização do evento.

Não

-180 a +180

location/description

Descrição da localização do evento.

Não

1.000 caracteres

 

 

Ao definir uma pessoa para um dos papéis que aceitam pessoas, pode ser utilizada uma combinação do seu nome e do seu endereço de e-mail para assegurar que ela tenha uma identificação única.

 

Exemplo 1:

Arquivo XML:

<responsible email="joao.silva@dominio.com">Joao Silva</responsible>

 

Mapeamento:

<responsible field="responsible" email="responsible/@email"/>

 

Exemplo 2:

Arquivo XML:

<responsible >Joao Silva</responsible>

<email>joao.silva@dominio.com</email>

 

Mapeamento:

<responsible field="responsible" email="email"/>

 

Para escrever esses mapeamentos, você deve informar o nó em que cada evento está localizado. Essa configuração é feita através do basePath escrevendo o Xpath absoluto do respectivo caminho no arquivo XML. Desse ponto em diante, os campos devem ser mapeados através do Xpath relacionado a esse basePath. O basePath pode ser agrupado por tipo de evento, permitindo que diferentes tipos de evento tenham comportamentos distintos em uma única tarefa de integração. Se existirem condições mais complexas que não são atendidas separando os tipos de evento, devem ser criadas tarefas de integração separadas para categorizar essas informações.

Os seguintes recursos também estão disponíveis:

    Definição do formato de datas e horas. Por exemplo:

<startDate field="data inicio" format="MM-dd-yyyy"/>

A lista de formatos aceitos pode ser obtida em: http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx.

    Conversão/mapeamento dos valores para que correspondam aos valores aceitos pelo sistema. Por exemplo:

<relevance field="level">

  <mappings>

    <add from="Ignorar" to="1" />

    <add from="Baixa Relevancia" to="2" />

    <add from="Normal" to="3" />

    <add from="Importante" to="4" />

    <add from="Critica" to="5" />

  </mappings>

</relevance>

      Conversão do conteúdo em um hash md5. No exemplo, esse recurso é utilizado para o campo ID, já que nem todos os programas fornecem identificadores únicos para cada evento.

<id hashed="true" field="descricao" target="CustomAttribute/uniqueid" />

    Definição de valores padrão para os campos não incluídos no arquivo.

<relevance default="3"/>

    Limitação do tamanho de um determinado campo para respeitar os limites do sistema. Se não for definido um limite, um erro irá ocorrer cada vez que um arquivo cujo conteúdo exceda o limite permitido for importado. Se o parâmetro "truncate" não for utilizado, o sistema considera que ele tem o valor "false".

<description field="description" truncate="true" />

    Definição de mapeamentos para tipos customizados e padrão de evento.

<type field="type">

  <mappings>

    <add from="generic" to="Generico" />

    <add from="testplan" to="Teste de Plano" />

  </mappings>

</type>

    Definição de mapeamentos para atributos customizados, onde os seguintes tipos de atributos customizados são suportados: Data/Hora (Data Somente, Data/Hora e Hora Somente), Lista de Opções (Seleção Única e Seleção Múltipla), Número, Parágrafo e Texto.

Observe que os valores presentes no arquivo devem ser compatíveis com os valores aceitos pelo atributo. Caso contrário, nenhum evento será importado e uma mensagem de erro será exibida no histórico da tarefa de integração. Assim, valores máximos e mínimos, número de casas decimais e quaisquer máscaras de expressões regulares definidos para os atributos devem ser respeitados. A variável do atributo deve ser utilizada ao criar os mapeamentos.

<customAttributes>

  <attribute field="departamento" target="area"/>

</customAttributes>

    Definição de mapeamentos de propriedades através do Xpath.

Arquivo XML:

<TicketProperties>

  <tag name="username">Joao Silva</tag>

</TicketProperties

Mapeamento:

<name field=" TicketProperties/tag[@name='username']" />

 

É importante observar que as informações dos arquivos XML somente serão importadas se o caminho do repositório que contém os arquivos a serem processados for especificado. Se um arquivo que já tenha sido processado pelo sistema estiver no mesmo diretório que os novos arquivos, ele só será importado uma vez.

Se o diretório especificado contiver vários arquivos XML não processados, todos eles serão importados. Por isso, especificar a ordem em que os arquivos serão importados ajuda a assegurar que as últimas informações serão importadas por último. Ao configurar a tarefa de integração, você pode definir se a ordem de importação dos arquivos seguirá a data de criação ou o nome dos arquivos.

Lembre-se de que os valores padrão configurados para os atributos de eventos na seção Objetos e Atributos do módulo Administração não são respeitados em tarefas de integração para importar eventos através de um arquivo XML.