更新时间:2022-04-26 GMT+08:00
分享

启动BPM

您需要启动BPM,才能使整个BPM流程运转起来。

启动BPM有如下三种方式:

  • 在BPM开发设计页面单击启动该BPM。BPM的开始类型分以下两种:
    • 自定义:将BPM的“开始”图元的开始类型设置为“自定义”启动。不指定事件的起因,即不需要指定触发条件。主要用于接口调用进行启动。
    • 表单:使用表单或者页面启动BPM。选择该项时,您需要配置具体的表单、标准页面或者高级页面。将BPM的“开始”图元的开始类型设置为“表单”启动。
  • 接口启动:通过调用BPM的Rest接口“http://AppCube对外提供的默认域名/u-route/baas/bp/v2.0”进行启动。

    接口URI:POST AppCube域名/u-route/baas/bp/v2.0/runtime/instances

    表1 请求参数

    参数

    是否必选

    参数类型

    描述

    name

    String

    BPM的名称,在界面处创建BPM时配置的名称。

    version

    String

    BPM版本号,为可选参数,因为一个BPM可以存在多个版本。如不带版本号表示运行当前启用的版本。

    variables

    Object

    BPM元数据中定义的变量,包括自定义变量和系统变量, key-value形式,key为变量名字,value为变量的值。如果需要在启动BPM前设置BPM的变量,可以填写该参数。如需启动时设置变量,可以在variables中设置系统变量$Flow.BusinessKey;如需设置BP title,可以设置系统变量$Flow.Title。

    表2 响应参数

    参数

    参数类型

    描述

    resCode

    String

    返回码,如果返回“0”代表请求成功。

    resMsg

    String

    返回消息,如果成功状态,通常会返回“Success”,其他情况会返回具体的错误信息。

    result

    Object

    在成功请求时会有内容,返回启动BPM之后,BPM实例的运行信息。

    如下创建并启动了一个BPM,BPM名称为“createCloudOK_NEW”,版本号为“1.0.1”,带有4个启动参数。

    • 请求示例
      POST AppCube域名/u-route/baas/bp/v2.0/runtime/instances
          
       {
          "name":"createCloudOK_NEW",
          "version":"1.0.1",
          "variables":{
              "name":"sun",
              "memorySize":"15",
              "storageSize":"15",
              "expiryDate":"2018-12-12"
          }
      }
    • 响应示例
      {
          "resCode":"0",
          "resMsg":"Success",
          "result":{
              "name":"bpName1",
              "version":"1.0.1",
              "id":"002N000000Sy2NphoRbU",
              "processDefID":"001L000000S8Yi3xG9Gi",
              "interviewLabel":"BP Label 1",
              "nextElem":"subProcess",
              "isTest":true,
              "state":"Dispatched",
              "bpStatus":"New",
              "urgency":0,
              "taskOutcome":"",
              "businessKey":"002N000000Sy2NphoRbU",
              "startTime":"2019-08-27 10:53:04",
              "endTime":"",
              "Ext1":"",
              "Ext2":"",
              "Ext3":"",
              "Ext4":"",
              "Ext5":"",
              "Ext6":"",
              "Ext7":0,
              "Ext8":0,
              "suspended":false,
              "isClosed":false
          }
      }
  • 脚本启动:在脚本代码中导入BPM的脚本库。通过下面脚本代码方式启动。
    import * as bp from "bp";
    //......(其他代码)
    const client = bp.newInstanceClient();  
    client.start(BPM名称, BPM版本号, BP中定义的变量); 

    脚本样例如下:

    import * as bp from 'bp';
    let client = bp.newInstanceClient();
    let res = client.start("test", "1.0.1", {  "foo": 1,  "bar": 3});

    输出样例如下:

    {
        "interviewId": "002N000000FdtN6xwgjI",
        "screen": {
            "allowBack": false,
            "allowFinish": true,
            "allowNext": true,
            "allowPause": false,
            "helpText": "",
            "label": "input phone number",
            "name": "inputphonenumber",
            "pausedText": "",
            "screenFields": [
                {
                    "dataType": "text",
                    "defaultValue": "135xxxxxxxx",
                    "fieldType": "InputField",
                    "helpText": "",
                    "isRequired": false,
                    "label": "phone number",
                    "name": "phoneNumber"
                }
            ]
        }

接口启动或者脚本启动,入参中指定BPM版本号,可以不用启用(即激活)BPM。

分享:

    相关文档

    相关产品

close