阅读和查看 Automation Anywhere 文档

Automation Anywhere

关闭内容

内容

打开内容

用于部署和监控机器人进度的 API

  • 已更新:5/10/2019
    • 11.3.x
    • 探索
    • Enterprise
    • API 文档

用于部署和监控机器人进度的 API

作为Enterprise Control Room管理员或具有“查看和管理计划活动”权限的用户,可使用一组Enterprise Control Room API 部署机器人并监控其进度。

部署和监控机器人 API 可以:

  1. 从服务器存储库中检索指定机器人的详细信息,以标识用于机器人部署的文件 ID
  2. 获取可用于自动化及其自动化状态的设备列表(Bot Runner
  3. 在指定设备上部署机器人并获取其自动化 ID
  4. 根据自动化 ID 监控机器人进度
注: 本文中提供的示例仅供参考。

访问部署和监控 API 之前,必须首先使用身份验证 API 并将其作为令牌传递以使用特定 API。

  1. 使用 POST 方法生成使用端点 http(s)://<hostname:port>/v1/authentication 的令牌。为此,请以服务器名称/主机名/IP端口号的形式提供Enterprise Control Room实例。
    • 例如,https://crdevenv.com:81/v1/authentication
  2. 在标头中提供以下请求有效负载

    “X-Authorization" :“Authorization token"

    “Content-Type" :“application/json"

  3. 在正文中提供以下请求有效负载:
    { "username": "<Username>", "password": "<Password>" }
    • 例如,
      { "usename":"Ellie.Brown", "password":"12345678" }

用于获取机器人详细信息的 API

使用此 API 可从服务器存储库中获取机器人的详细信息。通过此 API 获取的机器人 ID 用于机器人部署 API 中。

API 端点

使用以下端点访问 API:

<Enterprise Control Room URL>/v2/repository/file/list

例如,https://crdevenv.com:81/v2/repository/file/list

获取机器人详细信息

  1. 在标头中提供“X-Authorization”和“Content Type”参数。
  2. 使用 POST 方法在正文中提供以下请求有效负载:
    { "filter": { "operator": "<eq, ne, lt, le, gt, or ge>", "value": "<bot name>", "field": "fileName" } }
    提示: 使用“eq”或“substring”运算符,以文件名作为文件 ID、以机器人名称作为筛选器的“值”,可获取所有与给定的机器人名称相匹配的机器人详细信息。还可以请求其他筛选、排序和分页规则。
    • 例如,通过以下参数可获取机器人 Import-Table.atmx 的详细信息:
      { "filter": { "operator": "eq", "value": "Import-Table.atmx", "field": "fileName" } }
  3. 单击发送
  4. 当响应状态为 200 时,操作成功。
  5. 您可以在正文数据中查看响应。
    { "page": { "offset": 0, "total": 1, "totalFilter": 1 }, "list": [ { "id": "10", "parentid": "9", "name": "Import-Table.atmx", "canDelete": true, "canDownload": true, "canExecute": true, "canUpload": true, "canRun": true, "lastModified": "2018-07-18T04:42:05Z", "lastModifiedBy": "0", "path": "Automation Anywhere\\My Tasks\\Sample Tasks\\Import-Table.atmx", "directory": false, "size": 418719, "isLocked": false, "productionVersion": "", "lockedBy": "", "latestVersion": "", "fileLastModified": "2018-07-18T04:42:05Z" } ] }

参数描述

参数

描述

operator
  • lt - 小于
  • le - 小于等于
  • eq - 等于
  • ne - 不等于
  • ge - 大于等于
  • gt - 大于
  • substring
  • and
  • or
  • not
value 机器人的名称
fileId 接受详细信息搜索的机器人的文件 ID
id 机器人的 ID
parentId 机器人的父目录 ID
name 机器人的名称
canDelete 登录用户有权删除机器人 - true 或 false
canDownload 登录用户有权下载机器人 - true 或 false
canExecute 登录用户有权执行机器人编号 - true 或 false
canUpload 登录用户有权上传机器人 - true 或 false
canRun 登录用户有权运行\计划机器人 - true 或 false
lastModified 上次更新机器人的日期和时间
path 机器人的相对路径
directory 目录标志 - true 或 false
size 机器人的大小 (KB)
isLocked 机器人是否被其他用户签出* - true 或 false
productionVersion 机器人当前的正式版本*
lockedBy 将机器人锁定的用户 ID*
latestVersion 机器人的最新版本*
fileLastModified 上次更新机器人的日期和时间

# 仅适用于MetaBot

* 启用版本控制时适用

用于获取可用设备(Bot Runner客户端)列表的 API

使用此 API 可获取用于自动化部署的设备列表及其当前的自动化状态。为实现此目的,您需要遵循此处提到的工作流:

  1. 获取设备列表、设备类型及其连接状态
  2. 验证设备的机器人执行状态

1.获取设备列表

使用此 API 可获取设备列表,即可用于机器人部署的Bot Runner。使用部署 API 时,由此项检索出的设备 ID 可作为参数进行传递。

API 端点

使用以下端点访问 API:

<Enterprise Control Room URL>/v2/devices/list

例如,https://crdevenv.com:81/v2/devices/list

  1. 在标头中提供“X-Authorization”和“Content Type”参数。
  2. 使用 POST 方法在正文中提供以下请求有效负载:
    { "filter": { "operator": "<eq, ne, lt, le, gt, or ge>", "value": "<connected or disconnected>", "fileld": "<status>" }, "page": {} }
    提示: 使用“type”和“status”字段筛选机器人类型和状态。还可以请求其他筛选、排序和分页规则。
    • 例如,通过以下参数可获取已连接的 Bot Runner 类型的设备的状态:
      { "filter": { "operator": "eq", "value": "CONNECTED", "fileld": "status" }, "page": {} }
  3. 单击发送
  4. 当响应状态为 200 时,操作成功
  5. 您可以在正文数据中查看响应。
    { "page": { "offset": 0, "total": 2, "totalFilter": 2 }, "list": [ { "id": "1", "type": "BOT_RUNNER", "hostname": "CRDEVENV", "userid": "3", "username": "amy.cheng", "status": "CONNECTED", "poolname": "" }, { "id": "2", "type": "BOT_RUNNER", "hostname": "CRDEVENV", "userid": "5", "username": "jane.smith", "status": "CONNECTED", "poolname": "" } ] }

参数描述

参数 描述
operator
  • lt - 小于
  • le - 小于等于
  • eq - 等于
  • ne - 不等于
  • ge - 大于等于
  • gt - 大于
  • substring
  • and
  • or
  • not
value 要筛选的字段的值
fileld id、hostName、userId
id 设备的 ID
type 设备类型 - BOT_RUNNER 或 BOT_CREATOR
hostname 设备登录的计算机的主机名
userid 设备的用户 ID
username 设备的用户名
status 设备状态 - OFFLINE、CONNECTED 或 DISCONNECTED
poolname 设备池的名称

2.用于获取自动化状态的 API

使用此 API 可获取当前的自动化状态 - 无论机器人是否正在运行。

API 端点

使用以下端点访问 API:

<Enterprise Control Room URL>/v2/activity/list

例如,https://crdevenv.com:81/v2/activity/list

  1. 在标头中提供“X-Authorization”和“Content Type”参数。
  2. 使用 POST 方法在正文中提供以下请求有效负载:
    { "filter": { "operator": "<and/or>", "operands": [ { "operator": "<eq, ne, lt, le, gt, or ge>", "value": "<id>", "fileld": "deviceId" }, { "operator": "<and/or>", "operands": [ { "operator": "<eq, ne, lt, le, gt, or ge>", "value": "<Automation status>", "fileld": "status" }, { "operator": "<eq, ne, lt, le, gt, or ge>", "value": "<Automation status>", "fileld": "status" } ] } ] } }
    • 例如,通过以下参数可获取 ID 为 2 的设备的机器人执行状态:
      { "filter": { "operator": "and", "operands": [ { "operator": "eq", "value": "2", "fileld": "deviceId" }, { "operator": "or", "operands": [ { "operator": "eq", "value": "RUNNING", "fileld": "status" } ] } ] } }
  3. 单击发送
  4. 当响应状态为 200 时,操作成功。
  5. 您可以在正文数据中查看响应。
    { "page": { "offset": 0, "total": 3, "totalFilter": 1 }, "list": [ { "id": "6e312e83-4115-4861-b118-26660b2b7b08", "automationName": "Import-Table_18.07.24.16.13.52_ellie.brown_API", "fileName": "Import-Table.atmx", "filePath": "\\My Tasks\\Sample Tasks\\Import-Table.atmx", "type": "TASK", "startDateTime": "2018-07-24T10:43:59Z", "endDateTime": "2018-07-24T10:44:25Z", "command": "Web Recorder", "status": "RUN_PAUSED", "progress": 43, "automationId": "6", "userId": "5", "deviceId": "2", "currentLine": 7, "totalLines": 16, "fileId": "10", "modifiedBy": "5", "createdBy": "1", "modifiedOn": "2018-07-24T10:44:26.209Z", "createdOn": "2018-07-24T10:43:52.808Z", "deploymentId": "e11d7888-1187-4ce7-b9c4-5790715bf93b", "queueName": "", "queueId": "", "usingRdp": false, "message": "Task is stopped by user.\r\n An error occurred at line number 7 of Task 'Import-Table'. Open the Task in Workbench to view action at line number 7.", "canManage": true } ] }

参数描述

参数 描述
operator
  • lt - 小于
  • le - 小于等于
  • eq - 等于
  • ne - 不等于
  • ge - 大于等于
  • gt - 大于
  • substring
  • and
  • or
  • not
value 自动化状态 - DEPLOYED、RUNNING、RUN_PAUSED、UNKNOWN、COMPLETED、RUN_FAILED、RUN_ABORTED、RUN_TIMED_OUT 或 DEPLOY_FAILED
fileld 接受详细信息搜索的机器人的状态
id 唯一执行 ID
automationName 与执行关联的自动化的名称
fileName 部署执行的机器人的名称
filePath 部署执行的机器人的相对路径
type 活动类型 - TASK
startDateTime 执行开始的日期和时间
endDateTime 执行结束的日期和时间
command 当前的执行命令
status 当前的执行状态 - DEPLOYED、RUNNING、RUN_PAUSED、UNKNOWN、COMPLETED、RUN_FAILED、RUN_ABORTED、RUN_TIMED_OUT 或 DEPLOY_FAILED
progress 当前执行进度百分比
automationId 与执行关联的自动化的 ID
userId 部署机器人的设备的相应用户 ID
deviceId 部署机器人的设备 ID
currentLine 部署执行的机器人的当前行
totalLines 部署执行的机器人的总行数
fileId 部署执行的机器人的 ID
modifiedBy 上次更新执行的用户 ID
createdBy 创建与执行关联的自动化的用户 ID
modifiedOn 上次更新执行的日期和时间
createdOn 创建执行的日期和时间
deploymentId 与执行关联的部署 ID
queueName 队列名称
queueId 队列 ID
usingRdp 是否应使用远程桌面进程部署机器人 - true 或 false
message 消息(如果可用)
canManage 当前登录用户是否有权管理执行 - true 或 false

用于部署机器人的 API

使用此选项可在使用机器人文件 ID 的一台或多台设备上使用设备 ID 部署机器人。

API 端点

使用以下端点访问 API:

<Enterprise Control Room URL>/v2/automations/deploy

例如,https://crdevenv.com:81/v2/automations/deploy

  1. 在标头中提供“X-Authorization”和“Content Type”参数。
  2. 使用 POST 方法在正文中提供以下请求有效负载:
    { "fileId": "<file id of bot>", "deviceIds": [ "<device id 1>", "<device id 2>", "<device id 3>" ], "runWithRdp": "<true or false>" }
    • 例如,通过以下参数可在 ID 为 1、2 和 3 的设备上部署 ID 为 10 的机器人,并使用 RDP 部署机器人:
      { "fileId": "10", "deviceIds": [ "1", "2", "3" ], "runWithRDP": true }
  3. 单击发送
  4. 当响应状态为 200 时,操作成功
  5. 您可以在正文数据中查看响应。
    { "automationId": "6" }

参数描述

参数 描述
fileId 要部署的机器人的 ID
deviceId 要部署机器人的设备 ID
runWithRDP 是否应使用远程桌面进程部署机器人 - true 或 false
automationId 与执行关联的自动化的 ID

用于监控机器人执行的 API

使用此 API 可根据使用机器人部署 API 获取的 automationId 监控机器人进度。

注: 此 API 还用于获取设备上当前运行的机器人的列表。

API 端点

使用以下端点访问 API:

<Enterprise Control Room URL>/v2/activity/list

例如,https://crdevenv.com:81/v2/activity/list

  1. 在标头中提供“X-Authorization”和“Content Type”参数。
  2. 使用 POST 方法在正文中提供以下请求有效负载:
    { "filter": { "operator": "<eq, ne, lt, le, gt, or ge>", "value": "<automationId>", "fileld": "automationId" } }
    • 例如,通过以下参数可获取 ID 为 15 的自动化进程的状态:
      { "filter": { "operator": "eq", "value": "6", "fileld": "automationId" } }
  3. 单击发送
  4. 当响应状态为 200 时,操作成功
  5. 您可以在正文数据中查看响应。
    { "page": { "offset": 0, "total": 3, "totalFilter": 1 }, "list": [ { "id": "6e312e83-4115-4861-b118-26660b2b7b08", "automationName": "Import-Table_18.07.24.16.13.52_ellie.brown_API", "fileName": "Import-Table.atmx", "filePath": "\\My Tasks\\Sample Tasks\\Import-Table.atmx", "type": "TASK", "startDateTime": "2018-07-24T10:43:59Z", "endDateTime": "2018-07-24T10:44:25Z", "command": "Web Recorder", "status": "RUN_PAUSED", "progress": 43, "automationId": "6", "userId": "5", "deviceId": "2", "currentLine": 7, "totalLines": 16, "fileId": "10", "modifiedBy": "5", "createdBy": "1", "modifiedOn": "2018-07-24T10:44:26.209Z", "createdOn": "2018-07-24T10:43:52.808Z", "deploymentId": "e11d7888-1187-4ce7-b9c4-5790715bf93b", "queueName": "", "queueId": "", "usingRdp": false, "message": "Task is stopped by user.\r\n An error occurred at line number 7 of Task 'Import-Table'. Open the Task in Workbench to view action at line number 7.", "canManage": true } ] }

参数描述

参数 描述
operator
  • lt - 小于
  • le - 小于等于
  • eq - 等于
  • ne - 不等于
  • ge - 大于等于
  • gt - 大于
  • substring
  • and
  • or
  • not
value 自动化状态 - DEPLOYED、RUNNING、RUN_PAUSED、UNKNOWN、COMPLETED、RUN_FAILED、RUN_ABORTED、RUN_TIMED_OUT 或 DEPLOY_FAILED
fileld 接受详细信息搜索的机器人的 ID
id 唯一执行 ID
automationName 与执行关联的自动化的名称
fileName 部署执行的机器人的名称
filePath 部署执行的机器人的相对路径
type 活动类型 - TASK
startDateTime 执行开始的日期和时间
endDateTime 执行结束的日期和时间
command 当前的执行命令
status 当前的执行状态 - DEPLOYED、RUNNING、RUN_PAUSED、UNKNOWN、COMPLETED、RUN_FAILED、RUN_ABORTED、RUN_TIMED_OUT 或 DEPLOY_FAILED
progress 当前执行进度百分比
automationId 与执行关联的自动化的 ID
userId 部署机器人的设备的相应用户 ID
deviceId 部署机器人的设备 ID
currentLine 部署执行的机器人的当前行
totalLines 部署执行的机器人的总行数
fileId 部署执行的机器人的 ID
modifiedBy 上次更新执行的用户 ID
createdBy 创建与执行关联的自动化的用户 ID
modifiedOn 上次更新执行的日期和时间
createdOn 创建执行的日期和时间
deploymentId 与执行关联的部署 ID
queueName 队列名称
queueId 队列 ID
usingRdp 是否应使用远程桌面进程部署机器人 - true 或 false
message 消息(如果可用)
canManage 当前登录用户是否有权管理执行 - true 或 false

API 响应代码

Http(s) 状态代码 响应 - 描述 纠正措施
200/204 操作已成功完成 不适用
304 未应用任何更改 根据需要进行更新
400 请求参数错误 使用有效参数重试
401 需要身份验证 提供身份验证参数。例如,X-Authorization 密钥
403 未经授权访问 确保您有权访问Enterprise Control Room
404 未找到 确保Enterprise Control Room中提供了请求有效负载
409 冲突 确保提供的参数正确
500 内部服务器错误 确保服务器已启动并且正在运行
501 权限错误 确保您具有所需的权限

审核日志

使用 API 的部署活动记录在Enterprise Control Room“审核日志”页面中。作为 Enterprise Control Room 管理员或具有“查看所有人的审核日志操作”权限的用户,您可以查看审核条目。

下图是使用部署 API 部署机器人的示例审核日志详情页面:

发送反馈