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.