You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Elastic规则体中获取文档字段详情?ServiceNow Webhook传参问题

解决Elastic告警规则传递命中文档字段到ServiceNow API的问题

核心问题分析

你遇到的{{context.hits.0.message}}返回空值,是因为Elastic查询型告警规则的命中文档上下文路径并非context.hits,而是存储在context.results.hits.hits数组中,且文档的原始字段都嵌套在_source节点下。

修正后的代码示例

以下是调整后的webhook请求体模板,同时修复了原代码中未闭合的引号问题:

{{#ParseHjson}}
{
  "caller_id": "xyz",
  "u_ticket_classification": "Request",
  "category": "Software",
  "subcategory": "Application",
  "short_description": "First hit document: {{context.results.hits.hits.0._source.message}}"
}
{{/ParseHjson}}

关键说明

  • 路径正确性:context.results.hits.hits.0指向第一个命中的文档,_source.message是该文档中message字段的取值(如果你的字段名不是message,替换为实际字段名即可)
  • 语法规范:HJSON允许键名不加引号,但为了避免潜在的语法解析问题,建议给所有键名添加双引号
  • 验证步骤:在Elastic规则编辑页使用「测试连接器」功能,查看生成的请求体,确认字段值是否正确渲染

额外排查点

  1. 确认命中的文档确实包含目标字段:在Elastic Discover中执行相同的查询,检查返回结果是否存在message字段
  2. 规则权限:确保告警规则拥有访问目标索引及对应字段的权限
  3. 规则类型适配:如果是异常检测、指标阈值等其他类型的告警规则,上下文结构会不同,需要对应调整路径(比如异常检测规则的上下文在context.anomalies中)

内容的提问来源于stack exchange,提问作者Naveen Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 16:51:14