模板变量
在文本内容中用 {{ }} 引用消息字段,运行时替换为实际值。适用于通知文案、动态标题等纯文本字段。
基本语法
{{ msg.字段路径 }}- 所有变量以
msg.开头 - 支持多级嵌套,用
.分隔 - 支持
?.可选链:中间字段为null时返回空字符串 - 对象或数组会自动转为 JSON 字符串
字段路径
| 路径前缀 | 说明 | 示例 |
|---|---|---|
msg.output. | 上一个处理节点的输出 | {{msg.output.title}} |
msg.output.嵌套.字段 | 嵌套对象 | {{msg.output.user.name}} |
msg.input. | 流程原始入参 | {{msg.input.orderId}} |
msg._meta. | 系统元字段(如循环轮次) | {{msg._meta.iteration}} |
msg.xxx | 触发器根级字段 | {{msg.timestamp}} |
使用示例
基本替换
json
// payload
{
"input": { "orderId": "ORD-001" },
"output": {
"title": "部署完成",
"version": "1.2.0",
"count": 5
}
}{{msg.output.title}}:版本 {{msg.output.version}},共处理 {{msg.output.count}} 条
订单号:{{msg.input.orderId}}部署完成:版本 1.2.0,共处理 5 条
订单号:ORD-001对象和数组转 JSON 字符串
引用对象或数组时,自动转为 JSON 字符串。
json
{
"output": {
"user": { "name": "张三", "age": 28 },
"tags": ["紧急", "待审批"]
}
}用户信息:{{msg.output.user}}
标签列表:{{msg.output.tags}}用户信息:{"name":"张三","age":28}
标签列表:["紧急","待审批"]TIP
只要某个具体字段时,直接写完整路径:{{msg.output.user.name}}
可选链 ?.
路径中某一层可能为 null 时,用 ?. 代替 .,整个表达式返回空字符串。
WARNING
中间层为 null 时必须使用 ?.,否则会报错并中断替换。
| 写法 | 中间值为 null 时 |
|---|---|
{{msg.output.user.name}} | 报错,中断替换 |
{{msg.output.user?.name}} | 返回空字符串 |
{{msg.output?.user?.name}} | 任意一层为 null 均安全降级 |
json
{
"output": {
"title": "审批通知",
"user": null,
"extra": { "remark": "测试环境" }
}
}标题:{{msg.output.title}}
申请人:{{msg.output.user?.name}}
备注:{{msg.output.extra?.remark}}
地址:{{msg.output?.address?.city?.name}}标题:审批通知
申请人:
备注:测试环境
地址:注意事项
- 引用不存在的字段时,结果为空字符串
msg本身或中间层未初始化时,建议从第一层使用?.,如{{msg?.output?.title}}- 路径区分大小写,
msg.output.Name与msg.output.name不是同一字段
