透過呼叫 REST API 將工作流程專案安裝至離線伺服器

您可以呼叫 REST API 以匯出工作流程專案的版本,然後將它們安裝至離線伺服器。

開始之前

匯出專案之前
  • 請確定您擁有讀取權或者是儲存庫管理者。 如需相關資訊,請參閱 授與儲存庫存取權
  • 從帳戶管理者取得一組服務認證(功能 ID 及密碼)。 使用這些服務認證來鑑別對 Business Automation Studio 伺服器及離線工作流程伺服器的 REST API 呼叫。

程序

請完成下列步驟:

  1. 使用下列格式建構包含服務認證的授權標頭: Authorization: functional_id encoded_value_of_password

    為了節省空間,在這裡的範例中,我們假設 $ACCESS_TOKEN_HEADER 變數設為服務認證的值。 每一個 API 呼叫都需要此標頭。

  2. 使用 POST/system/loginBusiness Automation Studio 伺服器及離線工作流程伺服器建構 BPMCSRFToken 參數以取得它。 每一個後續的 API 呼叫都需要此標頭。
    例如,對於 Business Automation Studio 伺服器
    curl -X POST -H "${ACCESS_TOKEN_HEADER}" -H 'Content-Type: application/json' -H 'Accept: 
    application/json' -d '{"refresh_groups": true, "requested_lifetime": 7200}'
    'https://bas-dev-tenant-hostname/ops/system/login'
    以及針對離線工作流程伺服器
    curl -X POST -H "${ACCESS_TOKEN_HEADER}" -H 'Content-Type: application/json' -H 'Accept: 
    application/json' -d '{"refresh_groups": true, "requested_lifetime": 7200}'
    'https://baw-awsins1-run-tenant-hostname/ops/system/login'

    您將會收到如下回應:

    {"expiration":7200,"csrf_token":"eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2NDI2MTA2NjcsInN1YiI6ImNwNGFkbWluIn0.8742sRV3CTHN_fY45W-29_CrqeuOqRlFWPFItCKnodI"}

    回應具有您可以設為參數值的 csrf_token 值。 我們將假設個別伺服器的 $CSRF_TOKEN_HEADER 變數設為 BPMCSRFToken: csrf_token_value

  3. Business Automation Studio 伺服器上,使用 POST /std/bpm/containers/{container}/versions/{version}/offline_package建立安裝套件。 確保您正在對 Business Automation Studio 伺服器使用 ACCESS_TOKEN_HEADER 和 CSRF_TOKEN_HEADER ,例如
    curl -X POST -H "$ACCESS_TOKEN_HEADER" -H "$CSRF_TOKEN_HEADER" -H 'Content-Type: 
    application/json' -H 'Accept: application/json' 
    'https://bas-dev-tenant-hostname/ops/std/bpm/containers/PA1/versions/1/offline_package?server=OffLn1'
  4. 使用前一個步驟中使用 GET /system/queue/{id}所傳回的 URL 來檢查狀態,例如
    curl -X GET -H "$ACCESS_TOKEN_HEADER" -H "$CSRF_TOKEN_HEADER" -H 'Accept: 
    application/json' 
    'https://bas-dev-tenant-hostname/ops/system/queue/7?key=8b09658ae4fdb42ccfe33a20122265f4'</p>

    您將會收到如下回應:

    {"state":"success","result":{"container":"PA1","server":"OffLn1","version":"SN03"},"last_modified":"2022-01-18T22:11:25.367Z"}
  5. 使用 GET /std/bpm/containers/{container}/versions/{version}/install_package匯出安裝套件,例如
    curl -X GET -H "$ACCESS_TOKEN_HEADER" -H "$CSRF_TOKEN_HEADER" -H 'Accept: 
    application/octet-stream' 
    'https://bas-dev-tenant-hostname/ops/std/bpm/containers/PA1/versions/1/install_package?server=OffLn1' 
    -o /c/MyExportPkg.zip

    請記下您匯出之檔案的位置和名稱。

  6. 在離線工作流程伺服器上,安裝您剛才使用 POST /std/bpm/containers/install匯出的應用程式版本。 確保您對離線伺服器使用 ACCESS_TOKEN_HEADER 和 CSRF_TOKEN_HEADER,例如
    curl -X POST -H "$ACCESS_TOKEN_HEADER" -H "$CSRF_TOKEN_HEADER" -H 'Content-Type: 
    multipart/form-data' -H 'Accept: application/json' -F 'install_file=@C:\MyFiles\PA1 - 1.zip' 
    'https://baw-awsins1-run-tenant-hostname/ops/std/bpm/containers/install?inactive=false&caseOverwrite=false'

    您將會收到如下回應:

    {"description":"Your request to import the specified file was submitted. You can check the progress of the import in the system log or by calling the returned url.","url":"https://baw-awsins1-run-tenant-hostname/ops/system/queue/9?key=d2772760f7bd30006e877164ba8a6ee9"}
  7. 如步驟 5 所述,您可以使用回應中的 URL 檢查狀態,例如
    curl -X GET -H "$ACCESS_TOKEN_HEADER" -H "$CSRF_TOKEN_HEADER" -H 'Accept: 
    application/json' 
    'https://baw-awsins1-run-tenant-hostname/ops/system/queue/9?key=d2772760f7bd30006e877164ba8a6ee9'
    

    您將會收到如下回應:

    {"state":"success","result":{"details":""},"last_modified":"2022-01-19T14:46:16.979Z"}

    您的專案現已安裝在離線伺服器上。

下一步

如需每一個作業的詳細資訊,請參閱 作業 REST API

如需相關指引,請參閱呼叫外部 REST 服務