studio-web
latest
false
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。 新しいコンテンツの翻訳は、およそ 1 ~ 2 週間で公開されます。
UiPath logo, featuring letters U and I in white

Studio Web ガイド

最終更新日時 2026年3月18日

Workday からワーカー階層を抽出する

次のチュートリアルでは、API ワークフローの主な機能を効果的に使用する方法について説明します。

  • 入力スキーマと出力スキーマ
  • コネクタ アクティビティ
  • コネクタ HTTP アクティビティ
  • JavaScript 式
  • 応答を書式設定および変換する
  • ワークフローを Orchestrator にパブリッシュする

Workday には、広範で機密性の高い従業員データが含まれています。API ワークフローを使用すると、特定の情報を抽出して変換できます。このチュートリアルでは、ワークフローは姓と名の要求に基づいて従業員の階層を取得します。

Workday API の完全なワークフロー

Workday への有効な接続が必要です。

  1. API ワークフローを作成します
  2. データ マネージャーを開き、[] プロパティと [] プロパティを入力として追加します。これらのプロパティは、後で $workflow.input オブジェクトを介して参照できます。
  3. コネクタを追加し、次の Workday (REST) アクティビティを使用するように設定します。 従業員を名前または ID で検索します
    1. [ 検索文字列または ID ] フィールドで [式エディター] を開き、以下を書き込みます。
      $workflow.input.firstName + " " + $workflow.input.lastName
      $workflow.input.firstName + " " + $workflow.input.lastName
      

