将任务重新分配给新组

IBM® Business Automation Workflow中,有一些 REST API 和 JavaScript API 使您能够将任务分配给新组。

关于本任务

您可以使用 REST API 或 JavaScript API 将任务重新分配给用户、组或团队。 如果更新了组或团队,那么关联的管理者团队也会更新。 如果将任务分配给团队,那么该团队必须存在于当前与该任务关联的 Snapshot 作用域内。

如果您正在考虑将任务重新分配给组,那么通常建议您从该任务的 Current Snapshot 上下文中将该任务重新分配给团队。

注:

如果将任务重新分配给与该任务以外的其他 Snapshot 相关联的组,那么可能会导致 Snapshot 删除问题。 此帮助主题中的指示信息可用于替换可能会阻止 Snapshot 删除的临时组。

如果将任务重新分配给没有管理者团队的组,那么将清除该任务的管理者团队。 在 IBM Business Automation Workflow V20.x之前,仅当将任务重新分配给具有经理团队的组时,才会更改分配的经理团队。

过程

要将任务重新分配给新团队:

  1. 选择以下方法之一:

    • 如果要使用 REST API 将任务重新分配给新团队,请构建客户机应用程序或使用 REST API 测试工具来执行所需操作。 有关使用 REST API 测试工具的信息,请参阅 测试 IBM BPM REST API。 您可以使用 Process DesignerProcess Admin Console安装应用程序 选项卡来查看 Snapshot 的团队。 根据 IBM Business Automation Workflow的版本,使用 REST API 将任务重新分配给新团队的步骤有所不同:

      • 20.0.0.2 IBM Business Automation Workflow V20.0.0.2 及更高版本中,使用任务实例资源 PUT (分配任务) 方法将任务分配给新团队。 您应使用 toTeam 参数来传递名称。 例如:
        PUT /rest/bpm/wle/v1/task/1234?action=assign&toTeam=HiringManagers&parts=all
        有关更多信息,请参阅 BPD 相关资源的 REST 接口-任务实例资源-PUT (分配任务) 方法

      • IBM Business Automation Workflow V20.0.0.1 和更低版本中,完成以下步骤:

        1. 要获取有关任务的详细信息 (例如其当前快照上下文) ,请使用主题 BPD 相关资源的 REST 接口-任务实例资源-GET 方法中描述的任务实例资源 GET 方法。

        2. 通过运行以下 SQL 查询(其中 'team_name' 是要使用的团队的名称,'snapshot_id' 是来自当前任务上下文的 Snapshot 标识)来获取内部团队名称:
          Select g.group_name from LSW_USR_GRP_XREF g, LSW_PARTICIPANT_GROUP t Where g.group_id = t.group_id AND g.display_name = 'team_name' AND t.snapshot_id = 'snapshot_id'

          快照标识是 "2064" 之后的 GUID。 在任务详细信息中。

        3. 使用任务实例资源 PUT(分配任务)方法将任务分配给新团队。 您应使用 toGroup 参数来传递名称。 例如:
          PUT /rest/bpm/wle/v1/task/1234?action=assign&toGroup=HiringManagers_S_cd97937f-06ab-43cc-8067-17dea489fdb3.481abfd8-9868-4638-ace0-7932d46958d5&parts=all

          有关更多信息,请参阅 BPD 相关资源的 REST 接口-任务实例资源-PUT (分配任务) 方法

    • 如果要使用 JavaScript API 将任务重新分配给新团队,请构建能够运行所需 JavaScript API 方法的服务。 以下示例显示了如何将任务 1234 重新分配给团队 MyNewTeam
      var task = tw.system.findTaskByID(1234);
      task.reassignTo(task.processInstance.snapshot.findParticipantGroupByName("MyNewTeam").associatedRole);

      有关 JavaScript API 的详细信息,请参阅 流程和服务流中的JavaScript API

  2. 确认现在已将该任务重新分配给指定的团队。