CD工具awx之通知NOTIFICATIONS,及时发送消息到企业微信机器人

一、背景

awx的模板执行结果及时通知给相关人员,可以直接在awx界面上配置通知,然后由项目和模板来决定是否开启通知。
通知类型一般选择webhook,消息体的拼接,则需要参考awx官方文档。

除了在awx界面上配置通知外,也可以在playbook脚本中增加发送消息通知,调用python等脚本实现。

本文的消息通知以企业微信的机器人为示例,讲解其配置过程。至于钉钉机器人的对接过程类似,就不重复。

对接企业微信的机器人通知,报文示例见下:

curl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=693axxx6-7aoc-4bc4-97a0-0ec2sifa5aaa' \-H 'Content-Type: application/json' \-d '{"msgtype": "text","text": {"content": "hello world"}}'

机器人地址见下截图:

在这里插入图片描述

至此,消息通知的准备工作就做好了,接下来在awx配置通知。

二、配置通知

在这里插入图片描述

1、拼接job开始、成功、错误的通知回调的入参

注意,json报文必须遵循企业微信的机器人回调报文格式。

{"msgtype": "text","text": {"content": "{{ job_friendly_name }}-{{ job.id }} \"{{ job.name }}\" is {{ job.status }}.  \nuser: {{job.summary_fields.created_by.username}}"}
}

在这里插入图片描述

你可以参考awx官方的webhook-payloads回调文档,定制出符合自己的消息模板。

这里摘要job实体下几个重要的字段,见下json报文:

{"id": 18,"name": "Project - Space Procedures","url": "https://towerhost/#/jobs/project/18","created_by": "admin","started": "2019-10-26T00:20:45.139356+00:00","finished": "2019-10-26T00:20:55.769713+00:00","status": "successful","traceback": ""
}

其实,它也可以简写为{{ job_metadata }}

在这里插入图片描述

2、开启模板“应用重启”的通知

在这里插入图片描述

这样,我们将会收到两个通知消息:任务开始的通知、任务运行成功或失败的通知。

三、运行模板

在这里插入图片描述

企业微信收到消息通知:

  • 作业运行成功
    在这里插入图片描述

  • 作业运行失败
    在这里插入图片描述

四、自定义的webhook回调

如果你发送的消息通知,不是直接对接企业微信,而是自定义接口。

只要在把企业微信的机器人修改你的接口地址即可。

在这里插入图片描述
job运行成功或失败的消息体示例:

{"created_by": "awx","name": "{{ job.name }}","status": "{{ job.status }}","started": "{{ job.started }}","finished": "{{ job.finished }}","env": "test"
}

在这里插入图片描述

关于awx如何实现回调通知,就梳理到这里了。

可以看到,消息体还是比较有限的,只能从awx官方文档里寻找。

如果你要更加灵活的消息通知,建议在playbook脚本里实现,可以读取到更多信息,比如程序的版本号。

版本号,对以应用为中心的程序部署来说,非常关键。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/349268.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第五讲:51单片机+RA8889驱动控制彩屏 完整源码说明 【 源码v1.2 】

51单片机驱动控制彩屏系列讲座 第一讲:单片机STC89C52RA8889驱动控制彩屏【 源码v1.0 】 第二讲:单片机STC89C52RA8889驱动控制彩屏 代码移植介绍 第三讲:单片机STC89C52RA8889驱动控制彩屏 代码的压缩(Keil编译器) 第…

读Diffusion models from scratch, from a new theoretical perspective

1 Introduction diffusion model 在多个领域有了突破,这篇文章从优化的角度来介绍diffusion,包括理论和代码。 2 Training diffusion models diffusion 的样本集可以对应图像,音频,视频,机械臂轨迹,甚至…

HTTP 概述

HTTP 概述 HTTP 是一种用于获取资源(如 HTML 文档)的协议。 它是 Web 上任何数据交换的基础,它是一种客户端-服务器协议,这意味着请求由接收方(通常是 Web 浏览器)发起。 一个完整的文档是从获取的不同子文…

使用 Azure AI Document Intelligence 创建智能文档处理

简介 借助 Azure AI 文档智能中的预生成模型,无需自行训练模型,即可从常见表单和文档中提取数据。 公司中,表单种类繁多,如发票、收据、调查表等。你可能想知道,从这些文档中提取姓名、地址、金额等信息需要多少工作…

如何将NextJs中的File docx保存到Prisma ORM

背景/引言 在现代 Web 开发中,Next.js 是一个备受欢迎的 React 框架,它具有许多优点,如: 服务器端渲染 (SSR):Next.js 支持服务器端渲染,可以提高页面加载速度,改善 SEO,并提供更好…

Introducing Index-1.9B

简介 大家好,今天我们很高兴首次发布Index系列模型中的轻量版本:Index-1.9B系列 本次开源的Index-1.9B 系列包含以下模型: Index-1.9B base : 基座模型,具有 19亿 非词嵌入参数量,在2.8T 中英文为主的语料上预训练&…

