Camunda 8.2:如何通过API查询运行实例的TaskID/ProcessInstanceID?
Camunda 8.2 查询运行中流程实例的相关方法
1. 通过API获取ProcessInstanceID和当前TaskID
- 查询运行中流程实例:使用Zeebe REST API的
GET /process-instances端点,添加state=ACTIVE参数过滤运行中的实例,返回结果里的processInstanceKey就是ProcessInstanceID。 - 关联查询当前任务ID:结合
GET /tasks端点,传入processInstanceKey={你的实例ID}参数,即可获取该实例下的活跃任务,返回结果中的taskKey即为当前TaskID。
2. 通过唯一变量查询运行中流程实例
使用Zeebe REST API的GET /process-instances端点,通过variables参数指定变量名和值进行过滤,格式为variables={变量名}={变量值}。例如:
GET /process-instances?state=ACTIVE&variables=uniqueUserId=1001
该请求会返回所有包含uniqueUserId变量且值为1001的运行中流程实例,结果中包含对应的processInstanceKey。
注:若变量为复杂类型(如JSON对象),需传入序列化后的字符串作为参数值。
3. 流程内部识别ProcessInstanceID
在流程执行过程中,可直接通过内置表达式获取当前实例的ID:
- 在BPMN的任务属性、脚本任务或网关条件中,使用表达式
=processInstanceKey即可获取当前流程实例的processInstanceKey(即ProcessInstanceID)。 - 若使用外部客户端(如Java/Go SDK),启动流程实例的返回结果会直接包含
processInstanceKey;处理任务时,任务对象也会附带所属流程实例的processInstanceKey。
内容的提问来源于stack exchange,提问作者Praveen Kumar
相关产品推荐
相关产品推荐