従業員を名前または ID で検索 - Workday アクティビティ

  1. ワークフローをデバッグし、成功した応答を確認します。しかし、労働者はゼロでした。

  2. [条件分岐 (if)] アクティビティを追加し、次のスニペットを [条件] として使用します。

    $context.outputs.Workers_1.content.length <= 0
    $context.outputs.Workers_1.content.length <= 0
    
  3. [条件分岐 (if)] アクティビティの [Then] 分岐に [応答] アクティビティを追加し、次のように設定します。

    • タイプ - 失敗
    • 詳細
      { "notFound": "No workers found for given input" }
      { "notFound": "No workers found for given input" }
      
  4. ワークフローを再度デバッグします。必要な入力を指定しなかったため、ワークフローは自動的にこの応答に進み、ワークフローのステータスが 「失敗」に設定されます。

  5. 次のペイロードで デバッグ構成 を定義します。

    {
      "firstName": "Betty",
      "lastName": "Liu"
    }
    {
      "firstName": "Betty",
      "lastName": "Liu"
    }
    
  6. [出力スキーマ] の [コンテンツ] プロパティに結果が表示され始めるまで、ワークフローをデバッグします。

    デバッグ ワークフローとコンテンツ プロパティ

  7. [条件分岐 (if)] アクティビティの [Else] 分岐に [繰り返し (コレクションの各要素)] アクティビティ>ループを追加し、次のように設定します。

    • $context.outputs.Workers_1.content
      $context.outputs.Workers_1.content
      
    • 項目名 - currentItem
    • 結果の蓄積 - オン
  8. [繰り返し (コレクションの各要素)] アクティビティの本体に、Workday (REST) コネクタ用の 3 つの Workday REST HTTP 要求アクティビティを追加します。

    • Workday REST HTTP 要求 1: 直属の部下を検索する
    • Workday REST HTTP 要求 2: 組織の詳細の検索
    • Workday REST HTTP 要求 2: ピアを検索つまり、アクティビティはループ内のすべての従業員について、前述の詳細 (直属の部下、組織の詳細、ピア) を返します。
  9. Workday REST HTTP 要求 1: 直属の部下を探すアクティビティを次のように設定します。

    • メソッド - GET
    • 要求 URL
      "/common/v1/uipath_dpt1/workers/" + $currentItem.id + "/directReports"
      "/common/v1/uipath_dpt1/workers/" + $currentItem.id + "/directReports"
      

    ここで、 uipath_dpt1/workers はサンドボックス定義の一部です。

  10. [Workday REST HTTP 要求 2: 組織の詳細を検索] アクティビティを次のように設定します。

    • メソッド - GET
    • 要求 URL
      "/common/v1/uipath_dpt1/supervisoryOrganizations/" + $currentItem.primaryJob.supervisoryOrganization.id
      "/common/v1/uipath_dpt1/supervisoryOrganizations/" + $currentItem.primaryJob.supervisoryOrganization.id
      

    ここで、 uipath_dpt1/supervisoryOrganizations はサンドボックス定義の一部です。

  11. [Workday REST HTTP 要求 3: ピアを検索] アクティビティを次のように設定します。

    • メソッド - GET
    • 要求 URL
      "/common/v1/uipath_dpt1/supervisoryOrganizations/" + $currentItem.primaryJob.supervisoryOrganization.id + "/workers"
      "/common/v1/uipath_dpt1/supervisoryOrganizations/" + $currentItem.primaryJob.supervisoryOrganization.id + "/workers"
      

    ここで、 uipath_dpt1/supervisoryOrganizations はサンドボックス定義の一部です。

  12. ワークフローを再度デバッグします。ワークフローは、これら 3 つの HTTP 要求に対して (最初のアクティビティの結果の数に基づいて) 指定された回数だけ正常にループします。

  13. [繰り返し (コレクションの各要素)] アクティビティの本体で、前の 3 つの Workday REST HTTP 要求アクティビティの後に [スクリプト] アクティビティを追加します。

  14. [スクリプト] アクティビティを設定するには、[式エディター] で Autopilot ジェネレーターを使用して次のプロンプトを指定します。

    前の 3 つのアクティビティから、3 つのオブジェクトを作成します。オブジェクト 1 は「manager」であり、記述子を name として、person.email email として返す必要があります。オブジェクト 2 は 3 番目の http 要求からのピアであり、すべての結果をループし、記述子を "name" として、primaryworkemail を "email" として返す必要があります。最後に、すべての最初の http 結果とレポート名 (記述子) と primaryworkemail を email としてループするオブジェクト "reports" を追加します。

    生成される JavaScript コードは次のようになります。

    return {
    
      // Details on the worker
    
      manager: {
    
          name: $currentItem.descriptor,
    
          email: $currentItem.person.email
    
      },
    
      // Details for their peers
    
      peers: $context.outputs.Workday_REST_HTTP_Request_1.content.data.map(peer => ({
    
          name: peer.descriptor,
    
          email: peer.primaryWorkEmail
    
      })).filter(peers => peers.name !== $currentItem.descriptor), // Filter out the employee itself,
    
      // Details for their direct reports
    
      reports: $context.outputs.Workday_REST_HTTP_Request_3.content.data.map(report => ({
    
          name: report.descriptor,
    
          email: report.primaryWorkEmail
    
      }))
    
    }
    return {
    
      // Details on the worker
    
      manager: {
    
          name: $currentItem.descriptor,
    
          email: $currentItem.person.email
    
      },
    
      // Details for their peers
    
      peers: $context.outputs.Workday_REST_HTTP_Request_1.content.data.map(peer => ({
    
          name: peer.descriptor,
    
          email: peer.primaryWorkEmail
    
      })).filter(peers => peers.name !== $currentItem.descriptor), // Filter out the employee itself,
    
      // Details for their direct reports
    
      reports: $context.outputs.Workday_REST_HTTP_Request_3.content.data.map(report => ({
    
          name: report.descriptor,
    
          email: report.primaryWorkEmail
    
      }))
    
    }
    
  15. [繰り返し (コレクションの各要素)] ループの外に [応答] アクティビティを追加し、次のように設定します。

    • タイプ - 成功
    • 詳細
      $context.outputs.For_Each_1.results
      ```This step instructs the workflow to return the complete list of results generated by the **For Each** loop.
      $context.outputs.For_Each_1.results
      ```This step instructs the workflow to return the complete list of results generated by the **For Each** loop.
      
  16. ワークフローをエンドツーエンドでデバッグします。実行が成功し、応答スキーマがニーズを満たす必要があります。

  17. ワークフローが正常に実行されたとき の出力 スキーマを生成します。

    1. [実行結果] パネルの [出力] セクションに移動します。
    2. [ クリップボードにコピー] を選択します。
    3. [データ マネージャー] パネルの [出力] セクションに移動します。
    4. [ ペイロードから生成] を選択します。
    5. [出力] > [実行] 出力からコピーした出力を貼り付けます。

API ワークフローに入力スキーマと出力スキーマが含まれるようになり、プラットフォームをまたいで呼び出せるようになりました。

  1. API ワークフローを Orchestrator にパブリッシュします

このページは役に立ちましたか?

接続

ヘルプ リソース サポート

学習する UiPath アカデミー

質問する UiPath フォーラム

最新情報を取得