"environment": {
"runtime": "python3.11",
"requirements": ["boxsdk==3.9.2", "openpyxl==3.1.2", "Jinja2==3.1.3", "simple-salesforce==1.12.5", "jira==3.8.0", "hcl==3.0.*"],
"showCommitToastMessage": true
过时脚本的问题
系统不会禁止在 HCL 3.0 和 Python 3.11 运行时环境中运行头信息过期的脚本。但是,您应该尽快更新脚本,以避免以下问题:
脚本可能失败 在 Python 3.8 和更早版本的相关库下提交的脚本可能包含已弃用的代码,导致脚本在 Python 3.11 中失败。
脚本可能生成不正确的输出 脚本可能会运行,但输出可能与 Python 3.8 运行时环境中生成的输出不匹配。
出现警告通知 在更新脚本的头信息之前,机器人用户界面中的警告通知会与脚本以及包含该脚本的机器人一起出现。有关详细信息,请参阅机器人应用程序用户界面中的警告通知。
禁止激活 在更新脚本头信息之前,禁止从开发模式激活脚本到生产模式。
如何更新脚本
要将脚本更新到当前版本的 HCL 和 Python,请执行以下过程:
在机器人应用程序脚本编辑器中打开并运行脚本。
对脚本逻辑进行必要的更新。
保存并提交脚本。
提交脚本后,脚本头将更新为当前版本的 HCL、Python 和相关库。
如果在生产机器人中使用脚本,请激活脚本以在生产模式下更新它:
有关详细步骤,请参阅测试并重新提交现有的 Python/HCL 脚本。
在机器人应用程序用户界面中,会出现几个警告通知,提醒您仍然存在与 Python 3.8 关联的机器人和脚本版本。
一旦您在 Python 3.11 运行时环境下重新提交并激活脚本,机器人和脚本版本的警告通知就会消失。
机器人应用程序仪表盘 当您访问机器人应用程序仪表盘时,会出现一个表,列出所有具有在 Python 3.8 运行时环境下提交和激活的当前生产脚本的机器人。
仪表盘上的各个机器人 具有在 Python 3.8 运行时环境下提交和激活的当前生产脚本的单个 HighBond 或工作流机器人上出现警告图标。
各个脚本版本 在开发模式下,在 Python 3.8 运行时环境下提交的任何脚本版本都会出现警告消息。
为了确保您所在组织现有的 Python/HCL 脚本已经准备好过渡到 Python 3.11,请在机器人应用程序脚本编辑器中测试并重新提交这些脚本。
在脚本编辑器中打开现有脚本
从启动面板主页 (www.highbond.com) 选择机器人应用程序以将其打开。
如果您已经进入 Diligent One,可以使用左侧导航菜单切换到机器人应用程序。
从机器人应用程序的仪表盘中,选择相应机器人类型的选项卡:
HighBond 机器人应用程序
工作流机器人应用程序
如果脚本成功运行,请检查所有输出结果以确保它们正确无误。
如果脚本运行成功,并且输出结果正确,则该脚本与 Python 3.11 及其相关库兼容。无需对脚本执行进一步测试。您可以保存并提交脚本,以便将其与 HCL 3.0 和 Python 3.11 运行时环境关联。请参阅保存并提交脚本。
如果脚本失败,或者输出结果不正确,请更新脚本逻辑以解决问题。
脚本失败或不正确的输出可能与机器人应用程序中的 Python 升级有关,也可能与之无关。有关详细信息,请参阅机器人应用程序脚本开发者指南。
在脚本编辑器工具栏上,单击保存并提交。
输入一条有意义的提交消息来描述您的更改。
您可能会发现在提交消息中添加“在 Python 3.11 中运行”非常有用。
可选。选择将脚本输出保存到任务运行日志文件。
当您使用机器人任务运行脚本时,此选项会将所有脚本输出保存到日志文件。保存的输出在您开发脚本并对其进行故障排除时非常实用,方便查看。有关详细信息,请参阅将脚本输出保存到日志文件。
单击提交以保存并提交该脚本。
此时将显示消息您的脚本已被成功提交。
在页面标题上,单击机器人名称。
您将返回到该机器人中的脚本版本选项卡。每当您保存并提交脚本时,所保存的版本会被添加到此选项卡。
可选。验证脚本是否与 Python 3.11 运行时环境相关联:
选择刚保存的脚本版本。
在版本详情面板中,单击下载。
将脚本下载到您的计算机。
在文本编辑器中打开脚本。
关联的 Python 运行时环境会出现在脚本顶部:
"runtime":"python3.11"
对于与旧资源库(Pandas 1.2.4、Requests 2.26.0)关联的Python 3.8 或 3.11 脚本,不能以手动方式降级、上传或激活。此外,与 Python 3.11 或 HCL 3.0 不兼容的脚本无法通过 API 或工具包上传或激活。
在预定的任务中,只要脚本未经编辑,就会继续在 Python 3.8 中运行。
如果在机器人应用程序脚本编辑器中打开脚本,则默认为在具有相应库(Python 3.11、Pandas 2.2.0 和 Requests 2.31.0)的最新版 Python 中运行。在 2024 年 6 月底前,脚本编辑器会提供一个选项,用于通过手动操作将现有脚本降级为在 Python 3.8 中运行。
在预定的任务中,只要脚本未经编辑,就可以继续在具有旧库(Pandas 1.2.4、Requests 2.26.0)的 Python 3.11 中运行。
如果在机器人应用程序脚本编辑器中打开脚本,则默认为在具有相应库(Python 3.11、Pandas 2.2.0、 Requests 2.31.0)的最新版 Python 中运行。在 2024 年 6 月底前,脚本编辑器会提供一个选项,可通过手动操作将现有脚本降级为在具有旧资源库(Pandas 1.2.4、Requests 2.26.0)的Python 3.8 中运行。
关于 HCL 3.0 中 Python 和关联库版本变化的详细信息超出了本帮助主题的范围。下面提供了部分指导。有关详细信息,请从上面的链接资源开始。
与 Python 升级无关的脚本失败
机器人应用程序脚本的失败可能由机器人应用程序中的 Python 从 3.8 版本升级到 3.11 版本引起,也可能不是。例如:
状态码为 401 (未授权)的脚本失败很可能是由脚本指定的 Diligent One 访问令牌的相关问题引起的。有关详细信息,请参阅管理访问令牌。
具有 404 状态码(未找到)的脚本失败可能是由于脚本中变量赋值缺失或错误导致的。有关详细信息,请参阅在 Python/HCL 脚本中使用变量。
脚本失败或输出错误可能与 Python 升级有关
如果计划脚本已经成功运行,然后在 2024 年 10 月的最后一周失败,则失败可能与 Python 及其关联库的升级有关。如果脚本继续成功运行,但开始输出不正确或意外的结果,原因也是一样的。
已弃用的函数和方法 Python、Pandas 或其他关联库中已弃用的函数或方法可能是问题的根源。在机器人应用程序脚本编辑器中运行失败的脚本,并仔细检查脚本返回的任何错误消息。在故障排除期间尝试使用 AI 脚本助理。
多个中间版本 在 HCL 1.0 和 HCL 3.0 包中所用版本之间发布了许多 Python、Pandas 和其他关联库的中间版本。您可能需要查看与库的多个版本相关联的信息,以确定问题的根源。
Pandas 重大更改 Pandas 库的后续版本引入的一些更改可能导致 HCL 1.0 脚本在机器人应用程序中失败。重大更改包括但不限于以下更改。
append() – 方法被弃用
astype() – 更改了行为
groupby() – 更改了操作的行为
read_csv() – 参数变更
split() – 参数变更
str.replace() – 参数变更