TIP
您可以在我们的 GitHub 仓库 中找到大量完整的可运行示例。
Keep 工作流引擎旨在通过集成触发器、步骤、动作和条件来简化和自动化运营任务。本文档概述了用于定义和有效执行工作流的核心概念。
总体结构
每个工作流由以下部分组成:
- 元数据 - id、描述
- 触发器 - 此工作流何时运行?
- 步骤/动作 - 此工作流应该做什么?
工作流的一般结构如下:
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 循环
遍历步骤结果列表,为每个项目执行重复操作。
告警增强
使用步骤或动作中的增强机制为告警添加上下文,如客户详情或工单元数据。