Skip to main content
Voir en Markdown

Actions de code

La famille code exécute du TypeScript personnalisé comme étape d'automatisation pour la logique que les actions déclaratives ne couvrent pas. Un operator, runTypescript. La source est une fonction nommée execute(context) dont le corps est vérifié au niveau des types au démarrage du serveur.

Prop Description
code Source TypeScript pour une fonction nommée execute(context). Dans les configurations TS, enveloppez avec String(function execute(context: CodeContext) { … }) pour l'autocomplétion de l'IDE. Requis.
inputData Paires clé-valeur résolues par gabarit transmises comme context.inputData.
timeout Timeout d'exécution en ms (1000–300000, par défaut 30000).

Contexte de code

La fonction execute reçoit un objet context comportant exactement cinq membres :

Membre Description
context.inputData Entrées résolues par gabarit depuis la prop inputData.
context.actions Invoque des actions natives ou des modèles réutilisables depuis le code.
context.env Variables d'environnement (valeurs sensibles masquées dans les journaux).
context.log Journalisation structurée : info, warn, error.
context.run Métadonnées de l'appel en cours. context.run.attempt est le numéro de tentative (indexé à partir de 1).

Il n'existe ni context.trigger ni context.steps. La charge utile du déclencheur et les sorties des étapes précédentes n'atteignent le code que sous forme de références de gabarit {{…}} déclarées dans inputData — ce qui fait d'une action de code une fonction pure de ses entrées déclarées.

app.yaml
- name: enrich-lead
  type: code
  operator: runTypescript
  props:
    inputData: { url: '{{trigger.data.profile_url}}' }
    code: |
      async function execute(context) {
        const res = await context.actions.http.get({ url: context.inputData.url })
        context.log.info('fetched', res.status)
        return { score: res.body.score, fetchedAt: new Date().toISOString() }
      }

Pages connexes

Dernière mise à jour 11 août 2026

Cette documentation a été rédigée avec de l'IA : des erreurs ou du contenu obsolète sont donc possibles. Sovrium est en bêta. Les contributions et corrections sont les bienvenues.

Construit avec Sovrium