...
脚本配置参数路径 | 类型 | 说明 | |
---|---|---|---|
stages | list | 任务list,里面包含了多个任务的详细信息,每个任务对应一个dict | |
context | dict | 脚本预制上下文 | |
return | list | 返回值字典 | |
stages.meta | dict | 单个任务接口信息 | 需要 name (接口名称)和 param (接口参数)在Message引擎下 有to(目标人ID,缺省发给自己) 和context(消息内容) 两个参数 |
stages.name | str | 单个任务名称 会在执行过程中提示任务执行情况 | |
stages.engine | str | 任务接口引擎 | OpenAPI:本系统接口。 RemoteAPI:外系统接口 使用这个引擎 stages.meta 里面需要有url 和token Shortcut:调用其他的HCM机器人,在这里stages.meta.name 是其他机器人的名称, Message:发送消息 这个引擎下stages.meta |
stages.output | dict | 本任务执行结束输出的内容 | 包含两个参数message 页面消息提示 ,context 类型为dict (本任务结束将一些参数放入上下文中) |
stages.iterator | 表达式/可迭代对象 | 根据迭代对象 循环执行 | ITER_V 特定写法stages.iterator 单元值 ITER_I 特定写法stages.iterator 单元值 的index 比如list 的index |
stages.parallel | 表达式/可迭代对象 | 根据迭代对象 循环执行加入队列 | ITER_V 特定写法stages.iterator 单元值 ITER_I 特定写法stages.iterator 单元值 的index 比如list 的index |
stages.queue | str | 只有定义了stages.parallel 才有用到意思是在什么队列执行缺省shortcut队列 | |
stages.error | dict | 任务执行失败需要的操作 | 包含两个参数 ignore 执行失败 是否跳过,跳过就继续执行下面的任务,不跳过整个将结束,没有这个参数也将直接结束 context 是将一些参数 放入上下文中 在这里 err 为报错堆栈信息 固定写法 |
stages.condition | 表达式/boolean | 是否跳过此任务 |
3. 脚本配置 示例
代码块 | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "return": { "x_mobile": "=x_mobile" }, "stages": [{ "meta": { "url": "https://lizhongjie.hcmcloud.cn", "name": "hcm.model.list", "param": { "model": "Employee", "filter_dict": { "name": "李中杰" } }, "token": "hcmf214e3bb9830f574a89e52c476b58c7c56cade3d" }, "name": "取外部数据", "engine": "RemoteAPI", "output": { "context": { "x_ID": "=ret['list'][0]['id']" }, "message": "='共{}条记录'.format(ret['count'])" } }, { "meta": { "name": "hcm.model.get", "param": { "id_": "=x_ID", "model": "Employee" } }, "name": "查看本系统是否有该数据", "error": { "ignore": true, "context": { "is_error": true, "get_mobile_error": "=err" } }, "engine": "OpenAPI", "output": { "context": { "is_error": false, "employee_id": "=ret['list'][0]['id']" }, "message": "='共{}条记录'.format(ret['count'])" } }, { "meta": { "name": "hcm.model.create", "param": { "info": { "name": "机器人测试日志", "type": 2, "content": { "get_mobile_error": "=str(get_mobile_error)" } }, "model": "SyncOuterRecord" } }, "name": "记录日志", "engine": "OpenAPI", "output": {}, "condition": "=is_error" }, { "meta": { "name": "HCM机器人迭代模式", "param": {} }, "name": "调用其他机器人", "engine": "Shortcut" }, { "meta": { "context": "本次HCM机器人演示成功", "to":12212 }, "name": "发送消息", "engine": "Message" }], "context": {} } |
...