You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Camunda如何将任务评论迁移至后续任务并在全流程实例中留存

Camunda 任务评论跨任务流转解决方案

核心问题说明

Camunda 原生评论默认绑定单个任务ID,任务完成后评论本身不会被物理删除,只是默认查询逻辑仅按当前任务ID拉取,所以会出现后续任务看不到前序任务评论的情况。

两种可行实现方案

方案1:通过流程变量同步评论(你提到的流程变量方案)

  • 实现逻辑:在每个任务完成时将当前任务评论追加到流程实例级全局变量中,全流程所有任务都可以直接读取该变量获取历史评论
  • 具体操作步骤:
    1. 在Camunda Modeler中给所有需要同步评论的用户任务,添加**完成事件(complete)**类型的执行监听器
    2. 监听器中调用原生API拉取当前任务所有评论:taskService.getTaskComments(task.getId())
    3. 将评论列表序列化为JSON字符串后,追加到全局流程变量global_process_comments中,禁止直接覆盖原有变量值
  • Camunda Modeler中访问评论的方式:
    • 若在表单中展示评论:直接在表单字段的绑定配置中引用变量${global_process_comments},嵌入式表单可直接通过前端解析JSON结构渲染评论列表
    • 若在监听器/表达式中访问评论:调用方法execution.getVariable('global_process_comments')即可拿到全流程历史评论集合

方案2:直接通过流程实例ID查询历史评论(更推荐,无需额外存储变量)

  • 实现逻辑:Camunda 历史评论表ACT_HI_COMMENT默认存储了每条评论对应的流程实例ID,无需额外同步变量,直接按流程实例ID查询即可拿到全流程所有任务的评论
  • 具体操作:任意节点调用API taskService.getProcessInstanceComments(execution.getProcessInstanceId()),即可直接拉取当前流程实例下所有历史评论,不存在变量序列化、变量体积超限的问题

注意:如果你的流程开启了租户隔离或权限控制,查询评论时需要补充对应租户ID、操作人权限校验逻辑,避免越权访问。


内容的提问来源于stack exchange,提问作者Materno

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 14:48:02