小程序面试题全(offer直接给他拿下)

各位小伙伴们,好久不见,突然想起来微信小程序没有给大家整一份面经,废话不多说,开干! 1.wxml和html有什么区别 ①使用标签不同。 ②wxml提供了和vue.js中模版语法类似的模版语法,而html没有。 ③html在…

期末测试2(1)---PTA

一开始写错了, 因为这个再定义一个和原函数一样类型的进行存储, 然后将第一个设置为最大的,依次用循环比较后面的, 最后输出 但是这个适用于找最大的、字符串这样最后只输出一个最大项比较好 对于结构体不好将比较的这个数所…

大数据同步方案怎么选,才能提高企业的业务效率?

大数据同步通常指的是在多个数据源或存储系统之间同步数据的过程,可以确保数据的一致性,提高数据的可用性和可靠性,同时支持数据分析和决策制定。 大数据同步的步骤通常包括: 数据识别:确定需要同步的数据类型和范围&…

教程:A5000 GPU 上运行阿里最新开源大模型 Qwen2

这是我们新一篇关于大模型的文章,我们此前还讲过如何运行 LLama3 大模型。而这次,我们将使用 Ollama 运行阿里千问Qwen2:7b。要知道 Qwen2 可是目前最热门的开源大语言模型了,甚至在一些性能测试中比 LLama3 表现还突出。谁不想试试看呢&…

unity基础(五)地形详解

目录 一 创建地形 二 调整地形大小 三 创建相邻地形 四 创建山峰 五 创建树木 七 添加风 八 添加水 简介: Unity 中的基础地形是构建虚拟场景的重要元素之一。 它提供了一种直观且灵活的方式来创建各种地形地貌,如山脉、平原、山谷等。 通过 Unity 的地形…

嵌入式硬件VS软件,到底哪个更难?

在嵌入式系统开发中,硬件和软件是密不可分的两个方面。但是,究竟是硬件开发更具挑战性,还是软件开发更难以应对呢?本文将就这一问题展开讨论,探究嵌入式硬件和软件在开发过程中的各种挑战与特点。 一、硬件开发&#…

数据预处理之基于预测的(线性,ARIMA)异常值检测#matlab

基于密度的LOF异常值检测可见上篇文章。以下介绍基于预测的异常值检测: 1.基于预测的异常值检测方法 基于预测的异常值检测方法,特别是结合线性回归和ARIMA(自回归积分滑动平均模型)模型,是数据分析中常用的技术。这…

Jenkins For Windows编译构建C#项目环境搭建(完整版)

安装Jenkins 下载Windows安装包 官方下载地址 选择稳定版,这里下载的是最新版,如需下载指定版本点击 以前的发行版 配置java环境 下载 java jdk 17 jdk17官方下载链接 这里下载的是msi版本的安装包 安装jdk17 双击运行安装包,一直下…

VS2022 使用C++访问 mariadb 数据库

首先,下载 MariaDB Connector/C++ 库 MariaDB Products & Tools Downloads | MariaDB 第二步,安装后 第三步,写代码 #include <iostream> #include <cstring> #include <memory> #include <windows.h>#include <mariadb/conncpp.hpp>…

RocketMq使用简单案例

1. 在pom.xml中添加rocketmq依赖 <dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-spring-boot-starter</artifactId><version>2.2.3</version> </dependency> 注意&#xff1a;rocketmq的版本需要…

开源VisualFbeditor中文版,vb7 IDE,VB6升级64位跨平台开发安卓APP,Linux程序

吴涛老矣&#xff0c;社区苦无64位易语言&#xff0c;用注入DLL增强菜单&#xff0c;做成VS一样的界面 终归是治标不治本&#xff0c;一来会报毒&#xff0c;二来闭源20年没更新了 开源的VB7&#xff0c;欢迎易语言的铁粉进群&#xff1a;1032313876 【Freebasic编程语言】编绎…

预告|博睿数据将受邀出席GOPS全球运维大会北京站!

GOPS全球运维大会作为国内外运维领域最具影响力的技术盛会之一&#xff0c;旨在汇聚全球运维精英&#xff0c;分享运维领域的前沿技术、实践经验与创新理念。6月28日&#xff0c;博睿数据&#xff08;bonree.com&#xff0c;股票代码688229&#xff09;将受邀出席第二十三届 GO…

React 18

创建 React 18 脚手架项目 全局安装 create-react-app npm install -g create-react-app yarn global add create-react-app . 确认是否已安装 create-react-app npm list -g create-react-app yarn global list | grep create-react-app . 如果安装失败 有时&#xff0…

动作识别综合指南

本文将概述当前动作识别&#xff08;action recognition&#xff09;的方法和途径。 为了展示动作识别任务的复杂性&#xff0c;我想举这个例子&#xff1a; 你能明白我在这里做什么吗&#xff1f;我想不能。至少你不会确定答案。我正在钻孔。 你能弄清楚我接下来要做什么吗&…