A Workiva é compatível com a biblioteca padrão do Python e com o Python Package Index (PyPI). As dependências podem ser geradas automaticamente usando o editor de scripts integrado ou criadas manualmente em seu computador local.
Observação: No momento, a criação de scripts só está disponível por meio do Customize Workiva. Saiba mais.
Requisitos
- O Roteiros da Workiva deve estar ativado em seu espaço de trabalho. Saiba mais sobre o Roteiros da Workiva.
- A função Script Editor é necessária para que você possa criar ou editar scripts.
Bibliotecas compatíveis
Os scripts da Workiva são compatíveis com a biblioteca padrão do Python imediatamente; você pode simplesmente importar o módulo em seu código e começar a usá-lo. Essa biblioteca contém módulos internos que fornecem acesso à funcionalidade do sistema, como E/S de arquivos, bem como muitas soluções padronizadas para problemas comuns de programação.
Além da biblioteca padrão, há uma coleção crescente de componentes disponíveis no Python Package Index. Você precisará gerar as dependências em seu script que incluem os componentes do PyPI que deseja usar.
Um dos componentes do PyPI que usamos normalmente é o componente "requests", que permite que você interaja com a plataforma Workiva por meio das APIs públicas da Workiva.
Observação: os componentes do PyPI que exigem instalações adicionais podem não ser compatíveis.
Gerar dependências com o editor de scripts
O editor de scripts pode criar automaticamente suas dependências.
Veja como.
- Em Home, abra um arquivo de script (ou crie um novo).
- Vá para o painel Sources no lado esquerdo, clique com o botão direito do mouse no espaço em branco logo abaixo das fontes atuais e selecione + Add Source File.
- Crie uma nova fonte chamada: requirements.txt.
- Na tela central, adicione uma linha especificando a biblioteca e a versão a serem instaladas. (Esta é a linha requests==2.28.1 em nossa imagem de exemplo).
- Clique em Save no canto superior esquerdo.
- Recarregue a tela. Não pule esta etapa!
Depois de salva e atualizada, a Workiva gera automaticamente um pacote de dependências chamado dependencies.zip. Agora você pode usar a biblioteca em seu código.
Gerar dependências a partir de sua máquina local
Para criar dependências manualmente, você deve compilar um pacote localmente e carregá-lo no editor de scripts. Por exemplo, você pode ter um projeto que precise acessar a biblioteca "requests" para executar um script:
import requests print (requests.get('https://api.github.com').text) Isso pode ser feito emusando um gerenciador de pacotes compatível com o pip:
- Defina a versão da biblioteca "requests" a ser acessada como um formato compatível com o pip; ela deve ser salva como um arquivo .TXT:
echo requests==2.26.0 > requirements.txt
- Instale a dependência em um novo diretório Dependencies:
pip3 install --target ./dependencies --requirement requirements.txt
- Crie um arquivo dependencies.zip:
cd dependencies
zip -r ../dependencies.zip .
cd ...
- Em seu projeto Workiva Scripting, crie um arquivo vazio dependencies.zip:
curl -k -v -X POST \
-H 'Content-type: application/x-www-form-urlencoded;charset=UTF-8' \
-d "client_id=$CLIENT_ID&client_secret=$CLIENT_SECRET&grant_type=client_credentials" \
https://api.app.wdesk.com/iam/v1/oauth2/token - Para obter o link do endpoint, clique em Run Link no menu na parte superior do editor de script:
curl -X POST https://h.sandbox.wdesk.com/s/scripting/v0/scripts/<script-id>/files \
Você deverá obter a seguinte resposta. Você pode obter o ID do arquivo a partir daí.
-H "Content-Type: application/json" -H "Authorization: Bearer $BEARER_TOKEN" \
-d '{"path": "dependencies.zip"}'
{"id":"<file-id>", "path": "dependencies.zip"} - Para obter uma lista dos IDs de arquivo em seu script, faça uma solicitação GET:
curl -X GET https://h.sandbox.wdesk.com/s/scripting/v0/scripts/<script-id>/files \
-H "Content-Type:application/json" \
-H "Authorization: Bearer $BEARER_TOKEN" - Faça upload do arquivo dependencies.zip para o novo ID de arquivo:
curl -X PUT https://h.sandbox.wdesk.com/s/scripting/v0/scripts/<script-id>/files/<file-id> \
-H "Authorization: Bearer $BEARER_TOKEN" --data-binary @dependencies.zip - Para testar a biblioteca "requests", execute um script com o seguinte código:
import requests print (requests.get('https://api.github.com').text)
PERGUNTAS FREQUENTES
Quais APIs e bibliotecas são compatíveis?
Atualmente, o Workiva Scripting é compatível com:
- APIs públicas do Workiva
- APIs que não são da Workiva
- Biblioteca padrão do Python
- Índice de pacotes Python (PyPI)
O suporte a outros idiomas ainda está sendo considerado e poderá ser implementado no futuro.
Saiba mais sobre isso: Bibliotecas e dependências compatíveis com o Workiva Scripting
Qual versão do Python é usada no Workiva Scripting?
Atualmente, o Workiva Scripting suporta o uso do Python 3.9 e do Python 3.13, e o suporte ao uso do Python 3.9 será encerrado em março de 2026.
Saiba mais: Migrando scripts para o Python 3.13 na Workiva
A Workiva fornece clientes de API com linguagens populares como Python ou Java?
Atualmente, não fornecemos SDKs públicos para Python ou Java.
No entanto, fornecemos especificações de API abertas para as APIs da Workiva para que você mesmo possa gerar essas bibliotecas. Por exemplo, você pode obter o arquivo OAS da API da Workiva Platform e gerar uma biblioteca de cliente.
Você tem APIs específicas de script disponíveis?
Os pontos de extremidade da API de script estão disponíveis como pontos de extremidade de protótipo na API da plataforma de protótipo da Workiva.
Como faço para criar e visualizar concessões de API para as APIs públicas da Workiva?
Você precisará obter um ID e um segredo de cliente seguindo as instruções de aqui.
Como faço para autorizar as APIs públicas da Workiva usando Python?
O trecho de código a seguir faz uma chamada para o serviço IAM para gerar um token de acesso que é usado para autenticação nos pontos de extremidade do protótipo de script. Você obterá uma lista de todos os scripts aos quais a concessão da API (ou seja, o cliente) tem acesso no espaço de trabalho em que a concessão foi criada.
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))
Como faço para atualizar o formato das células usando Python?
O ponto de extremidade do protótipo Update Sheet Content permite que você atualize o formato das células usando o código Python.
Posso ler/gravar ou carregar arquivos que não sejam da Workiva armazenados na Workiva?
No momento, não há pontos de extremidade disponíveis para ler/gravar ou fazer upload de arquivos que não sejam da Workiva armazenados na Workiva.
Posso criar e gerenciar automações de forma programática?
No momento, não há pontos de extremidade disponíveis para criar ou gerenciar automações de forma programática.