第 38 章 使用 KIE 服务器 REST API 将动态任务和流程添加到示例中


您可以在运行时添加动态任务和流程,以解决问题单生命周期中可能出现的未预见的更改。特定定义中没有定义动态活动,因此无法向明确的临时任务或进程发送信号。

您可以在问题单中添加以下动态操作:

  • 用户任务
  • 服务任务(任何作为工作项目实施的类型)
  • 可重复使用的子进程

动态用户和服务任务添加到问题单实例中,并立即执行。根据动态任务的性质,它可能开始并等待完成(用户任务)或直接在执行后完成(服务任务)。对于动态子进程,进程引擎需要包含该动态进程的进程定义的 KJAR,以便根据其 ID 查找其 ID 并执行它。此子进程属于这种情况,且有权访问 case 文件中的所有数据。

您可以使用 Swagger REST API 应用程序来创建动态任务和子进程。

先决条件

流程

  1. 在网页浏览器中,打开以下 URL:

    http://localhost:8080/kie-server/docs

  2. 问题单实例 :: Case Management 下打开可用端点的列表。
  3. 找到用于创建动态活动的 POST 方法端点。

    POST /server/containers/{id}/cases/instances/{caseId}/tasks

    向问题单实例添加动态任务(根据有效负载影响的用户或服务)。

    POST /server/containers/{id}/cases/instances/{caseId}/stages/{caseStageId}/tasks

    添加动态任务(根据有效负载的用户或服务)到 case 实例中的特定阶段。

    POST /server/containers/{id}/cases/instances/{caseId}/processes/{pId}

    将进程 ID 标识的动态子进程添加到问题单实例。

    POST /server/containers/{id}/cases/instances/{caseId}/stages/{caseStageId}/processes/{pId}

    添加由进程 ID 标识的动态子进程到问题单实例中的 stage。

  4. 要打开 Swagger UI,请点击创建动态任务或进程所需的 REST 端点。
  5. Try it out 并输入创建动态活动所需的参数和正文。
  6. 单击 Execute,以使用 REST API 创建动态任务或子进程。

您可以使用 REST API 在运行时创建动态用户任务。要创建动态用户任务,您必须提供以下信息:

  • 任务名称
  • 任务主题(可选,但推荐使用)
  • 执行或组(或两者)
  • 输入数据

使用以下步骤,使用 Swagger REST API 工具为 Business Central 中提供的 IT_Orders 示例项目创建一个动态用户任务。同一端点可用于 REST API,而没有 Swagger。

先决条件

流程

  1. 在网页浏览器中,打开以下 URL:

    http://localhost:8080/kie-server/docs.

  2. 问题单实例 :: Case Management 下打开可用端点的列表。
  3. 点击以下 POST 方法端点打开详情:

    /server/containers/{id}/cases/instances/{caseId}/tasks

  4. Try it out,然后输入参数:

    Expand
    表 38.1. 参数
    Name描述

    id

    itorders

    caseId

    IT-0000000001

    请求正文

    {
     "name" : "RequestManagerApproval",
     "data" : {
       "reason" : "Fixed hardware spec",
       "caseFile_hwSpec" : "#{caseFile_hwSpec}"
      },
     "subject" : "Ask for manager approval again",
     "actors" : "manager",
     "groups" : ""
    }
    Copy to Clipboard Toggle word wrap

  5. 在 Swagger 应用程序中,点 Execute 创建动态任务。

此流程创建与案例 IT-000000001 相关的新用户任务。该任务分配到分配给 经理 案例角色的人员。此任务有两个输入变量:

  • reason
  • caseFile_hwSpec: 定义为表达式,允许运行进程或问题单数据的运行时捕获。

有些任务包含一个表单,为任务提供用户友好的 UI,您可以通过任务名称查找。在 IT Orders 案例中,RequestManagerApproval 任务在其 KJAR 中包括 RequestManagerApproval-taskform.form

创建之后,该任务将显示在 Business Central 中的 assignee 的 Task Inbox 中。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat