Aller au contenu principal

Déclencheurs

L'écran Déclencheurs vous permet de démarrer une exécution d'agent chaque fois qu'un événement métier est publié sur un sujet, éventuellement seulement quand le contenu de l'événement respecte un filtre, puis de supprimer ces déclencheurs. Chemin dans le portail : /agents/triggers. Les développeurs, les responsables d'application et les administrateurs du tenant branchent leurs agents sur des événements. L'écran est dessiné par portal/src/screens/agents.tsx.

Ce que montre l'écran​

  • Tableau Déclencheurs, lu par GET /v1/triggers (tous les déclencheurs du tenant en un appel, les plus anciens d'abord). Colonnes : Identifiant, Sujet, Identifiant d'agent, Filtre, Activé.
  • Liste vide : Aucun déclencheur, avec l'aide Démarrez des agents à partir d'événements métier. et le bouton Nouveau déclencheur.
  • Le menu de ligne Voir le détail affiche tous les champs de la ligne dans un panneau latéral.
  • Nouveau déclencheur ouvre un panneau latéral avec les champs Sujet (obligatoire, exemple erp.invoice.created), Identifiant d'agent (obligatoire) et Filtre (exemple type=invoice && currency!=USD, aide path=value && path!=value).

Actions​

Bouton ou actionCe qu'il faitAppel d'APIRôles
Actualiser (icône)Recharge la liste.GET /v1/triggersTout membre du tenant
Nouveau déclencheurCrée le déclencheur après avoir vérifié le sujet et le filtre.POST /v1/triggerstenant_admin, developer, application_owner
Menu Voir le détailAffiche la ligne dans un panneau latéral.AucunTout membre du tenant
Menu SupprimerOuvre Confirmer une action destructive ; saisissez l'identifiant du déclencheur, puis Confirmer.GET /v1/lineage/graph, puis DELETE /v1/triggers/{trigger_id}tenant_admin, developer, application_owner
Réessayer (état d'erreur)Relance la lecture qui a échoué.Même appelMêmes rôles

La grammaire du filtre (services/control-plane/src/eai/domains/agents/scheduler.py) est une liste de clauses path=value ou path!=value reliées par && ; le chemin suit les points dans le contenu de l'événement. Avec le filtre ci-dessous, un événement ne démarre l'agent que si type vaut invoice et currency ne vaut pas USD :

type=invoice && currency!=USD

Le sujet suit les règles NATS ; un sujet de déclencheur peut utiliser les jokers * (un segment) et > (le reste). Les applications publient leurs événements avec POST /v1/events/publish.

Rôles​

Le portail ne masque aucun bouton. La création et la suppression contrôlent WRITE_ROLES (tenant_admin, developer, application_owner) dans services/control-plane/src/eai/domains/agents/routes.py ; la liste demande seulement un tenant. La publication d'un événement contrôle OPS_ROLES (tenant_admin, developer, agent). platform_admin passe tous les contrôles de rôle.

Tâches courantes​

Démarrer un agent à la création d'une facture​

  1. Choisir le sujet. Le sujet est le nom de l'événement que publie le connecteur ERP ou l'application. Convenez-en avec l'émetteur, par exemple erp.invoice.created. Résultat attendu : un sujet par type d'événement. En cas d'échec : un sujet avec des espaces ou des segments vides est refusé avec invalid_subject.
  2. Créer le déclencheur. Le déclencheur relie le sujet à l'agent. Cliquez sur Nouveau déclencheur, remplissez Sujet et Identifiant d'agent, ajoutez un Filtre si seuls certains événements comptent, puis cliquez sur Créer. Résultat attendu : le message Créé et une nouvelle ligne. En cas d'échec : invalid_filter (422) signifie qu'une clause n'a ni = ni !=, ou a un chemin vide.
  3. Vérifier la première exécution. Le prochain événement qui correspond démarre une exécution. Après la publication d'un événement, ouvrez l'écran Exécutions. Résultat attendu : une exécution de l'agent apparaît. En cas d'échec : comparez le contenu de l'événement au filtre ; un chemin absent du contenu fait échouer une clause =, et les valeurs sont comparées comme du texte.

Retirer un déclencheur​

  1. Le supprimer. Un déclencheur supprimé ne démarre plus d'exécution. Dans le menu de ligne, cliquez sur Supprimer, saisissez l'identifiant du déclencheur, puis cliquez sur Confirmer. Résultat attendu : le message Terminé et la ligne disparaît. En cas d'échec : trigger_not_found (404) signifie qu'il a déjà été supprimé ; cliquez sur Actualiser.

Dépannage​

SymptômeCauseCorrection
invalid_subject (422) : « Sujet d'événement invalide : ... »Le sujet n'est pas un sujet NATS valide.Utilisez des segments séparés par des points, sans espace, comme erp.invoice.created.
invalid_filter (422) : « Filtre de déclencheur invalide. »Une clause n'a ni = ni !=, ou son chemin est vide.Écrivez des clauses path=value ou path!=value reliées par &&.
agent_not_found (404) sur CréerIdentifiant d'agent ne désigne aucun agent du tenant.Copiez l'identifiant ou le nom depuis le Registre.
trigger_not_found (404) sur SupprimerLe déclencheur n'existe plus.Cliquez sur Actualiser.
forbidden (403) avec required_rolesVos rôles ne sont pas tenant_admin, developer ou application_owner.Demandez l'un de ces rôles à un administrateur du tenant.
Des événements sont publiés mais aucune exécution ne démarreLe filtre ne correspond pas au contenu, ou l'agent n'est pas actif.Vérifiez les chemins du contenu et le statut de l'agent.

Pages liées​