您可以使用“自动化”面板中的“脚本执行”操作来运行网站中的脚本。这样,您就可以手动从文档、电子表格或演示文稿运行脚本。
注:目前仅可通过自定义 Workiva 实现脚本编写。了解更多。
要求
- 您的工作区必须启用 Workiva 脚本功能。了解更多关于Workiva脚本的信息。
- 脚本只能在托管它们的同一工作区中运行。进一步了解。
- 只有文件所有者才能创建自动化流程。
- 要创建脚本,需要 脚本编辑器 角色。
创建您的自动化流程
要从您拥有的文件创建自动化流程:
- 从 主页打开文档、演示文稿或电子表格。
- 在屏幕最右侧,从面板中选择 自动化 。
- 点击 + 或 创建 添加新的自动化流程。
- 从 自动化触发器 下拉菜单中,选择 手动执行。
- 在 下,当选择运行时,可以选择允许其他用户手动运行此自动化流程。
- 在 操作详情下,选择 执行脚本。
- 在“脚本 ID”下,输入脚本 URL 末尾的 ID 。
- 选择包含脚本输入的电子表格和部分。这是可选的。
- 点击 创建 完成。
运行和管理您的自动化
您的新自动化流程将在“自动化”面板中显示为“已启用”。作为文件所有者,您可以从下拉菜单中执行以下几个操作:
- 运行: 手动运行自动化脚本。
- 编辑: 更新有关自动化的详细信息,例如其触发条件。
- 禁用/启用: 选择是否可运行自动化流程。
- 查看活动: 打开自动化活动日志。
- 删除: 从文件中永久删除自动化操作。
注:为防止重复运行, 运行 选项在每次点击之间会禁用 20 秒。
您的脚本接收的信息
当自动化程序运行时,它会发送一些信息,脚本会将这些信息读取为环境变量:
- DOCUMENT_ID: 运行自动化的文档的 ID。
- INPUT_SHEET_ID: 用于管理自动化输入参数的电子表格的 WURL。
- INPUT_RESOURCE_ID: 上述电子表格中该部分的 WURL。
- INPUT_SPREADSHEET_ID: 上述电子表格的 ID。
- INPUT_SPREADSHEET_SHEET_ID: 上述电子表格中部分的 ID。
WURL 是 Workiva 专有的特定 URL,其中包含电子表格或部分的 ID 和其他信息。
要从参数中检索 ID,请使用以下脚本:
# 欢迎使用 Workiva 脚本导入 requests 导入 json 导入 os DOCUMENT_ID = os.getenv('DOCUMENT_ID') SPREADSHEET_ID = os.getenv('INPUT_SPREADSHEET_ID') SHEET_ID = os.getenv('INPUT_SPREADSHEET_SHEET_ID') print("原始参数:") print(os.environ) print("") print("实际 ID:") print(DOCUMENT_ID) print(SPREADSHEET_ID) print(SHEET_ID) 注意:自动化目前不会向脚本发送任何 Workiva 公共 API 凭据(例如客户端 ID 或密钥)。您可能需要将这些凭据直接写入脚本中。
FAQ|常见问题解答
我可以执行托管在其他工作区、组织或环境(亚太地区、欧盟、美国)中的脚本吗?
Workiva 中的 自动化功能 只能在文件所在的同一工作区中执行脚本。但是,可以使用 Workiva Scripting 连接器 或 Workiva Scripting API 来执行托管在其他位置的脚本。
如果使用脚本 API,则必须在主工作区中创建并托管一个脚本,该脚本的唯一目的是调用脚本 API 并在辅助工作区中执行该脚本。
我可以在脚本执行时发送运行时输入/参数吗?
目前,自动化功能不允许在脚本执行时向脚本发送运行时输入。
自动化流程会向脚本执行发送哪些元数据?工作区 ID 是否已发送?
当从自动化流程执行脚本时,发送的唯一参数是配置该自动化流程的文档的 ID。
如何通过脚本执行访问 Workiva 系统和非 Workiva 系统的凭据?
当从自动化流程执行脚本时,唯一的选择是将凭据硬编码到代码本身中。
能否同时从两个或多个文件中执行同一个脚本?
是的,脚本可以从同一个文件或多个文件同时执行。