Skip to content

关于本页

本页介绍更夫所基于的开源内核 Keep 的通用能力。更夫在其上提供国内化增强:钉钉/企业微信/飞书通知、国产大模型接入、LDAP 认证与值班管理。部署与上手请看快速上手。

TIP

您可以在我们的 GitHub 仓库 中找到大量完整的可运行示例。

Keep 工作流引擎旨在通过集成触发器、步骤、动作和条件来简化和自动化运营任务。本文档概述了用于定义和有效执行工作流的核心概念。

总体结构 ​

每个工作流由以下部分组成:

  1. 元数据 - id、描述
  2. 触发器 - 此工作流何时运行?
  3. 步骤/动作 - 此工作流应该做什么?

工作流的一般结构如下:

yaml
workflow:
  id: aks-example
  description: aks-example
  triggers:
    # 触发器列表
    - type: manual
  steps:
    # 步骤列表
    - name: some-step
      provider:
        type: some-provider-type
        config: "{{ providers.provider_id }}"
        with:
          # provider configuration
    - ...
  actions:
    - name: some-action
      provider:
        type: some-provider-type
        with:
          # provider configuration
    - ...

让我们深入了解如何构建工作流:

触发器 ​

定义工作流如何启动,例如手动启动、按计划启动或响应告警,并可选择性地添加特定条件的过滤器。

查看语法

步骤和动作 ​

表示顺序操作,例如查询数据或运行脚本,使用可配置的提供者。

查看语法

条件 ​

允许基于阈值、断言或先前步骤结果在动作中进行决策。

查看语法

函数 ​

内置辅助函数,如 datetime_compare 或 is_business_hours,简化复杂操作。

查看语法

上下文 ​

能够在动作或条件中访问和重用先前步骤的输出。

查看语法

提供者 ​

外部系统或服务(如 Slack、Datadog、ServiceNow)通过标准配置接口集成到工作流中。

查看语法

Foreach 循环 ​

遍历步骤结果列表,为每个项目执行重复操作。

查看语法

告警增强 ​

使用步骤或动作中的增强机制为告警添加上下文,如客户详情或工单元数据。

查看语法

基于 MIT 协议开源的 Keep · 由更夫社区维护