Micro-apps

Transformation de script

La transformation de script vous permet d’activer la transformation du script en ligne pour les points de terminaison de chargement des données et les actions de service. Les scripts peuvent être configurés pour recevoir un objet de réponse obtenu à partir de la réponse HTTP et le transformer en un autre objet de réponse en fonction de votre système d’enregistrement (SoR) d’intégration cible. Les scripts ne peuvent pas effectuer de requêtes ni stocker de données. La transformation de script est uniquement destinée à transformer la réponse afin qu’elle puisse être analysée par l’analyseur JSON de l’intégration HTTP.

  • Chaque point de terminaison HTTP dispose de son propre script modifiable.
  • Lors du test d’une intégration HTTP à l’aide du bouton Tester service, le script est exécuté avec la requête de test.
  • Les scripts exécutés avec la transformation de requête sont limités à 10 000 instructions.
  • L’exécution du script est également limitée à une période de temps d’une minute. Si le script ne se termine pas pendant cette période, il est interrompu.

Avant de commencer

L’utilisation de la transformation de script part du principe que vous connaissez bien le système d’enregistrement (SoR) de votre application cible. Lorsque vous utilisez la transformation de script pour les intégrations HTTP, suivez ce processus général :

  • Préparez le script que vous souhaitez importer via les pages de configuration Chargement des données ou Actions de service.
  • Les scripts doivent être préparés en langage javascript modifié dans l’éditeur de texte/l’outil de développement de votre choix.
  • Lorsque vous êtes prêt, collez le script (ou modifiez-le directement) via la boîte de transformation de script dans l’interface d’administration de micro-apps.
  • Lors de l’importation, testez le script.

Remarque :

Lors de l’utilisation de la transformation de script, la sortie de script standard est enregistrée et indexée par Citrix à des fins de débogage. Assurez-vous qu’aucune information sensible n’est enregistrée lors de l’utilisation de la fonction d’impression ou du fichier console.log pendant la configuration.

Activer la transformation de script

Pour activer la transformation de script lors de la configuration du chargement des données ou des actions de service, procédez comme suit :

  1. Sélectionnez le bouton Transformation de script :

    Bouton Activer/désactiver la transformation de script

  2. Entrez votre script préparé :

    Entrée de script

  3. Sélectionnez Tester avec les paramètres, puis Tester service pour afficher la réponse d’origine, la sortie du script, la réponse transformée et les erreurs de script, le cas échéant.

Remarque :

Si vous modifiez le script de transformation, vous devez également régénérer la table.

Lorsque votre script fonctionne correctement avec les paramètres Chargement des données ou Actions de service, sélectionnez Ajouter.

Exemples de scripts

({response}) => {
_ = library.load("lodash")
let json = JSON.parse(response)
console.log(`loaded user count: ${json.length}`)
let transformed = json.filter(user => {
    if (user.active === true) {
        return true
    }
    console.log(`skipping inactive: ${user.displayName}`)
    return false
}).map(user => ({
    name: user.displayName,
    avatarUrl: user.avatarUrls["32x32"],
    now: _.now(),
}))
return JSON.stringify(transformed) }

Remarque :

Vous pouvez renvoyer la chaîne comme dans l’exemple précédent. Vous pouvez également la renvoyer comme l’objet js (tableau), ce qui renvoit la variable transformée.

Example: Renaming JSON array name before.json after.json:

({
response
}) => {
_ = library.load("lodash")

function rename(obj, key, newKey) {
    if (_.includes(_.keys(obj), key)) {
        obj[newKey] = _.clone(obj[key], true)
        delete obj[key]
    }
    return obj
}

let json = JSON.parse(response)
let transformed = rename(json, 'tickets', 'new_tickets')
return JSON.stringify(transformed) }
Transformation de script