Workiva Scripting fournit une plateforme flexible et sécurisée pour exécuter du code Python sur le logiciel Workiva. Cet article couvre certains des scénarios les plus courants que vous pouvez rencontrer lors de l'élaboration de votre script.
Pour les questions qui ne sont pas abordées ici, consultez nos autres articles sur les scripts ou accédez à la communauté Workiva APIs & Scripting.
Note: La création de scripts n'est actuellement possible que par l'intermédiaire de Customize Workiva. En savoir plus.
Problèmes d'administration et d'autorisation
L'action Exécuter le script n'apparaît pas dans les automatisations
Cela indique que vous n'avez pas le rôle nécessaire pour exécuter ce script. Contactez votre administrateur d'espace de travail pour lui attribuer un rôle de script approprié.
Si un rôle requis est attribué et que l'action n'est toujours pas disponible, veuillez vérifier que la fonction de script est activée dans cet espace de travail particulier.
Le connecteur Workiva Scripting n'est pas disponible dans les chaînes
Cela indique que le connecteur Workiva Scripting n'a pas été activé pour votre espace de travail. Contactez-nous pour l'activer.
Aucun rôle de script n'est visible pour l'administrateur de l'espace de travail.
Cela indique que la fonction de script n'a pas été activée pour votre espace de travail. Contactez-nous pour l'activer.
Connecteur de script Workiva et problèmes de commande (chaînes)
L'exécution de la commande démarre mais pas celle du script
Vérifiez que la fonction de script a été activée pour votre espace de travail. Si ce n'est pas le cas, nous contacter pour l'activer.
Si vous avez confirmé que la création de scripts est activée, il se peut que l'utilisateur d'intégration pour le connecteur Workiva Scripting n'ait pas le rôle nécessaire. Contactez votre administrateur d'espace de travail pour lui attribuer un rôle approprié Scripting. Vous devez également vérifier que l'utilisateur d'intégration a le droit d'accéder au script déclenché par la commande.
L'exécution de la commande est toujours en cours mais l'exécution du script s'arrête inopinément
Veuillez vérifier que l'exécution du script n'a pas été annulée en dehors de cette commande. L'historique des exécutions peut être consulté dans le panneau Properties de l'éditeur de scripts ou récupéré via les points d'extrémité de l'API Scripting Prototype.
Si ce n'est pas le cas, assurez-vous que l'exécution du script n'a pas atteint la limite maximale d'utilisation de la mémoire vive (voir Scripting Limits). Vous pouvez le faire en signalant l'utilisation de la mémoire dans votre code.
Nous avons inclus un exemple ci-dessous sur la façon de signaler l'utilisation de la mémoire avec tracemalloc de la bibliothèque standard Python .
# importing the module
import tracemalloc
# code or function for which memory
# has to be monitored
def app():
lt = []
for i in range(0, 100000):
lt.append(i)
# starting the monitoring
tracemalloc.start()
# function call
app()
# displaying the memory
print(tracemalloc.get_traced_memory())
# stopping the library
tracemalloc.stop()
Les exécutions de scripts ont également une durée d'exécution maximale (voir Scripting Limits) ; assurez-vous que l'exécution du script n'a pas atteint cette limite.
Enfin, vérifiez que le code du script n'inclut pas les fonctions suivantes :
- quitter()
- exit()
- sys.exit()
- os._exit()
Ces fonctions ont pratiquement la même fonction, à savoir lever l'exception SystemExit par laquelle l'interpréteur Python quitte le système.
Désynchronisation de l'exécution des commandes et des scripts
Cela se produit lorsque la commande se termine et que l'exécution du script se poursuit, ou inversement.
Si la commande se termine avant l'exécution du script, assurez-vous que le délai d'attente de la commande est supérieur à la durée d'exécution du script (voir Scripting Limits pour en savoir plus sur la durée maximale d'exécution d'un script).
Si l'exécution du script s'achève quelques secondes avant la commande, il peut s'agir d'un retard prévisible causé par le traitement des informations par le système de script après la fin de l'exécution du script. La commande ne signalera l'achèvement que lorsque l'ensemble du processus sera terminé.
Editeur de scripts
L'importation d'une bibliothèque ne fonctionne pas
Workiva Scripting prend en charge la bibliothèque standard de Python dans sa version standard, ainsi que les composants disponibles dans le Python Package Index (voir Supported Workiva Scripting libraries and dependencies pour plus d'informations). Les composants PyPI qui nécessitent des installations supplémentaires peuvent ne pas être pris en charge.
Assurez-vous que la bibliothèque que vous essayez d'importer fait partie de la bibliothèque standard de Python ou du Python Package Index. S'il s'agit d'un composant de ce dernier, assurez-vous qu'aucune installation supplémentaire n'est nécessaire.