使用者互動的呈現可定義您可傳遞至工作流程輸入參數的數值限制。當您回應使用者互動時,可對照在使用者互動呈現中所定義的限制,驗證傳遞至輸入參數的數值。

開始之前

請確認您已在 Orchestrator 中匯入範例工作流程套件。套件包含在 Orchestrator 範例應用程式 ZIP 檔案中,您可從 Orchestrator 說明文件頁面下載此檔案。

程序

  1. 在擁有可用使用者互動物件的 URL 提出 GET 要求,或僅篩選等待中的使用者互動,以擷取所有使用者互動物件清單。

    URL

    說明

    https://orchestrator_host:port/vco/api/catalog/System/UserInteraction

    在 Orchestrator 擁有可用的使用者互動物件。

    https://orchestrator_host:port/vco/api/catalog/System/UserInteraction?status=0

    僅篩選等待中的使用者互動物件。

    您會收到可用使用者互動物件清單。等待中的使用者互動含有名稱為 state 且數值為 waiting 的屬性。

  2. 在您要回應並擁有等待中使用者互動詳細目錄項目的 URL 提出 GET 要求:
    GET https://{orchestrator_host}:{port}/vco/api/catalog/System/UserInteraction/{userInteractionID}/

    回應主體包含使用者互動執行個體的連結。使用者互動執行個體與特定的工作流程執行相關聯。

  3. 在使用者互動執行個體的 URL 提出 GET 要求:
    GET https://{orchestrator_host}:{port}/vco/api/workflows/{workflowID}/executions/{executionID}/interaction/

    在回應主體中,您會發現使用者互動呈現的下行連結。

  4. 在使用者互動簡報的 URL 提出 GET 要求:
    GET https://{orchestrator_host}:{port}/vco/api/workflows/{workflowID}/executions/{executionID}/interaction/presentation/

    您在回應本體收到使用者互動簡報的定義。

  5. 在簡報定義中,檢查您可傳遞至輸入參數的數值限制。
  6. 在有簡報執行個體的 URL 提出 POST 要求以執行使用者互動簡報:
    POST https://{orchestrator_host}:{port}/vco/api/workflows/{workflowID}/executions/{executionID}/interaction/presentation/instances/
  7. 在要求本體中,提供 execution-context 元素中用於輸入參數的數值。

    在回應本體中,您會收到使用者互動簡報的執行個體。若您傳遞至輸入參數的數值有效,則會在 execution 元素中發現 valid="true" 屬性。在 output-parameters 元素中,您會發現可用來回應使用者互動輸入參數的有效數值。

  8. 在有使用者互動執行個體的 URL 提出 POST 要求後,即可回應使用者互動。
    POST https://{orchestrator_host}:{port}/vco/api/workflows/{workflowID}/executions/{executionID}/interaction/
  9. 在要求本體中,傳遞含有輸入參數數值的 execution-context 內容。

    您可利用相同要求的本體作為在用於使用者互動簡報 URL 提出的 POST 要求。

結果

若上次要求成功,您會收到狀態碼 204 及空的回應本體。

透過驗證輸入參數回應互動式 Hello World 工作流程的使用者互動

您可透過針對使用者互動簡報定義限制驗證輸入參數數值,回應互動式 Hello World 工作流程的使用者互動。

  1. 在用於目錄服務使用者互動物件的端點提出 GET 要求,以搜尋工作流程的等待中使用者互動:

    GET https://localhost:8281/vco/api/catalog/System/UserInteraction?status=0
  2. 找出用於互動式 Hello World 工作流程的使用者互動詳細目錄位置,並在其 URL 上提出 GET 要求:

    GET https://localhost:8281/vco/api/catalog/System/UserInteraction/888080808080808080808080808080805A8080800132145338690643f66a027ec/
  3. 在使用者互動執行個體的 URL 提出 GET 要求:

    GET https://localhost:8281/vco/api/catalog/System/UserInteraction/888080808080808080808080808080805A8080800132145338690643f66a027ec/interaction/
  4. 在使用者互動呈現的 URL 提出 GET 要求:

    GET https://localhost:8281/vco/api/catalog/System/UserInteraction/888080808080808080808080808080805A8080800132145338690643f66a027ec/interaction/presentation/

    簡報定義輸入參數為強制性,並包含可傳遞字串的長度限制。

  5. 在擁有使用者互動簡報的執行個體 URL 提出 POST 要求:

    POST https://localhost:8281/vco/api/catalog/System/UserInteraction/888080808080808080808080808080805A8080800132145338690643f66a027ec/interaction/presentation/instances/

    在要求本體中,提供輸入參數的數值:

    <execution-context xmlns="http://www.vmware.com/vco">
       <parameters>
         <parameter name="name" type="string">
           <string>John Smith</string>
         </parameter>
       </parameters>
    </execution-context>

    回應本體的 execution 元素含有 valid="true" 屬性,表示針對使用者互動簡報中的限制,該輸入參數數值為有效。有效數值列在 output-parameters 元素中:

    ............
    <output-parameters>
      <parameter name="name" type="string">
         <string>John Smith</string>
       </parameter>
    </output-parameters>
    ............

  6. 透過傳遞相同要求本體作為步驟 5 中的 POST 要求,以在使用者互動執行個體的 URL 提出 POST 要求。

    POST https://localhost:8281/vco/api/catalog/System/UserInteraction/888080808080808080808080808080805A8080800132145338690643f66a027ec/interaction/