O Workiva Scripting fornece uma plataforma flexível e segura para a execução de código Python no software Workiva. Ao escrever scripts personalizados que executam automaticamente processos repetíveis, você pode criar eficiências em escala em vários relatórios, arquivos e espaços de trabalho.
Observação: No momento, a criação de scripts está disponível somente por meio do Customize Workiva. Saiba mais.
Funções e permissões
As funções são uma configuração de todo o sistema na Workiva, o que significa que elas estabelecem um nível padrão de acesso para cada script em um espaço de trabalho. Há três funções do Workiva Scripting que podem ser atribuídas pelo administrador do espaço de trabalho.
| Função | Nível de acesso |
|---|---|
| Script Runner | Pode executar scripts. |
| Visualizador de scripts | Permite que você visualize scripts. |
| Editor de scripts | Você pode visualizar, criar e editar scripts. |
Dica: Em vez de usar a função Script Runner, recomendamos que a maioria dos usuários não técnicos inicie scripts por meio de automações integradas .
Você também pode controlar o acesso por arquivo atribuindo permissões . Como as permissões substituem as funções, os proprietários e criadores de scripts podem conceder ou restringir o acesso a arquivos individuais.
| Permissão | Nível de acesso |
|---|---|
| Visualizador | Pode executar e visualizar scripts. |
| Editor | É capaz de executar, editar e visualizar scripts. |
| Proprietário | Você pode executar, editar, visualizar e criar scripts. |
Como usar o Workiva Scripting
Uma vez ativado no seu espaço de trabalho, os scripts aparecerão na tela inicial junto com as outras planilhas, documentos e apresentações do seu site. Você pode criar um novo script ou selecionar um já existente na lista de arquivos.
O editor de scripts é onde você criará, editará e executará os scripts do seu site.
A coleção inclui:
- Uma tela central na qual você comporá o script
- Uma seção de saída na parte inferior, na qual você visualizará os resultados da execução do script
- Uma barra de menu na parte superior, onde você salvará ou executará o script
- Um painel de propriedades à direita para que você gerencie as propriedades do script e execute o histórico
- Um painel de fontes no lado esquerdo
Uma vez criados, os scripts podem ser executados manual, programaticamente, por meio de cadeias ou de dentro de um Workiva File.
Para executar um script manualmente:
- Clique em Run Script na barra de menu na parte superior da tela.
- Clique em + Add Variable.
- Digite os nomes e os valores das variáveis de ambiente a serem passadas como parâmetros.
- Clique em Run Script.
Para executar um script programaticamente, você deve fazer uma solicitação HTTP POST para o ponto de extremidade do protótipo Initiate a script execution .
A ID do script é incluída no ponto de extremidade; você pode passar parâmetros definindo os nomes e os valores das variáveis de ambiente no corpo da solicitação POST.
As saídas do script são registradas como stderr e stdout, juntamente com algumas métricas de uso para monitorar a integridade do produto.
Para executar um script por meio de cadeias, você precisará usar o conector Workiva Scripting. Antes de fazer isso, o administrador de segurança da organização deve habilitar o conector na tela Configurations (Configurações).
Consulte os artigos abaixo para saber mais:
Para executar um script em um Workiva File, você precisará seguir as etapas abaixo
No painel Automações de um documento, planilha ou apresentação, crie uma nova automação e escolha Execução manual como acionador.
Adicione uma ação Execute script, selecione o script que você deseja executar e, como opção, defina quais usuários ou funções estão autorizados a executá-lo.
Somente os usuários especificados verão e poderão executar a automação dentro do arquivo.
Saiba mais sobre Executar scripts com automações.
Criar um script de prática
Antes de criar scripts ativos em seu site, recomendamos que você crie um script de prática no editor de scripts. Isso ajudará você a se familiarizar com o processo antes de lidar com dados em tempo real.
Siga estas etapas para criar um script simples que calcula o valor do dinheiro no tempo:
- Em Home, clique em + Create => Script.
- No lado direito, digite um nome e uma breve descrição para o script.
- Vá para o editor de script no meio da tela e exclua qualquer código existente. Você deve ter uma tela em branco.
-
Você pode colar este código no editor:
import os, sys # https://www.investopedia.com/terms/t/timevalueofmoney.asp # Fórmula para o valor do dinheiro no tempo # FV = PV x [1 + (i / n)]^(n x t) # Suponha que uma quantia de US$ 10.000 seja importada por um ano a juros de 10% compostos anualmente. # O valor futuro desse dinheiro é: # FV = US$ 10.000 x [1 + (10% / 1)] ^ (1 x 1) = US$ 11.000 compounding_periods = {"annual" : 1, "monthly" : 12, "quarterly" : 4, "daily" :365} if 'INVESTMENT' not in os.environ: print("Não é possível executar o script. Investment is missing.") sys.exit() if 'INTEREST_RATE' not in os.environ: print("Não é possível executar o script. A taxa de juros está faltando.") sys.exit() if 'COMPOUNDING_PERIOD' not in os.environ: print("Não é possível executar o script. O período de capitalização está faltando.") sys.exit() if 'YEARS' not in os.environ: print("Não é possível executar o script. O número de anos está faltando.") sys.exit() compounding_period = os.getenv('COMPOUNDING_PERIOD') if compounding_period not in compounding_periods.keys(): print("Não é possível executar o script.", compounding_period," não é um período válido") sys.exit() investment = int(os.getenv('INVESTMENT')) interest_rate = float(os.getenv('INTEREST_RATE')) years = int(os.getenv('YEARS')) n = compounding_periods[compounding_period] FV = investment * pow((1 + ((interest_rate/100) / n)),n * years) print("Assume-se que uma soma de",investment, "é investida por",years, "ano(s) a",\ interest_rate,"% de juros compostos em",compounding_period, "base. ") print("O valor futuro desse dinheiro é:") print(FV) - Clique em Run Script no canto superior esquerdo.
- Clique em +Add Variable e digite os parâmetros que você deseja usar.
- Clique em Run Script para concluir.
Os resultados do script agora podem ser visualizados no painel Output, na parte inferior da tela.
Como obter suporte com o Workiva Scripting
Você pode entrar em contato com Workiva Support para tirar dúvidas sobre o Workiva Scripting. Observe, no entanto, que nossos agentes só podem ajudar com perguntas sobre a própria plataforma - não podemos ajudar a escrever ou solucionar problemas do seu código.
Também temos várias soluções disponíveis aqui no Support Center:
- Bibliotecas e dependências de scripts compatíveis
- Exemplo: Script para atualizar planilhas
- Adicionar, carregar e excluir arquivos de origem de script
- Executar scripts com automações
- Armazenar saídas de script
- Limites de script da Workiva
- Exemplos de scripts
Esses recursos ajudarão você a começar a usar o Workiva Scripting. Para perguntas relacionadas ao uso das APIs públicas da Workiva para escrever seu código e interagir com a Workiva Platform de forma programática, utilize nossa comunidade de desenvolvedores e APIs .
PERGUNTAS FREQUENTES
Como os scripts são comumente usados?
O Workiva Scripting pode automatizar muitas tarefas repetitivas e demoradas que, de outra forma, seriam realizadas manualmente. Alguns casos de uso comuns incluem supressão de linha zero, layouts de relatórios e a aplicação de formatação personalizada a vários documentos.
Dito isso, os scripts podem ser amplamente adaptados para muitas necessidades de negócios. O código é seu; o que você faz com ele depende muito do desenvolvedor do script, da configuração do espaço de trabalho e do número atual de processos manuais em sua empresa.
Você tem algum limite de script?
Sim, a Workiva impõe uma série de limites tanto para o Workiva Scripting quanto para a API de script.
Saiba mais sobre limites de script.
Como aciono scripts de cadeias?
Para isso, você precisa do conector Workiva Scripting.
Veja os artigos abaixo para saber mais:
O Workiva Scripting é compatível com o Fedramp?
Com certeza. A segurança é nossa prioridade máxima na Workiva, e criamos uma infraestrutura que garante que você execute seu código com segurança e desempenho.
Como posso proteger o acesso aos scripts?
Há várias maneiras de você proteger seu código contra o acesso de usuários não autorizados:
- Crie um espaço de trabalho ou uma organização dedicada para usuários autorizados: Criar um espaço de trabalho, ou mesmo uma organização inteira, somente para usuários autorizados é a opção mais segura. Por exemplo, os parceiros podem criar um espaço de trabalho para o Workiva Scripting em sua organização e fazer com que os clientes executem scripts de sua própria organização.
- Use as funções: As funções de script da Workiva (Script Viewer, Script Runner e Script Editor) são hierarquizadas de modo que os usuários tenham acesso apenas aos scripts necessários para seu trabalho. A função Script Runner, por exemplo, permite que os usuários executem scripts, mas não acessem nenhum código.
- Permissões de uso: Os arquivos de script podem ser restritos no nível do arquivo para que somente usuários específicos possam editar ou visualizar o código.
Saiba mais sobre funções e permissões de script.
Você tem uma lista de IPs permitidos para a criação de scripts?
Sim, os IPs permitidos para o programa de script estão incluídos aqui.
Você tem uma biblioteca de scripts disponível?
Reunimos vários scripts de amostra para você usar. Esses scripts também podem ser criados manualmente usando os artigos relacionados na pergunta anterior.
Como faço para gerenciar as versões do script?
No momento, a Workiva armazena apenas a versão mais recente de um script.
Você pode criar cópias de seus arquivos de script na Workiva e organizá-los em pastas, mas recomendamos o uso de um sistema de controle de versão separado, especialmente se você tiver um sistema de controle de versão corporativo.
Como sincronizar o código da Workiva com um sistema de controle de versão corporativo (por exemplo, GitHub)?
A API de scripts do Workiva fornece pontos de extremidade de gerenciamento de fontes em que os usuários podem recuperar a versão mais recente de um script ou atualizar um script para uma cópia mais recente. Atualmente, a Workiva não oferece sincronização automatizada entre arquivos de scripts e o sistema de controle de versão da sua empresa (por exemplo, Gitlab, Github, SVN).
Como faço para acessar as credenciais dos sistemas Workiva e não Workiva a partir de um script?
Há duas maneiras de acessar as credenciais dos sistemas Workiva e não Workiva:
- Enviar credenciais como entradas de tempo de execução (preferencial)
- Codifique as credenciais no código
Por que os valores das entradas de tempo de execução do script não são exibidos na saída do log durante a execução?
Essa é uma precaução de segurança. Como os parâmetros de entrada podem conter dados confidenciais, nós os removemos dos logs voltados para o usuário.
Como posso armazenar dados temporários durante a execução de scripts?
Os scripts da Workiva podem usar a função Python Open (link externo) para ler e gravar arquivos temporariamente na pasta /tmp. Outros caminhos são restritos.
Toda vez que um script é executado, um contêiner é criado na infraestrutura de nuvem da Workiva. Esse contêiner tem o Linux instalado e todos os caminhos são restritos, exceto /tmp (que está vazio). Os dados podem ser gravados e lidos temporariamente nesse caminho. Quando a execução termina, o contêiner é descartado.
Posso definir variáveis globais para usar em vários scripts, à la Chains?
No momento, não.
Posso enviar arquivos como parâmetros?
Os binários podem ser enviados como parâmetros, desde que não excedam 128 KB e sejam codificados como texto (ou seja, binary to text encoding).
Posso acessar o ID da organização, o ID do espaço de trabalho e a região em meus scripts?
Sim, o ID da organização, o ID do espaço de trabalho e a região (EUA, APAC, UE) podem ser acessados pelo código do script por meio da variável de ambiente. Por exemplo, os.getenv("WORKIVA_ORGANIZATION_ID").
| Variável | Descrição |
|---|---|
| WORKIVA_ORGANIZATION_ID | A ID exclusiva da organização Workiva onde o script está hospedado |
| WORKIVA_ACCOUNT_ID | A ID exclusiva do espaço de trabalho|workspace da Workiva onde o script está hospedado |
| DOMÍNIO DO CLUSTER DA WORKIVA | A região da Workiva (EUA, APAC ou UE) do ambiente de produção onde o script está hospedado |
| WORKIVA_SCRIPTING_SCRIPT_ID | A ID exclusiva do script que está sendo executado. |
| WORKIVA_SCRIPTING_RUN_ID | A ID exclusiva do script executado atualmente |
| WORKIVA_SCRIPTING_MEMORY_LIMIT | A quantidade máxima de RAM disponível para o script durante uma única execução |
| WORKIVA_SCRIPTING_DISK_LIMIT | O armazenamento máximo em disco que o script pode usar no diretório /tmp durante uma única execução |
Posso usar o código de um script da Workiva em outro script da Workiva?
No momento, não há como empacotar um script da Workiva como uma biblioteca e reutilizar o código em vários scripts. A melhor opção no momento é copiar o trecho de código reutilizável e colá-lo nos scripts conforme necessário.