gitlab推送企业微信几种方式汇总(一)

简介: gitlab推送企业微信几种方式汇总(一)

一、flask实现gitlab推送企业微信消息

1.代码

# 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 requests
app = 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'
    # 引用形式列出提交的id
    for 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().wechatUrl
    if url is not None:
        # 可以接收webhook的地址和端口,可以指定GitLab地址 自定义端口
        app.run('0.0.0.0', 8007)
    print("启动参数 --wechatUrl 为空, 程序退出")

2.在gitlab服务器上执行脚本:

python3 gitlab_wechat.py --wechatUrl https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=2ae8c2ac-fb29-4160-a26f-a44494c63099

image.png

3.gitlab配置

gitlab上配置webhook格式如下:

webhook: http://{服务器地址}/webhook

image.png

4.提交代码—触发

image.png

二、dinglingdingling实现gitlab推送(网站偶尔会崩溃)

1.dinglingdingling首页

https://dinglingdingling.com/forwarders

image.png

2.新建消息提醒

名称:随便写
项目类型:gitlab、github等,根据自己需求
企业微信机器人地址:https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=7b8147d5-dc1b-4488-xxxxxxxxxxxx

image.png

3.创建成功

image.png

4.配置gitlab

将上述产生的 Webhook URL配置在gitlabwebhook中即可

image.png

image.png

5.提交代码,接收消息提醒

image.png

相关文章
|
2月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp微信小程序的企业人事管理系统的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的企业人事管理系统的详细设计和实现
|
Docker 容器
gitlab推送企业微信几种方式汇总(二)
gitlab推送企业微信几种方式汇总(二)
2946 1
gitlab推送企业微信几种方式汇总(二)
|
运维 机器人 Java
Springboot 整合 企业微信机器人助手推送消息
Springboot 整合 企业微信机器人助手推送消息
954 0
Springboot 整合 企业微信机器人助手推送消息
|
SQL 机器学习/深度学习 JSON
钉钉/企业微信机器人:“Github触发器”与“Issue机器人”
众所周知,在Serverless领域中,触发器是FaaS必不可少的一部分;一个FaaS平台,他的触发器数量、质量以及类型,很可能会决定这个FaaS平台是否能成为“主流”平台;因为触发器不仅仅是一种功能的体现,更是解决普遍性业务诉求的一个重要途径;目前来看,各个云厂商所提供的触发器基本上都会包括API网关触发器、对象存储触发器、时间触发器等,当然也有厂商提供一定的消息触发器、日志触发器、甚至是一些SQL相关的触发器、CDN触发器等,那么在我们的实际生产生活中,这些表面上看起来“很基础”的触发器,是否可以升级成为一个有趣的“高级触发器”呢?
547 0
|
监控 Java API
JAVA实现接入企业微信报警
JAVA实现接入企业微信报警
520 0
JAVA实现接入企业微信报警
|
API C#
C# 企业微信消息推送对接
C# 企业微信消息推送对接
805 0
C# 企业微信消息推送对接
|
存储 缓存 NoSQL
利用pytest hook函数实现自动化测试结果推送企业微信
利用pytest的hook函数:pytest_runtest_makereport、pytest_terminal_summary‍、redis,实现自动收集测试结果并发送消息通知到企业微信的原理及过程
利用pytest hook函数实现自动化测试结果推送企业微信
|
监控 小程序 Python
Zabbix5.0配置企业微信告警
如果需要用公司的企业微信来做告警信息的接收者,那么这个步骤就可以省略了。</font>** >如果是在公司,监控自定义服务,需要部分的人员都能看到,哪最好就是去找公司企业微信的创建人,因为后面会用到企业ID。
450 0
Zabbix5.0配置企业微信告警
|
Prometheus 运维 监控
三分钟实现Prometheus电话短信邮件钉钉飞书企业微信报警
Spug推送助手针对Prometheus内置好了报警模板,可以通过简单的配置就可以实现Prometheus电话、短信、邮件、钉钉、飞书、企业微信等报警。
1462 0
|
自然语言处理 安全 机器人
打通 Jira 与钉钉和企业微信不再难
Jira Automation 可以通过 Webbook 将消息推送到 钉钉 和 企业微信群里内,对于项目任务延期预警与进展同步,非常有效~
1011 0
打通 Jira 与钉钉和企业微信不再难