通过REST API无法看到Camunda BPM任务表单字段

时间:2015-03-13 00:07:25

标签: api rest camunda

我正在进行性能评估Camunda BPM引擎7.2 REST API(我使用invoice.bpmn作为预先打包的tomcat发行版附带的示例),作为其中的一部分,我正在进行REST调用以浏览已部署的进程,意思是,我首先使用REST调用“http://localhost.:8080/engine-rest/process-definition/invoice:1:669071c7-c2bc-11e4-a421-a0d3c11a22ca/submit-form”启动了一个流程实例。现在在这个实例中,我必须在任务表单上选择一个“批准者”(它有一个下拉列表,有4个值可供选择),但如果我查询任务变量,我只看到四个中的三个。

GET: "http://localhost.:8080/engine-rest/task/9cbf77d6-c8ef-11e4-9ab8-a0d3c11a22ca/form-variables" 

响应:

{
    "amount": {
        "type": "String",
        "value": "10$",
        "valueInfo": {}
    },
    "invoiceNumber": {
        "type": "String",
        "value": "J-10002",
        "valueInfo": {}
    },
    "creditor": {
        "type": "String",
        "value": "Jay-Test",
        "valueInfo": {}
    }
}

现在,我必须选择批准者并使用REST调用提交任务表单。 "http://localhost.:8080/engine-rest/task/9cbf77d6-c8ef-11e4-9ab8-a0d3c11a22ca/submit-form"我在请求的json主体中尝试了一个猜测变量名,如下所示,但它不起作用。 如何选择“审批者”的值并通过REST调用完成此任务?

{"approver":"demo"}

我在camunda.org上关注以下REST文档但没有任何线索: http://docs.camunda.org/latest/api-references/rest/#process-definition-start-process-instance

1 个答案:

答案 0 :(得分:2)

流程的潜在审批者不是任务变量的一部分。它是一个静态的选项列表,在任务表单中定义:See the form on Github

为了完成任务,您必须使用此有效负载向submit-form发出POST请求:

{"variables":{"approver":{"value":"demo","type":"String"}}}

REST API documentation

中所述