[event-filter] Enrichissement avec l'entité
Cette MR ajoute le socle pour les sources d'enrichissement externes, et ajoute la possibilité de définir des règles ajoutant l'entité à l'événement, et modifiant les informations de l'entité.
Deux nouvelles actions sont ajoutées aux règles d'enrichissement :
-
copy
, qui permet de copier des données de types arbitraires (e.g. une entité) dans un champ d'un événement. -
set_entity_info_from_template
, qui permet de créer/modifier une information dans l'entité d'un événement.
L'intérêt est de permettre de faire des actions avant de récupérer l'entité (e.g. modifier le component
), ou après (e.g. ajouter une info à l'entité).
La règle permettant d'ajouter l'entité à un événement est la suivante :
{
"type": "enrichment",
"pattern": {},
"external_data": {
"entity": {
"type": "entity"
}
},
"actions": [
{
"type": "copy",
"from": "ExternalData.entity",
"to": "Entity"
}
],
"on_success": "pass",
"on_failure": "pass",
"priority": 100
}
Les modifications sont documentées dans la MR https://git.canopsis.net/canopsis/canopsis/merge_requests/546, dans la doc admin, sections set_entity_info_from_template
, copy
et Données externes > Entités.
Validation
- Vérifier que l'entité est toujours ajoutée au contexte et à l'événement, même si la règle ci dessus n'est pas présente/pas exécutée.
- Vérifier que l'entité récupérée (avec ou sans cette règle) est la bonne, en particulier si la ressource/le composant d'un événement est modifié par une règle.
- Vérifier qu'une fois que l'entité est récupérée, l'action
set_entity_info_from_template
fonctionne bien.
Edited by Lucas Seguinot