Close

借助 Jira 和 StatusPage 实现自动化事件管理

Kev Zettler 头像
Kev Zettler

全栈 Web 开发人员,DevOps

了解如何使用 Jira Automation 规则自动将 StatusPage 同步到 Jira 事务。

Time

5 minute read.

Audience

You’re an experienced user of Jira Software and have a StatusPage account.

Prerequisites

You will need an active Jira project with a custom task type of “Incident” and a custom field “Incident ID”. Get started with Jira here.

You will need a StatusPage account with API access enabled. You will also need your StatusPage API key and Page Code to configure the following automation rules. Check out the StatusPage API guide to locate your StatusPage API keys. Get started with StatusPage here.

第 1 步:添加自动化

单击添加自动化按钮,然后选择事务选项。

单击:添加自动化;选择:事务

搜索并选择已创建事务

新触发器。触发器启动执行规则操作。触发器可以监听事件或按照计划运行。

单击保存按钮以继续。

事务已创建。创建事务时运行规则。此触发器无需配置。

第 2 步:创建新条件

接下来,搜索并选择事务字段条件

在“新条件”下选择“事务字段条件”。此操作会检查事务的字段是否符合特定标准。

使用事务字段条件检查事务类型是否为事件并进行相应操作。配置事务字段条件,使事务类型字段等于事件。单击保存以继续。

使用“事务字段条件”检查事务类型是否为“事件”并进行相应操作。配置“事务字段条件”,使“事务类型”字段等于“事件”。单击“保存”以继续。

第 3 步:发送 Web 请求

选择发送 Web 请求,随即更新 StatusPage。

新操作。选择“发送 Web 请求”

要配置发送 Web 请求操作,您需要 StatusPage API 密钥和页面代码。这些值可以在 StatusPage 文档中找到。发送 Web 请求是附带敏感输入值的高级操作。在本指南的后面部分,我们将在其他规则中重现此操作,且会引用此配置。

Webhook URL 字段中,输入 StatusPage 事件端点的 URL:
https://api.StatusPage.io/v1/pages/your-page-code/incidents

将页面代码占位符替换为 StatusPage 页面代码。在标头部分,在两个标头字段中分别输入 Authorization:OAuth 和 API 密钥。

HTTP 方法设为 POST,并将 Webhook 主体设为自定义数据

请务必选中等待响应复选框,因为您会在其他组件中使用 Web 请求响应中的值。

自定义数据字段包含为 StatusPage API 定义事件负载的代码。此代码使用智能值提取事务摘要并将其添加到负载中。以下屏幕截图显示了发送 Web 请求操作的完整配置。单击保存以继续。

发送 Web 请求

第 4 步:创建“编辑事务”操作

最后,搜索并选择编辑事务操作。

新操作:编辑事务

编辑事务操作会从 StatusPage 请求中提取事件 ID,并将其存储在“事件 ID”自定义字段中。使用智能值提取事件 ID。以下屏幕截图演示了如何配置此编辑事务组件。

编辑事务。设置事务相关字段的值

以下屏幕截图显示了此规则的最终摘要。

规则的最终摘要

此规则现已准备就绪,可以启用。为此规则输入一个名称,然后单击打开按钮。此规则中的数据将用于创建以下规则。

当事务被评论时更新 StatusPage

对“事件”事务类型添加评论时,会触发下一条规则。向 StatusPage 发出 Web 请求,该请求可利用评论内容更新相应事件。下图显示了此规则的组件摘要。

针对事件的 StatusPage 评论

此规则中要查看的重要组件是发送 Web 请求操作。此操作是从前一规则复制而来,但做了一些变更。

Webhook URL 附加有 /{{issue.incident_id}}}。智能值可用于从事务提取“事件 ID”自定义字段,然后将其作为 Web 请求的目标传递给 StatusPage。

HTTP 方法现应设为 PATCH 而非 POST。此操作会告知 StatusPage 更新现有事件,而非创建新事件。

自定义数据字段会变为包含特定代码,该代码使用智能值从事务提取评论正文并将其放入事件的内容正文中。

针对事件的 StatusPage 评论
发送 Web 请求

当事务转换为已完成时关闭 StatusPage 事件

最后一条规则会将它们联系在一起。此规则告知 StatusPage:当相应的 Jira 事务变为“已完成”时,事件即已解决。下图显示了规则摘要。

针对事件的 StatusPage 评论

Web 请求组件再次通过先前的规则进行复制和修改。

发送 Web 请求

自定义数据字段已修改,以将事件状态设为“已解决”。这是对前一评论规则的唯一修改。

现在,这些规则已可使用。您可以通过创建事件类型事务并执行触发器交互来测试这些规则。您可以在自动化审核日志中监控规则的行为,该日志提供了规则行为的日志记录和相关信息。本指南中演示的自动化规则是高级 Web 请求 API 使用规则的绝佳示例。

请查阅我们 Automation 模板库中的数百个其他示例。

Kev Zettler
Kev Zettler

Kev 是领先的全栈 Web 开发人员和连续创业者,拥有十多年使用敏捷方法构建产品和团队的经验。他是 DevOps、加密货币和 VR/AR 等新兴开源技术的热情贡献者、作者和教育者。闲暇时,他会参加独立游戏开发活动。


分享这篇文章
下一个主题

推荐阅读

将这些资源加入书签,以了解 DevOps 团队的类型,或获取 Atlassian 关于 DevOps 的持续更新。

Devops 示意图

DevOps 社区

Devops 示意图

模拟研讨会

地图插图

免费试用

注册以获取我们的 DevOps 新闻资讯

Thank you for signing up