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

如何创建展示GitHub Actions最新作业状态(PASS/FAIL)的Datadog组件

在Datadog中实现GitHub Action作业状态的持久化可视化

核心思路

你的需求核心是无视仪表盘时间范围,始终展示目标作业的最新状态,所以需要用last()函数抓取历史最新的状态值,再通过状态映射实现红绿配色的二元状态展示。

步骤1:配置Status Widget(推荐方案)

这是最适配二元状态展示的组件:

  1. 进入目标仪表盘,点击右上角Edit Dashboard
  2. 点击Add Widget,选择Status类型
  3. 在查询框输入:
    last(ci.job.status{@ci.job.name:testing-123})
    
    (ci.job.status是Datadog CI Visibility内置字段,成功返回1,失败返回0)
  4. 打开Advanced面板,勾选Show last value even if outside time window——这一步是关键,确保仪表盘设为5分钟时,仍能拉取到历史最新的作业状态
  5. 配置状态映射:
    • 点击Status Mappings > Add Rule
    • 第一条规则:值等于1,状态选Success,颜色设为绿色,显示文本填PASS
    • 第二条规则:值等于0,状态选Error,颜色设为红色,显示文本填FAILED
  6. 给组件设置标题(比如testing-123 作业状态),保存配置即可

步骤2:验证查询有效性

如果组件没显示数据,先在Metrics Explorer中测试查询:

  • 输入last(ci.job.status{@ci.job.name:testing-123}),时间范围选All Time
  • 确认能返回0或1的数值,说明数据已被正确采集

替代方案:用Event Stream展示最新事件

如果需要同时看到状态和作业详情,可以用这个方案:

  1. 添加Event Stream组件
  2. 过滤条件设为:
    sources:github-action @ci.job.name:testing-123
    
  3. 在组件设置里勾选Show only the most recent event
  4. 打开Event Formatting,设置:
    • 当事件包含status:success时,文本颜色设为绿色
    • 当事件包含status:failure时,文本颜色设为红色

常见坑点

  • 忘记勾选"Show last value even if outside time window":导致5分钟内无作业时组件为空
  • 状态映射值错误:比如把成功值写成success而非1,要以ci.job.status的实际数值为准
  • 筛选器写错:确认@ci.job.name的取值和作业名称完全匹配,区分大小写

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 16:20:09