如何使用REST API在Activiti中启动工作流程

时间:2016-02-10 19:09:45

标签: rest activiti bpmn

我使用eclipse创建了一个使用服务任务等的Activit进程,并将.bar部署到运行在tomcat上的Activiti。它已成功部署我可以使用activiti-explorer开始我的流程而没有任何问题。已部署的进程名称是"我的进程"它也列在Activiti-Explorer中的Processes-> Deployed Process Definitions下。在图中,它的名称为" myProcess:1:1473"

但我有两个问题。

  • 我需要使用REST调用启动我的进程。 (即不使用Activiti-explorer)。它的URL是什么?我尝试了几种(http://localhost:8080/activiti-rest/service/runtime/process-instances)的变体,但没有一种工作。
  • 当我重新启动tomcat时,我的流程实例未显示在Activit -explorer中。每次重新启动时,我都需要重新部署进程.bar文件。这是发动机的自然行为吗?

1 个答案:

答案 0 :(得分:2)

  • 有关您的第一个问题,请查看this guide了解更多详情:

      

    POST runtime/process-instances应该是您的终端(请务必发出 POST 请求,并将application/json作为您的内容类型)

         

    另一方面,有效负载应格式化为三个模板之一:

         

    请求正文(以流程定义ID开头):

         

    { "processDefinitionId":"oneTaskProcess:1:158", "businessKey":"myBusinessKey", "variables": [ { "name":"myVar", "value":"This is a variable", } ] }

         

    请求正文(以流程定义键开头):

         

    { "processDefinitionKey":"oneTaskProcess", "businessKey":"myBusinessKey", "tenantId": "tenant1", "variables": [ { "name":"myVar", "value":"This is a variable", } ] }

         

    请求正文(以邮件开头):

         

    { "message":"newOrderMessage", "businessKey":"myBusinessKey", "tenantId": "tenant1", "variables": [ { "name":"myVar", "value":"This is a variable", } ] }

  • 至于你的第二个问题,你应该知道OOTB(Out Of The Box)配置可能涉及每次重启时自动清理DB,你需要找到该配置并用你的值覆盖它选择!请查看此section以获取更多信息, databaseSchemaUpdate 参数可能正是您所需要的!