Note: La création de scripts n'est actuellement possible que par l'intermédiaire de Customize Workiva. En savoir plus.
Configuration des scripts et vue d'ensemble
Comment les scripts sont-ils couramment utilisés ?
Workiva Scripting permet d'automatiser de nombreuses tâches répétitives et fastidieuses qui seraient autrement effectuées à la main. Parmi les cas d'utilisation les plus courants, on peut citer la suppression des rangées zéro, les mises en page de rapports et l'application d'un formatage personnalisé à plusieurs documents.
Cela dit, les scripts peuvent être largement adaptés à de nombreux besoins professionnels. Le code vous appartient ; ce que vous en faites dépend largement de votre développeur de scripts, de la configuration de votre espace de travail et du nombre actuel de processus manuels dans votre entreprise.
Existe-t-il des limites à l'utilisation de scripts ?
Oui, Workiva applique un certain nombre de limites à Workiva Scripting et à l'API de script.
En savoir plus sur les limites des scripts.
Comment déclencher des scripts à partir de chaînes ?
Cela nécessite le connecteur Workiva Scripting.
Pour en savoir plus, consultez les articles ci-dessous :
Workiva Scripting est-il conforme à Fedramp ?
Absolument. La sécurité est notre priorité absolue chez Workiva, et nous avons construit une infrastructure qui garantit que vos exécutions de code sont à la fois sûres et performantes.
Comment puis-je contrôler l'accès aux scripts ?
Il existe plusieurs façons de protéger votre code contre l'accès par des utilisateurs non autorisés :
- Créer un espace de travail ou une organisation réservés aux utilisateurs autorisés: La création d'un espace de travail, voire d'une organisation entière, réservé aux utilisateurs autorisés est l'option la plus sûre. Par exemple, les partenaires peuvent créer un espace de travail pour Workiva Scripting dans votre organisation et permettre aux clients d'exécuter des scripts à partir de leur propre organisation.
- Utilisez les rôles: Les rôles de script de Workiva (Script Viewer, Script Runner et Script Editor) sont hiérarchisés de manière à ce que les utilisateurs n'aient accès qu'aux scripts nécessaires à leur travail. Le rôle Script Runner, par exemple, permet aux utilisateurs d'exécuter des scripts mais pas d'accéder au code.
- Utiliser les autorisations: Les fichiers de script peuvent être restreints au niveau du fichier afin que seuls des utilisateurs spécifiques puissent modifier ou visualiser votre code.
En savoir plus sur les rôles et les autorisations de script .
Existe-t-il une liste des adresses IP autorisées pour les scripts ?
Oui, les adresses IP autorisées pour le programme de script sont incluses ici.
Existe-t-il une bibliothèque de scripts ?
Nous avons rassemblé un certain nombre d'exemples de scripts pour votre usage. Ces scripts peuvent également être créés manuellement à l'aide des articles mentionnés dans la question précédente.
Utilisation de l'éditeur de scripts
Comment gérer les versions des scripts ?
À l'heure actuelle, Workiva ne stocke que la dernière version d'un script.
Vous pouvez créer des copies de vos fichiers de script dans Workiva et les organiser dans des dossiers, mais nous vous recommandons d'utiliser un système de contrôle de version distinct - en particulier si vous disposez d'un système de contrôle de version d'entreprise.
Comment synchroniser le code de Workiva avec un système de contrôle de version d'entreprise (par exemple, GitHub) ?
Le site Workiva Scripting API fournit des points d'extrémité de gestion des sources où les utilisateurs peuvent récupérer la dernière version d'un script ou mettre à jour un script vers une copie plus récente. Workiva n'offre pas actuellement de synchronisation automatisée entre les fichiers de scripts et votre système de contrôle de version d'entreprise (par exemple Gitlab, Github, SVN).
Comment puis-je accéder aux informations d'identification des systèmes Workiva et non Workiva à partir d'un script ?
Il existe deux façons d'accéder aux informations d'identification pour les systèmes Workiva et non Workiva :
- Envoyer les informations d'identification en tant qu'entrées d'exécution (de préférence)
- Coder en dur les informations d'identification dans le code
Pourquoi les valeurs des entrées d'exécution du script ne sont-elles pas affichées dans la sortie du journal pendant l'exécution ?
Il s'agit d'une mesure de sécurité. Les paramètres d'entrée pouvant contenir des données sensibles, nous les supprimons des journaux destinés aux utilisateurs.
Comment puis-je stocker des données temporaires pendant l'exécution des scripts ?
Les scripts Workiva peuvent utiliser la fonction Python Open (lien externe) pour lire et écrire des fichiers temporairement dans le dossier /tmp. Les autres chemins sont limités.
Chaque fois qu'un script est exécuté, un conteneur est lancé dans l'infrastructure en nuage de Workiva. Ce conteneur a linux installé, et tous les chemins sont restreints à l'exception de /tmp (qui est vide). Les données peuvent être écrites et lues temporairement sur ce chemin. Une fois la course terminée, le conteneur est mis à la poubelle.
Puis-je définir des variables globales à utiliser dans plusieurs scripts, à la manière des chaînes ?
Pas pour l’instant.
Puis-je envoyer des fichiers en tant que paramètres ?
Les fichiers binaires peuvent être envoyés en tant que paramètres pour autant qu'ils ne dépassent pas 128 Ko et qu'ils soient codés en texte (par exemple, binaire codé en texte).
Puis-je accéder à l'identifiant de l'organisation, à l'identifiant de l'espace de travail et à la région dans mes scripts ?
Oui, l'identifiant de l'organisation, l'identifiant de l'espace de travail et la région (US, APAC, EU) sont accessibles à votre code de script via une variable d'environnement. Par exemple, os.getenv("WORKIVA_ORGANIZATION_ID").
| Variable | Description |
|---|---|
| WORKIVA_ORGANIZATION_ID | L’identifiant unique de l’organisation Workiva où le script est hébergé |
| WORKIVA_ACCOUNT_ID | L’identifiant unique de l’espace de travail Workiva où le script est hébergé |
| DOMAINE_DU_CLUSTER_DE_TRAVAIL | La région Workiva (US, APAC, ou EU) de l’environnement de production où le script est hébergé |
| WORKIVA_SCRIPTING_SCRIPT_ID | L’identifiant unique du script en cours d’exécution. |
| WORKIVA_SCRIPTING_RUN_ID | L’identifiant unique de l’exécution actuelle du script |
| WORKIVA_SCRIPTING_MEMORY_LIMIT | La quantité maximale de RAM disponible pour le script au cours d’une seule exécution. |
| WORKIVA_SCRIPTING_DISK_LIMIT | L’espace disque maximum que le script peut utiliser dans le répertoire /tmp au cours d’une seule exécution. |
Puis-je utiliser le code d'un script Workiva dans un autre script Workiva ?
À l'heure actuelle, il n'existe aucun moyen d'empaqueter un script Workiva en tant que bibliothèque et de réutiliser le code dans plusieurs scripts. La meilleure solution consiste à copier le morceau de code réutilisable et à le coller dans les scripts en fonction des besoins.
Utilisation de scripts provenant d'automatisations
Puis-je exécuter un script hébergé dans un autre espace de travail, une autre organisation ou un autre environnement (APAC, EU, US) ?
La fonction d'automatisation dans Workiva ne peut exécuter des scripts que dans l'espace de travail où se trouve le fichier. Toutefois, le connecteur Workiva Scripting ou l'API Workiva Scripting peuvent être utilisés pour exécuter un script hébergé à un autre endroit.
Si vous utilisez l'API de script, vous devez créer et héberger un script dans l'espace de travail principal dont le seul but est d'appeler l'API de script et d'exécuter le script dans l'espace de travail secondaire.
Puis-je envoyer des entrées/paramètres lors de l'exécution du script ?
Pour l'instant, la fonction d'automatisation n'autorise pas les entrées d'exécution qui sont envoyées au script lorsque celui-ci est exécuté.
Quelles sont les métadonnées envoyées à l'exécution d'un script à partir d'une automatisation ? L'identifiant de l'espace de travail est-il envoyé ?
Lorsqu'un script est exécuté à partir d'une automatisation, le seul paramètre envoyé est l'ID du document dans lequel l'automatisation est configurée.
Comment puis-je accéder aux informations d'identification des systèmes Workiva et non Workiva à partir de l'exécution du script ?
Lorsqu'un script est exécuté à partir d'un automate, la seule option consiste à coder en dur les informations d'identification dans le code lui-même.
Le même script peut-il être exécuté simultanément à partir de deux fichiers ou plus ?
Oui, un script peut être exécuté simultanément à partir du même fichier ou de plusieurs fichiers.
Utilisation de scripts provenant de chaînes
Puis-je exécuter un script hébergé dans un autre espace de travail, une autre organisation ou un autre environnement (APAC, EU, US) ?
Oui, un script hébergé dans un espace de travail peut être exécuté par une chaîne hébergée dans un espace de travail, une organisation ou un environnement différent.
Pour ce faire, le connecteur Workiva Scripting utilisé dans la chaîne doit être configuré avec une subvention API créée dans l'espace de travail hôte, et les URL de scripting/IAM utilisées doivent correspondre à l'espace de travail correct.
Pour en savoir plus, consultez les articles ci-dessous :
Le même script peut-il être exécuté simultanément à partir de deux nœuds ?
Le même script peut être exécuté simultanément à partir de plusieurs nœuds d'une même chaîne et/ou de plusieurs chaînes.
Comment utiliser la sortie d'un script dans un autre nœud de chaîne ?
La commande Run Script vous permet de saisir un exemple de charge utile pour chaque sortie produisant du JSON, qui peut ensuite être utilisé dans d'autres nœuds.
Un fichier temporel peut-il être créé dans une chaîne par des paramètres dans le script ?
Vous pouvez définir des fichiers binaires comme paramètres à condition qu'ils ne dépassent pas 128 Ko.
API et bibliothèques
Quelles sont les API et les bibliothèques prises en charge ?
Workiva Scripting prend actuellement en charge :
- API publiques Workiva
- API non Workiva
- La bibliothèque standard de Python
- L'index des paquets Python (PyPI)
La prise en charge d'autres langues est toujours à l'étude et pourrait être mise en œuvre à l'avenir.
En savoir plus : Bibliothèques et dépendances Workiva Scripting prises en charge
Quelle version de Python est utilisée dans Workiva Scripting ?
Workiva Scripting supporte actuellement l’utilisation de Python 3,9 et Python 3,13, avec un support pour l’utilisation de Python 3,9 se terminant en mars 2026.
En savoir plus : Migration des scripts vers Python 3,13 dans Workiva
Workiva fournit-il des clients API avec des langages populaires tels que Python ou Java ?
Nous ne fournissons pas actuellement de SDK publics pour Python ou Java.
Cependant, nous fournissons des spécifications ouvertes pour les API de Workiva afin que vous puissiez générer ces bibliothèques vous-même. Par exemple, vous pouvez obtenir le fichier OAS de l'API de la plateforme Workiva et générer une bibliothèque client.
Existe-t-il des API spécifiques aux scripts ?
Les points d'extrémité de l'API de script sont disponibles en tant que points d'extrémité de prototype dans l'API de la plateforme de prototypage de Workiva.
Comment puis-je créer et visualiser les subventions API pour les API publiques de Workiva ?
Vous devrez obtenir un identifiant et un secret client en suivant les instructions de ici.
Comment puis-je m'autoriser à utiliser les API publiques de Workiva à l'aide de Python ?
L'extrait de code suivant fait appel au service IAM pour générer un jeton d'accès qui est ensuite utilisé pour s'authentifier auprès des points d'extrémité du prototype Scripting. Il obtiendra une liste de tous les scripts auxquels la subvention de l'API (c'est-à-dire le client) a accès dans l'espace de travail où la subvention a été créée.
import requests import json import os AUTH_URL = "https://api.app.wdesk.com/iam/v1/oauth2/token" SCRIPTING_API_URL = "https://api.app.wdesk.com/prototype/platform/scripts/" CLIENT_ID = os.getenv('CLIENT_ID') CLIENT_SECRET = os.getenv('CLIENT_SECRET') tokenResponse = requests.post( AUTH_URL, data = 'client_id=' + CLIENT_ID + '&client_secret=' + CLIENT_SECRET + '&grant_type=client_credentials', headers = {'Content-Type': 'application/x-www-form-urlencoded; \ charset=UTF-8'}) accessToken = 'Bearer ' + json.loads(tokenResponse.text)['access_token'] dataRes = requests.get(SCRIPTING_API_URL, headers = {'Authorization': accessToken}) print(json.loads(dataRes.text))
Comment mettre à jour le format des cellules en utilisant Python ?
Le point de terminaison du prototype Update Sheet Content permet de mettre à jour le format des cellules à l'aide d'un code Python.
Puis-je lire/écrire ou télécharger des fichiers non-Workiva stockés dans Workiva ?
Pour l'instant, il n'y a pas de points d'extrémité disponibles pour lire/écrire ou télécharger des fichiers non-Workiva stockés dans Workiva.
Puis-je créer et gérer des automatismes de manière programmatique ?
Pour l'instant, il n'existe pas de points d'extrémité permettant de créer ou de gérer des automatismes de manière programmatique.