DevOps CMDB平台整合Jira工单

背景

在DevOps CMDB平台建设的过程中,我们可以很容易的将业务应用所涉及的云资源(WAF、K8S、虚拟机等)、CICD工具链(Jenkins、ArgoCD)、监控、日志等一次性的维护到CMDB平台,但随着时间的推移,我们却很难及时适应业务应用资源的变化,从而及时有效的更新DevOps CMDB资源。比如某SRE工程师处理完下线某K8S应用的Jira工单后,CMDB平台工程师无法及时知道K8S资源的变化及相关信息,也就无法及时的维护CMDB相关应用。

解决方案

针对上述痛点以及基于Jira工单的DevOps运维背景下,我们可以采用CMDB整合Jira工单的方案来解决CMDB信息维护的问题。具体内容如下:

目标

实现Jira工单处理事件自动同步到CMDB平台及通过邮件、企微消息等通知到CMDB维护人员。

步骤

1 集成Jira和CMDB平台

使用Jira的WebHooks或Jira REST API来监听特定的工单事件(如状态变更、特定字段更新等)。

确保CMDB平台支持API调用或可以通过某种方式接受外部系统的请求。

2 创建Jira WebHook

2.1 登录Jira管理界面

首先,以管理员身份登录到Jira管理界面。

2.2. 导航到WebHook配置页面

点击右上角的齿轮图标,选择 "系统"。

在系统页面左侧的菜单中,找到并点击 "高级" 部分下的 "WebHooks"。

2.3. 创建新的WebHook

在WebHooks页面,点击 "创建WebHook" 按钮。

填写WebHook的基本信息:

名称: 为WebHook指定一个名称,便于识别。

描述: (可选)填写描述信息。

URL: 输入接收WebHook请求的目标URL。

选择事件: 选择触发WebHook的事件类型,可以是某个特定事件(如问题创建、更新、删除等)或多个事件。

例如,选择"Issue Updated"事件来触发WebHook。

配置过滤器(可选):

你可以添加JQL(Jira Query Language)过滤器,以便仅在特定问题匹配条件时触发WebHook。

例如,添加 project = "MYPROJECT" AND status = "Confirmed" 以便仅当特定项目中的问题状态变为"Confirmed"时触发WebHook。

点击 "创建" 按钮,保存WebHook。

示例

以下是一个配置示例,用于在问题更新时触发WebHook,且仅在状态变为"Confirmed"时触发

2.4 接收WebHook的服务

创建WebHook后,确保接收WebHook请求的服务能够处理Jira发送的HTTP请求。以下是一个简单的Flask示例,展示如何接收和处理Jira WebHook请求

2.5 CMDB服务如何处理Jira工单事件

这里可以区分为自动处理、手动处理。

自动处理:操作简单且不需要Jira工单详细信息的事件可以让CMDB平台自动化处理,比如停止应用。

手动处理:操作复杂且需要Jira工单详情的事件,可以在CMDB收到事件后进一步处理,提取工单内容,并以邮件的方式提醒CMDB维护人员,可以设置周期性提醒直到CMDB维护人员处理完CMDB变更后关闭该提醒。

通过上述步骤和代码示例,你可以创建一个接收Jira事件并处理CMDB更新的完整流程,确保CMDB数据的实时性和准确性,同时通知相关团队成员了解更新情况。

相关推荐
蓁蓁啊2 小时前
GIT使用SSH 多账户配置
运维·git·ssh
程序猿小三4 小时前
Linux下基于关键词文件搜索
linux·运维·服务器
虚拟指尖5 小时前
Ubuntu编译安装COLMAP【实测编译成功】
linux·运维·ubuntu
椎4956 小时前
苍穹外卖前端nginx错误之一解决
运维·前端·nginx
刘某的Cloud6 小时前
parted磁盘管理
linux·运维·系统·parted
极验6 小时前
iPhone17实体卡槽消失?eSIM 普及下的安全挑战与应对
大数据·运维·安全
爱倒腾的老唐6 小时前
24、Linux 路由管理
linux·运维·网络
yannan201903136 小时前
Docker容器
运维·docker·容器
_清浅6 小时前
计算机网络【第六章-应用层】
运维·服务器·计算机网络
正在努力的小河7 小时前
Linux 自带的 LED 灯驱动实验
linux·运维·服务器