Automation Anywhere

Automation Anywhere

關閉內容

內容

開啟內容

部署和監視機器人進度 API

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

部署和監視機器人進度 API

身為Enterprise 控制室管理員或擁有 [檢視及管理排程的活動] 權限的使用者,您可以使用一組Enterprise 控制室 API 來部署機器人並監視其進度。

部署和監視機器人 API 可讓您:

  1. 從伺服器存放庫擷取特定機器人的詳細資料,以識別其用於機器人部署的檔案 ID
  2. 擷取可用於自動化的裝置清單 (機器人執行器) 及其自動化狀態
  3. 將機器人部署至指定裝置並擷取其自動化 ID
  4. 根據自動化 ID 監視機器人進度
註: 本文提供的範例僅供參考。

存取部署和監視 API 之前,您必須先使用驗證 API 並以權杖形式進行傳遞,才能使用特定 API。

  1. 使用 POST 方法可透過 http(s)://<hostname:port>/v1/authentication 端點來產生權杖。為此,請提供Enterprise 控制室執行個體當做 [伺服器名稱] / [主機名稱] / [IP][連接埠號碼]
    • 例如,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 End Point

使用下列端點來存取 API:

<Enterprise 控制室 URL>/v2/repository/file/list

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

擷取機器人詳細資料

  1. 在 Headers 中提供 "X-Authorization" 和 "Content Type" 參數。
  2. 使用 POST 方法,在本文中提供以下要求承載:
    { "filter": { "operator": "<eq, ne, lt, le, gt, or ge>", "value": "<bot name>", "field": "fileName" } }
    提示: 使用 ‘eq’ 或 ‘substring’ 運算子、以 ‘name’ 做為欄位並在篩選的 ‘value’ 中輸入機器人名稱,即可擷取符合所提供機器人名稱之所有機器人的機器人詳細資料。此外,您也可以要求其他篩選、排序和分頁規則。
    • 例如,以下程式碼會擷取 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" } ] }

參數說明

參數

說明

運算子
  • 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

* 啟用版本控制時才適用

用於擷取可用裝置清單 (機器人執行器用戶端) 的 API

使用此 API 可擷取可用於自動化部署的裝置清單及其目前的自動化狀態。若要實現此目的,您必須依照以下所述的工作流程進行:

  1. 擷取裝置清單、其類型和連線狀態
  2. 確認裝置的機器人執行狀態

1. 擷取裝置清單

使用此 API 可擷取可用於機器人部署的裝置清單 (即機器人執行器)。透過此 API 擷取的裝置 ID 可以在使用部署 API 時當做參數來傳遞。

API End Point

使用下列端點來存取 API:

<Enterprise 控制室 URL>/v2/devices/list

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

  1. 在 Headers 中提供 "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": "" } ] }

參數說明

參數 說明
運算子
  • lt - 小於
  • le - 小於等於
  • eq - 等於
  • ne - 不等於
  • ge - 大於等於
  • gt - 大於
  • substring
  • and
  • or
  • not
value 要篩選的欄位值
fileId ID、主機名稱、使用者 ID
id 裝置的 ID
type 裝置類型 - BOT_RUNNER 或 BOT_CREATOR
hostname 登入裝置所用電腦的主機名稱
userid 裝置的使用者 ID
username 裝置的使用者名稱
status 裝置的狀態 - OFFLINE、CONNECTED 或 DISCONNECTED
poolname 裝置集區的名稱

2. 用於擷取自動化狀態的 API

使用此 API 可擷取目前的自動化狀態,即機器人是否正在執行。

API End Point

使用下列端點來存取 API:

<Enterprise 控制室 URL>/v2/activity/list

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

  1. 在 Headers 中提供 "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 } ] }

參數說明

參數 說明
運算子
  • 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
fileId 要搜尋其詳細資料之機器人的狀態
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

使用此 API 可利用裝置 ID 搭配機器人的檔案 ID,將機器人部署在一部或多部裝置上。

API End Point

使用下列端點來存取 API:

<Enterprise 控制室 URL>/v2/automations/deploy

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

  1. 在 Headers 中提供 "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 為 10 的機器人部署在 ID 為 1、2 和 3 的裝置上,並且使用 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 End Point

使用下列端點來存取 API:

<Enterprise 控制室 URL>/v2/activity/list

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

  1. 在 Headers 中提供 "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 } ] }

參數說明

參數 說明
運算子
  • 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
fileId 要搜尋其詳細資料之機器人的 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 控制室
404 找不到 請確定Enterprise 控制室中有提供要求承載
409 發生衝突 請確定提供的參數正確無誤
500 內部伺服器錯誤 請確定伺服器已啟動並執行
501 權限錯誤 請確認您具有必要權限

稽核記錄

使用此 API 的部署活動會記錄在Enterprise 控制室的 [稽核記錄] 頁面中。身為 Enterprise 控制室 管理員或具有 [檢視每個人的稽核記錄動作] 權限的使用者,您可以檢視稽核項目。

以下插圖是使用部署 API 部署機器人的範例稽核記錄詳細資訊頁面:

傳送意見反饋