UiPath Documentation
orchestrator
latest
false
Orchestrator API 指南
  • 入门指南
    • 简介
    • 关于 OData 和引用
    • 枚举类型
    • 正在验证身份
    • 构建 API 请求
    • 每个端点的权限
    • 响应代码
    • 速率限制和大数据字段使用优化
  • Swagger 定义
  • Orchestrator API
重要 :
新发布内容的本地化可能需要 1-2 周的时间才能完成。

构建 API 请求

Orchestrator API 调用的结构和语法,包括 URL 格式和 HTTPS 建议。

所有 Orchestrator API 调用均使用 HTTP 方法对 Orchestrator URL 进行。Orchestrator URL 的语法如下:{AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_。建议使用 HTTPS 协议加密通过 API 调用发送的数据。

文件夹请求标头​

要访问文件夹中的资源,每个请求的 HTTP 标头中必须包含 FolderId、 FolderPath或 FolderKey 。 此标头可以进行编码(使用 Base64 UTF-16LE 编码)或纯文本。

支持的文件夹标头格式:

  • X-UIPATH-OrganizationUnitId "FolderId"
  • X-UIPATH-FolderPath-Encoded "{Encoded FolderPath value}"
  • X-UIPATH-FolderPath "PlainText FolderPath value"
  • X-UIPATH-FolderKey "FolderKey"

正在获取文件夹 ID​

可以通过对/odata/Folders端点执行 GET 请求并复制“Id”值来获取FolderId ,也可以从 Orchestrator URL - https://your-domain-server.com/?fid=2032&tid=8中获取。 FolderId类型为 Int 64。如果您更改 Orchestrator 帐户的许可计划(例如从 Enterprise 试用版更改为 Enterprise), FolderId值也会发生变化。

正在获取文件夹密钥​

可以通过向/odata/Folders端点执行 GET 请求并复制 "Key" 值来获取FolderKey 。FolderKey为唯一 ID/String 类型。即使您更改许可计划, FolderKey值也保持不变。

相对文件夹路径​

X-UIPATH-FolderPath-Encoded标头中支持相对文件夹路径,如下所示:

  • 以/开头的路径 - 从环境文件夹所在的树的root文件夹开始
  • 以.开头的路径 - 从环境文件夹开始
  • 以..开头的路径 - 对于路径中的每个.. ,在层次结构中向上启动一个级别(例如../表示上一级, ../../表示上两级)

请注意,不应包含尾随斜杠。

重要提示:

将 Orchestrator API 与 MSXML 结合使用时,204 No Content 响应可能会导致 1223 状态代码并导致错误。

备注:

默认情况下,在来自工作流活动的 API 结果和流程外的 API 集成中不输出@odata.count参数。要包含它,您必须手动将$count=true添加到所需的端点。

GET 请求​

GET 请求通常是最简单的请求。它们可帮助您检索数据并使用下表中显示的通用 OData 子句。

OData 语句参考​

条款用途
$top限制返回的结果数量
$filter根据属性条件筛选结果
$expand加载所请求资源的导航属性
$select指定要返回的资源属性子集
$orderby按指定属性对结果进行排序
$skip跳过结果中指定数量的项目

$顶部​

此子句可帮助您限制检索的数据量。 它的上限取决于您要调用的端点以及 Orchestrator 实例上存在的此类资源的数量。

例如,此请求 {AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/odata/odata/Environments?$top=10 返回 Orchestrator Community Edition 中可用的前 10 个环境。 但是,如果仅存在 5 个环境,则仅检索这些环境。

$filter​

此 OData 子句用于根据特定资源的属性筛选特定资源。

例如,可以根据以下条件进行筛选:

  • 数字属性:
    • {AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/odata/odata/Environments?$filter=Id%20eq%2015
      • 根据其 ID 请求特定环境
  • 文本属性:
    • {AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/odata/odata/Environments?$filter=contains(Name,'N')&$top=10
      • 返回名称包含字母“N”的前 10 个环境
  • 布尔值属性:
    • {AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/odata/odata/Processes?$filter=Title%20eq%20'test'%20%26%20IsLatestVersion%20eq%20true
      • 返回包含“test”一词并代表最新版本的所有流程
  • 可枚举属性:
    • {AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/odata/odata/QueueItems?$filter=Priority%20eq%20'High'
      • 返回具有高优先级的所有队列项目
  • 属性的属性:
    • {AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/odata/odata/Jobs?$top=10$filter=Robot/MachineName%20eq%20'Documentation'
      • 返回“文档”计算机上现有的任意机器人执行的前 10 个作业

筛选参数可以使用逻辑运算符 "and"、"or" 和/或 "not" 进行组合,并可使用括号 "()" 进行分组,例如以下请求:

  • {AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/odata/odata/Jobs?$top=10&$filter=Robot/MachineName eq 'LAVINIA-PC' and (not(Source eq 'Manual') or StartTime gt 2017-10-28T12:13:00.07Z) - 显示部署在“LAVINIA-PC”计算机上的机器人手动执行或在“2017-10-28T12:13:00.07Z”之后执行的前 10 个作业。
已知问题​

包含将嵌套复杂对象与 null 进行比较的表达式的 OData $filter 查询不起作用。例如,使用 Release ne null 表达式将返回错误,因为 Release 是一个复杂对象,包含其自己的嵌套属性。

在这种情况下,我们建议将复杂对象替换为简单对象。

示例:

  • 您可以将 Release ne null 替换为 ReleaseName ne null,因为 ReleaseName 是现有的简单对象。
    备注:

    您不能将Machine ne null替换为MachineName ne null ,因为MachineName不存在。

  • 您可以对复杂对象使用嵌套属性进行比较。例如,Release/Name ne null 可以替换 Release ne null,而 Machine/Name ne null 可以替换 Machine ne null。

$展开​

此子句用于完全加载所请求资源的导航属性。

$选择​

使用此 OData 子句,您可以指定要返回的资源属性的子集。 如果要提取多个资源,可以使用逗号将其分隔。

$orderby​

$orderby 子句用于对检索到的资源进行排序。 与 $select 子句一样,要排序的资源用逗号分隔,并且可以按升序 (asc) 或降序 (desc) 进行排序。 如果未指定这两个运算符,则系统将自动按升序对资源进行排序。

$skip​

此子句使您可以跳过指定筛选器中的前 n 个项目。

POST 请求​

POST HTTP 动词可帮助您创建从属于其他资源的新项目。 创建新资源时,将 POST 发送到父资源,并且 Orchestrator 负责将新资源与父资源相关联、分配 ID 以及其他必需信息。 数据通过请求正文添加,响应是整个创建的对象。

您可以向队列添加新项目,创建新资产、环境或流程,为一个或多个失败的事务分配审核人,等等。

备注:

无法在 POST 请求正文中对特殊字符进行转义。要使用特殊字符,您需要首先使用以下格式 "[email protected]": "#String" 将其所属参数声明为字符串。为了便于理解,请参阅以下示例中 Specific Content 参数的填充方式。

PUT 请求​

当您要更新资源的内容时,通常需要 PUT。 通常,通过在 URL 中添加特定实体的 Id 来向特定实体发出请求。 请注意,PUT 调用会将现有实体替换为请求的内容,或者,如果指定位置不存在任何实体,则尝试创建该实体。

可以更新队列、环境、组织单位、事务注释、流程和其他资源的详细信息。

PATCH 请求​

PATCH 用于更新现有实体的内容,通过在 URL 中添加 Id 来指定所需实体。请求正文仅包含您要更改的内容。这与 PUT 调用不同,PUT 调用会将当前实体替换为后续请求的内容。

可以使用 PATCH 请求来更新计算机、流程、机器人、租户、用户(组织单位和角色除外)和 Webhook 实体。

DELETE 请求​

使用此 HTTP 动词,您可以将数据库中的指定项目标记为已删除。 资源通常在调用的 URL 中通过其 ID 来指示。 204 响应应告知您请求已成功。

可以删除资产、环境、队列项目注释、流程、角色、租户、用户等。

此页面有帮助吗?

连接

需要帮助? 支持

想要了解详细内容? UiPath Academy

有问题? UiPath 论坛

保持更新