当前位置: 首页 > news >正文

gitlab配置webhook限制提交注释

一、打开gitlab相关配置项

vim /etc/gitlab/gitlab.rb

gitlab_shell['custom_hooks_dir'] = "/etc/gitlab/custom_hooks"

二、创建相关文件夹

mkdir -p /etc/gitlab/custom_hooks

mkdir -p /etc/gitlab/custom_hooks/post-receive.d

mkdir -p /etc/gitlab/custom_hooks/pre-receive.d

mkdir -p /etc/gitlab/custom_hooks/update.d

#将相关脚本放入对应目录

#!/usr/bin/env  python3
import sys
import re
import subprocess
#import redis
refname = sys.argv[1]
oldrev  = sys.argv[2]
newrev  = sys.argv[3]
 
 
 
regex='([a-zA-Z0-9]+-\\d+)\\,\\s+.{10,}'
 
 
def check_message_format():
    cmd='git rev-list '+oldrev+'..'+newrev
    print(cmd)
    p = subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE)
    l= p.stdout.readlines()
    for rev in l:
        cmdsub="git cat-file commit "+rev.decode().strip('''\n''')+"  | sed '1,/^$/d'"
        p1 = subprocess.Popen(cmdsub,shell=True,stdout=subprocess.PIPE)
        l1 = p1.stdout.readline()
        print(l1)
        result = re.match('([a-zA-Z0-9]+-\\d+)\\,\\s+.{10,}',l1.decode())
        if result == None:
             print("your commit msg should like : TEST-123,  fix the wrong caution")
             sys.exit(1)
    sys.exit(0)
check_message_format()

三、使配置生效

gitlab-ctl reconfigure

效果:

一、提交代码格式为“jira项目问题编号, 注释信息”,例如

git commit -m "SMGJ-120, 测试提交代码"

#注释信息可以中文也可以英文,但是标红处的字符不得少于10个字符。

 

由于注释信息为6个字,所以被拦截,并且在报错中也给出样例“remote: your commit msg should like : TEST-123,  fix the wrong caution”。

二、修改注释,重新提交代码

使用git commit --amend

修改注释信息为"SMGJ-120, 测试提交代码测试提交代码"

 

三、重新推送代码

直接推送代码,完成。

 

 golang实现gitlab commit注释校验hook - 简书

相关文章:

  • 【GESP考级C++】1级样题 闰年统计
  • GaussDB(DWS)云原生数仓技术解析:湖仓一体,体验与大数据互联互通
  • 总部位于德国的拉丁美洲在线杂货配送服务商Jokr完成5000万美元D轮融资
  • 基于大语言模型的智能问答系统应该包含哪些环节?
  • IDEA的使用
  • 中间件中使用到的设计模式
  • 【MySQL入门到精通-黑马程序员】MySQL基础篇-DML
  • AGX-Orin问题汇总
  • 云原生Kubernetes:对外服务之 Ingress
  • pandas_datareader读取yahoo金融数据超时问题timeout解决方案
  • GEE土地分类——分类有影像出现空洞我们应该如何填充?(两种方法,集群填充和像素连接方法)
  • 【单片机】15-AD和DA转换
  • 运维困局下确保系统稳定的可行性
  • 美篇作文网教学资源源码-自带作文数据
  • ubuntu下源码编译方式安装opencv
  • Flink安装及简单使用
  • 排序---P1116 车厢重组
  • spring boot项目 mvn test 和 mvn clean install 和 mvn test-compile 识别不到测试类无法运行单元测试
  • Linux中生成so库的文件引用另一个so库问题的解决
  • 基于51单片机NEC协议红外遥控发送接收仿真设计( proteus仿真+程序+原理图+报告+讲解视频)
  • 调查显示特朗普在经济问题上的支持率跌至其总统生涯最低
  • 大理州工业投资(集团)有限公司党委副书记、副总经理赵云接受审查调查
  • 对话|女足国脚,离开体制“再就业”
  • 复旦大学官宣成立3个创新学院,院士赵东元、副校长周磊和姜育刚分别任院长
  • 广西壮族自治区桂林市人大常委会党组成员、副主任林武民被查