Workiva Scripting 为在 Workiva 平台上运行 Python 代码提供了一个灵活、安全的环境。本文涵盖了编写脚本时可能遇到的一些常见场景。
Workiva Scripting 包含在 Customize Workiva 中。要使用脚本功能,您的工作区必须启用“自定义 Workiva/脚本”功能,并且用户需要相应的脚本角色和文件权限。
对于此处未涵盖的问题,请查看我们的 其他 Workiva Scripting 文章 或访问Workiva API和Workiva Scripting社区。
管理员和权限问题
“执行脚本”操作未出现在自动化列表中
只有具有相应 脚本角色的用户才能使用“执行脚本”操作。请联系您的工作区管理员以分配所需角色。如果角色已分配但操作仍然不可用,请联系 Workiva 支持。
Chains 中不提供 Workiva Scripting 连接器
这表示您的工作区尚未启用 Workiva Scripting 连接器。如果您认为应该启用该功能但未启用,请联系您的 Workiva 客户团队。
工作区管理员看不到任何脚本角色。
这表示您的工作区尚未启用脚本功能。如果您认为应该启用该功能但未启用,请联系您的 Workiva 客户团队。
Workiva Scripting 连接器和命令问题(链)
命令开始执行,但脚本没有执行。
请确认您的工作区已启用脚本功能。如果您认为应该启用该功能但未启用,请联系您的 Workiva 客户团队。
如果您已确认脚本功能已启用,则 Workiva Scripting 连接器 的集成用户可能未分配必要的角色。请联系您的工作区管理员以分配合适的 脚本角色。您还应该验证集成用户是否具有访问该命令触发的脚本的权限。
命令仍在执行中,但脚本执行意外停止。
如果脚本停止后链式命令仍在执行,请检查以下内容:
-
检查运行是否已取消:
运行历史记录可在脚本编辑器的“属性”面板中找到,也可通
过 GET /scripts/{scriptId}/runs或GET /scripts/{scriptId}/runs/{runId}来查看。API 请求需要script:read作用域,并且必须包含X-Version: 2026-01-01。有关创建或更新 API 授权的说明,请参阅 Workiva API 设置。
-
检查脚本是否超出资源限制:
内存、CPU、磁盘和运行时使用情况会自动在脚本运行日志和 API 返回的脚本运行数据中报告。
有关更多信息,请参阅 处理 Workiva Scripting 中的资源限制 和 Workiva Scripting 限制。
-
检查脚本是否已达到最大运行时间:
如果确实如此,则减少一次运行中完成的工作量,或者将工作分成更小的操作。请参阅 Workiva 脚本限制。
-
检查是否存在显式停止 Python 进程的函数:
请确认脚本没有调用:
quit() exit() sys.exit() os._exit()quit(),exit(), 和sys.exit()raiseSystemExit.os._exit() 会立即停止进程,而不运行正常的清理处理程序。
有关脚本 API 操作的更多信息,请参阅 脚本 API 指南。
命令和脚本执行不同步
当命令执行完毕但脚本仍在运行,或者反之亦然时,就会发生这种情况。
如果命令在脚本执行之前完成,请确保 命令超时 大于脚本执行时间(请参阅 Workiva 脚本限制 以了解最大脚本执行时间)。
如果脚本执行在命令执行前几秒钟完成,这可能是由于脚本系统在脚本执行完成后处理信息而导致的预期延迟。只有当整个过程完成后,指挥部才会报告完成情况。
脚本编辑器
导入库不起作用
Workiva Scripting 开箱即用地支持 Python 标准库 ,以及 Python包索引 (Python 包索引)中提供的组件(有关更多信息, 请参阅 Workiva Scripting 支持的库和依赖项 ) 。需要额外安装的 PyPI 组件可能不受支持。
请确保您尝试导入的库是 Python 标准库或 Python 包索引的一部分。如果它是后者的组成部分,请确保不需要额外的安装。