Utiliser Groovy dans des scripts
Du code Groovy peut être incorporé aux scripts à l'aide du type d'étape Membre Groovy. Pour chaque script contenant du code Groovy, une classe Groovy unique est créée par concaténation de toutes les étapes Membres Groovy.
Pour des raisons de sécurité, l'installation et les classes Java tiers disponibles pour la génération de script dans Groovy sont restreintes. Les classes de base autorisées peuvent être consultées dans le visualiseur Javadocs Groovy via l'action "Java Docs" dans le portail Script. La liste des classes tierce peut également être consultée via le lien "Afficher la liste d'autorisation Groovy tierce" dans le portail Script.
Moteur de script Groovy
Pour les scripts appelés à partir de Java et entièrement écrits dans Groovy, utilisez une version de moteur de script de type Groovy. Le système traite ce type de script de la même manière que le code écrit en Java. Ainsi, il n'est pas nécessaire de convertir le script depuis et vers le format XML et il est possible d'utiliser du code qui agit directement sur les objets système, d'où un avantage conséquent en termes de performances.
Les types de script suivants prennent en charge la version de moteur Groovy :
Scripts plug-in
Les scripts plug-in peuvent être configurés pour utiliser le moteur Groovy uniquement s'ils ne contiennent que des types d'étape orientés Groovy. Le système fournit une superclasse générée automatiquement qui définit l'API de l'emplacement de plug-in. En interne, le code Groovy doit respecter les conventions système des types d'algorithme Java, et notamment comporter une méthode "invoke" constituant le point d'entrée du plug-in et définir les paramètres modifiables à l'aide d'annotations.
Scripts de la bibliothèque Groovy
Les scripts de la bibliothèque Groovy permettent de créer des groupes de sous-programmes communs écrits en Groovy qui peuvent être appelés depuis d'autres scripts. Les scripts de ce type doivent inclure un type d'étape unique Interface de la bibliothèque Groovy dans lequel sont répertoriées les méthodes publiquement disponibles dans la bibliothèque. Le code prenant en charge ces méthodes disponibles est défini à l'aide d'un ou de plusieurs types d'étape Membres Groovy dans le même script de la bibliothèque. Les méthodes définies dans la bibliothèque peuvent accepter des arguments et retourner des valeurs de tout type. Les scripts de ce type utilisent le moteur Groovy par défaut et ne peuvent pas inclure de types d'étape de génération de script.
Les scripts devant appeler des méthodes d'une bibliothèque Groovy peuvent utiliser la méthode createLibraryScript fournie par le système pour créer une instance de l'interface de la bibliothèque. Assurez-vous que la classe en cours d'instanciation inclut l'extension de nom de fichier .class.
Appeler Groovy dans le moteur de génération de script
Si un script plug-in ou un script de service est configuré pour utiliser une version de moteur de génération de script, il peut combiner des types d'étapes ordinaires et des types d'étape Membres Groovy. Les types d'étape du script déterminent le traitement à exécuter. Les étapes Membres Groovy contiennent du code qui peut être appelé à partir des types d'étape Modifier les données figurant dans le script à l'aide de la commande invokeGroovy. Avec cette commande, seules les méthodes Groovy ne recevant pas d'arguments et ne retournant rien sont prises en charge. Pour plus de détails, voir la section sur les étapes de modification des données.
Pour les scripts utilisant cette option, Framework fournit une superclasse qui contient des méthodes prenant en charge les actions de script courantes telles que les commandes de déplacement et l'évaluation de chaînes, et des méthodes permettant d'appeler des objets métier, des services fonctionnels et des scripts de service. Pour plus de détails sur les méthodes prises en charge, voir la documentation Java propre à Groovy.
Importer des classes Groovy
Toutes les classes Groovy utilisées par votre script doivent être explicitement déclarées dans un type d'étape Importations Groovy. Lors de l'enregistrement d'un script, si le système trouve des classes référencées dans le script qui ne sont pas explicitement déclarées, il émet un avertissement et ajoute automatiquement des instructions d'importation pour les classes. Les rédacteurs de script doivent vérifier que les importations correspondent bien aux classes prévues (au cas où il existerait une classe avec le même nom dans deux packages différents).
Rétrocompatibilité
Dans les versions précédentes, le système ne nécessitait pas d'importations explicites et disposait d'une logique pour importer automatiquement toutes les classes appelables disponibles pour Groovy lors de l'exécution. Pour tout script existant qui ne déclare pas explicitement ses importations, le système continue d'importer toutes les classes appelables lors de l'exécution. Toutefois, il est recommandé d'identifier et de mettre à jour un tel script car il ne s'agit pas de la pratique recommandée.
Le système fournit le programme batch F1-CAGVY qui signale tous les scripts nécessitant l'étape d'importation automatique pour une compilation réussie. En outre, lorsque la version de Groovy est mise à niveau, ce programme batch est utile pour détecter de manière proactive les éventuels problèmes de compilation de scripts existants qui peuvent survenir en raison de modifications dans Groovy. Les équipes d'implémentation sont encouragées à exécuter ce programme batch à brève échéance afin d'identifier et de corriger les scripts qui n'ont pas d'importations explicites, ainsi que pour toute mise à niveau de la version Groovy afin de vérifier les scripts appartenant à l'implémentation éventuellement signalés.
