1.HCM机器人所在位置
系统设置 → > 基础服务 →> 机器人设置
2.HCM机器人存在背景
HCM机器人可实现连式任务调度,在页面上想看到进度条的任务调度,想实现云函数的逻辑但是又不会写云函数,想仅仅通过配置即可达到云函数的效果,
3.HCM机器人 特点
特点:
1.其特点在于 有顺序执行, 单条链路执行不可分叉,不可同步
2.开始执行前可预置一些参数 这些参数统一放在参数池context中 可供下次任务执行使用
3.每次任务执行可从 参数池获取 参数使用, 在任务结束时可放入新的参数
4.任务在特定的情况可跳过
5.任务报错可设置继续执行,可设置中断,报错信息可放到参数池,供下引用
4.配置 说明
我们重点描述 脚本怎么配置
action 配置示例一
{ "actions": [{ "action": "SHORTCUT", "condition": "MULTI_ITEM", "label": "test1", "key": "test1", "options": { "name": "机器人脚本示例", #机器人名称 "params": "=function(params){let _ret={items:params.selected.map(v=>v.id)};return _ret}" } }] }
参数名 | 类型 | 说明 |
---|---|---|
shortcut_id | int | HCM机器人ID |
params | dict | 传入参数 |
stages | list | 如果不为None 那么只会执行这个列表内的任务 |
HCM机器人脚本示例
{ "stages": [{ "meta": { "url": "https://hr.cscec.com", "name": "private.company_init_item", "param": { "number": "DynamicScriptList" }, "token": "hcmecea7bc7b01a1c0828fbbe655b49927edb325515" }, "name": "取外部数据测试", "engine": "RemoteAPI" }, { "meta": { "name": "hcm.model.list", "param": { "model": "Employee" } }, "name": "获取员工列表", "engine": "OpenAPI", "output": { "context": { "employee_id": "=ret['list'][0]['id']" }, "message": "='共{}条记录'.format(ret['count'])" } }, { "meta": { "name": "hcm.model.get", "param": { "id_": "=employee_id", "model": "Employee" } }, "name": "检查员工名称", "engine": "OpenAPI", "output": { "message": "=ret['name']" } }, { "meta": { "name": "元数据", "direct": false }, "name": "调用机器人", "engine": "Shortcut" }, { "meta": { "content": "按需调整" }, "name": "发送消息", "engine": "Message" }], "context": { "employee_id":123 } }