studio-web
latest
false
重要 :
请注意,此内容已使用机器翻译进行了部分本地化。 新发布内容的本地化可能需要 1-2 周的时间才能完成。
UiPath logo, featuring letters U and I in white

Studio Web 用户指南

上次更新日期 2025年9月22日

从 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 活动
  4. 调试您的工作流,并注意成功的响应。但未找到零个工作器。
  5. 添加一个“If 条件”活动,并将以下代码片段用作“条件”
    $context.outputs.Workers_1.content.length <= 0$context.outputs.Workers_1.content.length <= 0
  6. 对于 IF 条件 活动的 Then 分支,添加一个 响应 活动,并进行如下配置:
    • 类型— 失败
    • 详细信息
      { "notFound": "No workers found for given input" }{ "notFound": "No workers found for given input" }
  7. 再次调试您的工作流。由于您未提供所需输入,工作流将自动继续处理此响应,并将工作流状态设置为“失败”
  8. 使用以下有效负载定义调试配置
    {
      "firstName": "Betty",
      "lastName": "Liu"
    }{
      "firstName": "Betty",
      "lastName": "Liu"
    }
    
  9. 调试 您的工作流,直到在 输出 架构的 内容 属性中开始看到结果。
    调试工作流和内容属性
  10. 对于“If 条件” 活动的“Else” 分支,添加“循环” >“遍历循环” 活动,并进行如下配置:
    • $context.outputs.Workers_1.content$context.outputs.Workers_1.content
    • 项目名称—currentItem
    • 累积结果— 开启
  11. 在“遍历” 活动主体中,为Workday REST Workday 连接器添加三个Workday REST HTTP 请求”活动:
    • Workday REST HTTP 请求 1:查找直接下属
    • Workday REST HTTP 请求 2:查找组织详细信息
    • Workday REST HTTP 请求 2:查找对等点
    这意味着,对于循环中的每个工作器,该活动将返回上述详细信息:直接下属、组织详细信息和对等工作器。
  12. 配置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是沙盒定义的一部分。
  13. 配置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是沙盒定义的一部分。
  14. 配置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是沙盒定义的一部分。
  15. 再次调试您的工作流。请注意,工作流对这三个 HTTP 请求已成功循环指定次数(基于第一个活动的结果数)。
  16. 遍历 循环活动主体中,在前三个 Workday REST HTTP 请求 活动之后添加 脚本 活动。
  17. 要配置“脚本”活动,请使用“表达式编辑器”中的 Autopilot 生成器,并提供以下提示:

    “从之前的 3 项活动中创建 3 个对象。对象 1 是“manager”,应返回名称中的描述符,和电子邮件中返回的人员.电子邮件。对象 2 是第 3 个 http 请求中的对等点,应循环访问所有结果,并以“名称”形式返回描述符,将“电子邮件地址”作为返回的主要工作电子邮件。最后,添加一个对象“reports”,该对象将循环访问所有第一个 http 结果,将报告名称(描述符)和主要工作电子邮件作为电子邮件。

    生成的 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
    
        }))
    
    }
    
  18. 在“遍历循环” 外部,添加“响应”活动并进行如下配置:
    • “类型” — 成功
    • 详细信息
      $context.outputs.For_Each_1.results$context.outputs.For_Each_1.results
    此步骤指示工作流返回“遍历循环”生成的完整结果列表。
  19. 以端到端的方式调试您的工作流。您应该有一个成功的执行,响应架构应该可以满足您的需求。
  20. 生成成功执行工作流的输出架构:
    1. 导航至“运行输出” 面板的“输出” 部分。
    2. 选择“复制到剪贴板”
    3. 导航至 数据管理器 面板的“输出” 部分。
    4. 选择“从有效负载生成”
    5. 粘贴从“输出” > “运行输出”复制的输出。
    您的 API 工作流现在包括输入架构和输出架构,允许在整个平台上调用它。
  21. 将 API 工作流发布到 Orchestrator。

此页面有帮助吗?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath Logo
信任与安全
© 2005-2025 UiPath。保留所有权利。