在 SAP Automation Pilot 中使用内容生成助手设计运维自动化命令

学习目标

  • 说明如何借助 GenAI 设计运维自动化命令。

业务场景

您可能知道,Rotating Banana 团队开发了一个部署在 Cloud Foundry 环境中的 SAP BTP 云应用程序。为确保应用程序平稳运行,运维团队需要验证其功能并在必要时恢复它。

作为 Rotating Banana 的管理员,您的任务是创建一个恢复命令,该命令需要:

  1. 检查应用的 API 以确认其运行正常。

  2. 如果检测到问题,则重启该应用。

  3. 在工单系统(例如 Atlassian Jira)中自动生成一张诊断工单。

Note

尽管此示例使用 Jira,但该流程适用于任何工单系统。

运维流程中的步骤也如下图所示可视化呈现:

由于团队缺乏构建自动化流程的经验,他们决定使用 GenAI 来生成命令。

目标是仅凭一个提示词即时生成一个功能完整、无需代码的运维工作流。这一成果展示了 GenAI 如何简化复杂的 DevOps 流程,使其更高效、更易用。

在 SAP Automation Pilot 中启用内容生成助手

在您的 SAP Automation Pilot 实例中启用内容生成助手(Content Generation Assistant)以使用此功能(默认情况下,该功能未启用。

为此,您必须在子账户中拥有 GenAI 角色。有关更多信息,请参阅 SAP Help Portal 中的权限和角色

按照以下步骤启用或禁用基于 AI 的命令、执行器、输入和计划执行的生成功能。

  1. 在侧边栏导航中,选择 Terms and Conditions。

  2. 通过打开开关按钮来启用内容生成助手。

  3. 阅读并理解使用基于 AI 功能的条款和条件。在弹出的窗口底部选中 "I have read and understood the terms and conditions" 复选框以表示您的同意。

  4. 选择 "Accept"。

至此,内容生成助手已启用,您可以生成基于 AI 的命令了。

准备您的提示词

既然您已经启用了内容生成助手,让我们继续下一步:起草您的提示词。

用户只需准备一个描述所需自动化流程范围的提示词。整个运维自动化流程将由 SAP Automation Pilot 的 GenAI 功能设计完成,并快速、无需代码地交付给您。

业务场景

针对 Rotating Banana 所需的自动化,团队提出了以下提示词:

我想要一个命令,它能够:

  • 从输入键 "appUrl" 向指定 URL 发送 HTTP 请求,以验证我的应用程序的状态

  • 如果响应正文包含 DOWN,则使用以 "app." 为前缀的输入键重启该 Cloud Foundry 应用程序

  • 最后,如果响应正文包含 DOWN,则使用以 "jira" 为前缀的输入键创建一个 Jira 问题。Jira 服务器、用户和密码的输入将通过输入键提供。项目必须为 "CLMTEST",类型为 "Bug"(请将 CLMTEST 替换为取决于实际要在其中创建工单的 Jira 项目的有效输入)。不要添加任何标签和组件。在 Jira 问题描述中,仅添加有关 HTTP 请求输出的详细信息,如果 HTTP 请求响应为 DOWN,则输出应用程序状态为 'DOWN';否则为 'UP'。

生成运维自动化流程

起草提示词后,来看看 GenAI 功能的实际效果。

如您所见,使用内容生成助手非常简单。您只需:

  1. 导航到 "Commands" 部分并点击 "Generate" 按钮。

  2. 选择您的运维自动化命令应存储在哪个目录中,并添加命令名称。

  3. 在简单的用户提示词中提供您的输入,描述您希望生成的运维命令。

  4. 点击 "Generate" 按钮,SAP Automation Pilot 将生成所描述的运维自动化流程,其中包含所有必需的活动。

Note

由内容生成助手生成的运维自动化流程已可供测试和使用。如下方截图所示,生成的命令包含必要的输入键和执行器。

Caution

作为生成的自动化流程的一部分,内容生成助手会自动将输入键映射到工作流中的命令执行器。但是,在执行命令之前,您必须手动定义所需的 inputs 及其对应的值,位置在 SAP Automation Pilot 的 Inputs 部分。

创建输入后,在运行命令时引用它们。有关详细指导,请查阅 管理输入文档。

业务场景

Note

对于所讨论的命令,需要为您在 Cloud Foundry 上运行的应用以及您的 Jira 实例(或您使用的其他工单系统)映射输入。对于 Rotating Banana 的自动化命令,需要以下输入:

执行运维自动化流程

命令已生成且所需的输入已创建,现在是时候执行自动化流程并查看输出了。

1. 运行该命令。

导航到该命令并触发它,确保您创建的输入集合被正确引用(参见以下示例)。

2. 监控其执行。

执行后,访问 Execution Overview 页面以获取更多洞察。

业务场景

Rotating Banana 团队已成功触发所需命令的执行。要查看所创建的 Jira 问题,团队可以通过点击 "Show" 链接在命令 Output 中找到所创建问题的 Jira ID:

要查看所创建的 Jira 问题,团队可以通过点击 "Show" 链接在命令 Output 中找到所创建问题的 Jira ID。团队现在可以再次查看命令输出,以找到 Jira 工单 ID 或已创建的问题:

团队导航到所创建的 Jira 工单,并检查其中是否包含有关结果的所有必需信息:

Hint

诸如示例中检测应用问题的运维流程,可以计划为定期运行。为此,请参阅 Scheduled Execution。

使用 GenAI 增强现有的运维自动化流程

您还可以利用 GenAI Assistant 来丰富现有命令。

业务场景

Rotating Banana 团队希望通过在 Jira 工单中捕获更多细节来增强他们之前创建的命令。为此,他们希望使用 GenAI Assistant 设计一个额外的执行器,以将技术洞察添加为评论。

为此:

  1. 访问 Command Executors 配置部分并点击 Generate 。

  2. 提供一个 prompt 供 GenAI 处理。

Hint

以下是上文截图中提示词的文本形式:

如果响应正文包含 DOWN,则向 Jira 问题添加一条初始评论,其中包含有关 Cloud Foundry 应用程序名称、应用区域以及执行该检查的应用子账户的信息。Jira 服务器、用户和密码的输入以带有前缀 "jira" 的输入键提供。

  1. 查看 新生成的执行器,它已被放置到您的自动化流程中并映射到相关的输入键。

  2. 重新触发该命令 并检查更新后的行为。

业务场景

在增强命令并重新运行之后,Rotating Banana 团队检查了新创建的 Jira 工单:

这一增强功能会自动捕获有关应用程序的深入技术信息,在 Jira 工单中提供精确的上下文和可操作的数据。这些额外的洞察通过帮助准确识别应用程序并加速根因分析,简化了故障排查过程——从而减少了 Rotating Banana 团队的总体运维工作量。

总结

在本课中,您学习了如何使用 SAP Automation Pilot 的 GenAI 来获得以下收益:

  • 加速技术运维自动化的上手 :通过使用户能够以更少的精力快速创建和使用运维命令,简化了运维任务的自动化过程

  • 增强的用例: 利用 GenAI 对编程语言和公共 API 的理解来扩展运维自动化的范围,使复杂的工作流更易访问且更高效

本课其余配图

rotating banans logo_v3

DOP100_02_U3L7_steps

DOP100_coll02_U3L7_ss_t_and_c

DOP100_coll02_U3L7_ss_toggl

DOP100_coll02_U3L7_ss_accept

Building_Technical_Ops_Part_3_001

rotating banans logo_v3

Building_Technical_Ops_Part_3_002

DOP100_coll02_U3L7_ss_generate

DOP100_coll02_U3L7_ss_prompt

DOP100_coll02_U3L7_ss_appHan

rotating banans logo_v3

DOP100_coll02_U3L7_ss_run

DOP100_coll02_U3L7_ss_monitor

rotating banans logo_v3

DOP100_coll02_U3L7_ss_Show

DOP100_coll02_U3L7_ss_no_jira

DOP100_coll02_U3L7_SS_check

rotating banans logo_v3

DOP100_coll02_U3L7_ss_Gen

DOP100_coll02_U3L7_ss_prompt2

DOP100_coll02_U3L7_ss_review

rotating banans logo_v3

本课其余配图

rotating banans logo_v3

rotating banans logo_v3

rotating banans logo_v3

rotating banans logo_v3

rotating banans logo_v3

rotating banans logo_v3

本课其余配图

rotating banans logo_v3

rotating banans logo_v3

rotating banans logo_v3

rotating banans logo_v3

rotating banans logo_v3

rotating banans logo_v3

本课其余配图

rotating banans logo_v3

rotating banans logo_v3

rotating banans logo_v3

rotating banans logo_v3

rotating banans logo_v3

rotating banans logo_v3