TL;DR: 本文档旨在指导SRE团队成员利用Zapier和Make(原Integromat)平台,集成AI服务(如Gemini API),以自动化处理传入的SRE工单。核心流程包括:接收工单 -> AI分类/摘要 -> 触发相应操作。重点关注Webhook配置、API密钥管理及错误处理。
1. 前提条件
在开始配置之前,确保以下条件已满足:
- Zapier或Make平台账户,并已完成基础设置。
- AI服务API密钥(例如,已通过
Gemini怎么注册获取的Google Cloud API Key)。 - 目标工单系统(如Jira Service Management, ServiceNow)的API访问权限。
- 基本的API请求(HTTP/JSON)理解。
2. Zapier集成AI自动化工单分类
本节详细说明如何在Zapier中构建一个自动化流程,将接收到的工单内容发送给AI进行分类,并根据AI的输出执行后续操作。
2.1. 触发器配置:新工单接收
选择您的工单系统作为触发器。这里以Jira Service Management为例。
-
登录Zapier,点击“Create Zap”。
-
选择“Jira Service Management”作为触发应用。
Trigger Event: New Request CreatedExpected Output: Zapier will prompt for Jira Service Management account connection.
-
连接Jira Service Management账户,并选择对应的Service Desk和Request Type。
Choose app & event: Jira Service Management -> New Request CreatedChoose account: [Your Jira Account]Customize Request: Service Desk -> [Your Service Desk Name], Request Type -> [e.g., General Support]Expected Output: Zapier fetches sample requests for testing.
2.2. AI动作配置:调用Gemini API进行分类
利用Zapier的“Webhooks by Zapier”或“Code by Zapier”功能调用AI服务。
-
添加一个Action Step,选择“Webhooks by Zapier”。
Action Event: POST -
配置POST请求以调用Gemini API。假设您已了解
Google AI怎么用以及Gemini API的请求结构。URL: https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key=[YOUR_GEMINI_API_KEY]Payload Type: JsonData:{ "contents": [ { "parts": [ { "text": "请将以下工单内容分类为'网络问题', '服务器故障', '软件Bug'或'其他', 并返回唯一的分类名称。工单内容:{{1.Summary}} - {{1.Description}}" } ] } ] }Headers: Content-Type: application/jsonExpected Output: Gemini API返回包含分类结果的JSON响应。
Note:
{{1.Summary}}和{{1.Description}}是Zapier从上一步触发器中获取的工单字段。请替换[YOUR_GEMINI_API_KEY]为您的实际API密钥。关于Gemini国内使用的注意事项,请确保您的网络环境能够访问Google API。 -
根据Gemini API的响应,添加一个“Filter”或“Path”步骤,以根据AI分类结果路由后续操作。
Filter: Only continue if... [AI Classification Result] Contains [Specific Category]Expected Output: Zapier根据条件决定是否继续执行后续步骤。
2.3. 后续动作:更新工单/发送通知
根据AI分类结果执行相应操作。
-
例如,如果分类为“服务器故障”,则添加一个Action Step,选择“Slack”发送通知到SRE运维频道。
Action Event: Send Channel MessageChannel: #sre-critical-alertsMessage Text: 新的服务器故障工单已分类:{{AI Classification Result}}。Jira链接: {{1.Request URL}}Expected Output: Slack频道接收到通知。
-
或者,添加一个Action Step更新Jira工单的优先级或分配给特定团队。
Action Event: Update RequestRequest ID: {{1.Request ID}}Fields: Priority -> High, Assignee -> SRE-Team-LeadExpected Output: Jira工单被更新。
3. Make集成AI自动化工单响应
本节将介绍如何使用Make(原Integromat)构建类似的AI自动化工作流,其可视化界面更适合复杂流程。
3.1. 场景创建与Webhook触发
在Make中创建一个新的Scenario。
-
添加一个“Webhooks”模块,选择“Custom webhook”。
Module: Webhooks -> Custom webhookExpected Output: Make生成一个唯一的Webhook URL,用于接收外部系统的数据。
-
在您的工单系统(或任何需要触发的系统)中配置Webhook,将新工单数据发送到Make生成的URL。
Warning: 确保Webhook发送的数据结构与Make Webhook的预期一致,或在Make中使用“JSON”模块进行解析。
3.2. AI处理与条件路由
利用Make的HTTP模块调用AI服务,并通过Router和Filter模块进行条件处理。
-
添加一个“HTTP”模块,选择“Make a request”。
Module: HTTP -> Make a requestURL: https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key=[YOUR_GEMINI_API_KEY]Method: POSTHeaders: Content-Type: application/jsonBody (JSON):{ "contents": [ { "parts": [ { "text": "请将以下工单内容分类为'网络问题', '服务器故障', '软件Bug'或'其他', 并返回唯一的分类名称。工单内容:{{1.data.summary}} - {{1.data.description}}" } ] } ] }Expected Output: Gemini API返回分类结果。
Note:
{{1.data.summary}}和{{1.data.description}}是来自Webhook模块的示例数据字段。请根据实际Webhook数据结构调整。 -
添加一个“Router”模块,创建多个分支,每个分支连接一个“Filter”模块,根据AI返回的分类结果进行过滤。
Filter Condition: {{HTTP Response.choices[0].text}} = "网络问题"Expected Output: 数据包沿符合条件的分支继续传输。
3.3. 后续自动化操作
在每个Filter分支后,可以添加不同的模块执行自动化任务。
-
例如,对于“网络问题”分支,添加“Jira Service Management”模块,选择“Create Issue”或“Update Issue”。
Module: Jira Service Management -> Create IssueProject: [Your Project]Issue Type: TaskSummary: AI分类:网络问题 - {{1.data.summary}}Description: {{HTTP Response.choices[0].text}}。原始工单ID: {{1.data.id}}Expected Output: Jira中创建新的任务。
-
或者,添加“Email”模块发送邮件通知,或“Slack”模块发送消息。
Module: Email -> Send an emailTo: [email protected]Subject: 紧急:AI识别网络问题工单Expected Output: 邮件发送成功。
Warning: 在生产环境部署前,务必进行充分的测试,并监控AI分类的准确性及自动化流程的稳定性。