gitlab推送企业微信机器人项目代码
一、gitlab推送企业微信机器人项目代码
# coding=utf-8
"""@Project :pachong-master@File :gitlab_wechat.py@Author :gaojs@Date :2022/8/10 21:56@Blogs : https://www.gaojs.com.cn
"""
from flask import Flask, request, json
import argparse
import requestsapp = Flask(__name__)@app.route('/webhook', methods=['POST'])
def webhook():# 请求参数params = request.json# 用户名user_name = params['user_name']# 提交类型object_kind = params['object_kind']# 总commits数total_commits_count = str(params['total_commits_count'])# 项目名称repository_name = params['repository']['name']# 分支ref = params['ref']# 发送内容content = user_name + ' ' + object_kind + ' 了 ' + total_commits_count + ' 个commits到 ' + repository_name + ' 仓库的 ' + ref + ' 分支 ;\n'# 引用形式列出提交的idfor object in params['commits']:content = content + 'commitid是 [' + object['id'][0:8] + ']' + '(' + object['url'] + ')' + ' : ' + object['title'] + '\n'body = {"msgtype": "markdown","markdown": {"content": content}}requests.request('POST', url, headers={'Content-Type': 'application/json'}, json=body)return 'OK'if __name__ == '__main__':# 获取ArgumentParser对象parser = argparse.ArgumentParser()# 添加参数parser.add_argument('--wechatUrl', type=str)# args是一个命名空间url = args = parser.parse_args().wechatUrlif url is not None:# 可以接收webhook的地址和端口,可以指定GitLab地址 自定义端口app.run('0.0.0.0', 8007)print("启动参数 --wechatUrl 为空, 程序退出")
二、使用教程
1.在gitlab服务器上执行脚本:
python3 gitlab_wechat.py --wechatUrl https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=2ae8c2ac-fb29-4160-a26f-a44494c63099
2.gitlab配置
gitlab上配置webhook格式如下:
webhook: http://{服务器地址}/webhook
3.提交代码—触发
gitlab推送企业微信机器人项目代码相关推荐
- ABAP推送企业微信机器人6-模版卡片类型<转载>
原文链接:https://blog.51cto.com/u_15291229/4905465 效果展示 Demo Code * PARAMETERS:P_FILE TYPE STRING.DATA:L ...
- ABAP推送企业微信机器人1-文本类型
参数说明 参数 是否必填 说明 msgtype 是 消息类型,此时固定为text content 是 文本内容,最长不超过2048个字节,必须是utf8编码 mentioned_list 是 user ...
- python推送企业微信机器人3-图片类型
参数说明 参数 是否必填 说明 msgtype 是 消息类型,此时固定为image base64 是 图片内容的base64编码 md5 是 图片内容(base64编码前)的md5值 效果展示 Dem ...
- python推送企业微信机器人2-markdown类型
参数说明 参数 是否必填 说明 msgtype 是 消息类型,此时固定为markdown content 是 markdown内容,最长不超过4096个字节,必须是utf8编码 效果展示 Demo C ...
- ABAP推送企业微信机器人1-文本类型<转载>
原文链接:https://blog.csdn.net/huanglin6/article/details/120651756 参数说明 参数 是否必填 说明 msgtype 是 消息类型,此时固定为t ...
- ABAP推送企业微信机器人2-markdown类型<转载>
原文链接:https://blog.csdn.net/huanglin6/article/details/120652147 参数说明 参数 是否必填 说明 msgtype 是 消息类型,此时固定为m ...
- SAP-ABAP-企业微信:ZCSM37-后台JOB异常检查主动推送企业微信群
场景:异常JOB主动推送企业微信群 (企业微信机器人可百度创建,注意群不能有企业外的人员,否则接口无效) 报错提示场景:(报错图片如下) 1.JOB异常导致任务消失 2.通JOB多个任务同时执行 3. ...
- SAP 接口主动推送企业微信异常消息
"推送企业微信格式lv_json = '{ "msgtype": "markdown", "markdown": ' && ...
- 企业微信api接口调用-触发推送企业微信微信好友
企业微信SDK接口API调用-触发推送企业微信微信好友 /*** 触发企业微信推送微信好友列表* @author wechat:happybabby110* @blog http://www.wlka ...
最新文章
- 中式古建筑su模型大全
- hibernate中hibernate.hbm2ddl.auto配置讲解
- c与python的区别-C++/C/JAVA/Python之间的区别?
- x10i升级android4.0,智再升级 Xperia X10i升Android 2.3
- 牛客小白月赛12 F	华华开始学信息学 (分块+树状数组)
- 一个几何级数的无限和思考
- 【报告分享】新世代、新圈层:2020垂直圈层营销报告(附下载链接)
- html按钮按下效果_html提交按钮标签代码是什么,怎么使用?(示例)
- 协议栈处理中的conntrack HASH查找/Bloom过滤/CACHE查找/大包与小包/分层处理风格
- 字符串常量池、堆、栈
- html表白树代码程序怎么调,抖音表白弹窗vbs代码怎么制作 表白树特效程序代码教程详细介绍...
- 人工智能动物识别系统C语言代码,人工智能作业动物识别系统.doc
- 飞控计算机的作用,自动飞控计算机测试系统
- 精细化运营:RFM模型在手游付费用户分群中的优化与应用
- 如何使用if嵌套结构;实现用户输入个人的身高和体重,计算出国际肥胖指标BMI值,并判断输出您属于 哪种体型
- 百度apistore第三方登陆使用说明
- qt: exec()的用法,accept()和accepted的概念
- 智伴机器人tf卡下载地址_入门操作详解教你如何玩转智伴1X机器人!
- 苹果展开新显示器带动高阶需求:Mini LED背光技术
- 0x80070002(0x80070002错误代码怎么解决)
热门文章
- JAVA的while循环语句和break与continue的使用
- 微信解封快手链接;AWS 证实宕机;微软内部疑禁用 Slack | 极客头条
- 小米刷 android o,一代神机!五年前的小米2刷入Android 8.0原生系统
- 编程基本功训练:流程图画法及练习
- 南阳市新野县计算机技术学校,新野县中等职业学校学校概况
- 仿qq音乐官网部分静态页面
- 【错误处理】Azkaban安装失败 installation Failed.Error chunking
- 简述弹性盒子flex布局及rem布局
- 营收毛利净利均双位数增长,亚信科技掌握了什么秘诀?
- telnet远程管理的命令