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 - 简书

相关推荐
测试开发技术2 天前
git rm 命令与系统的 rm 命令有什么区别?
git·gitlab·github·面试题
云和数据.ChenGuang3 天前
关闭 GitLab 升级提示的详细方法
运维·自动化·gitlab·es运维
读创商闻3 天前
极狐GitLab CEO 柳钢——极狐 GitLab 打造中国企业专属 AI 编程平台,引领编程新潮流
人工智能·gitlab
小川zs3 天前
gitee某个分支合并到gitlab目标分支
gitee·gitlab
你的人类朋友4 天前
✨【GitLab】【CI/CD】核心概念一览
gitlab·自动化运维·devops
Gold Steps.4 天前
基于 Gitlab、Jenkins与Jenkins分布式、SonarQube 、Nexus 的 CiCd 全流程打造
运维·ci/cd·gitlab·jenkins
咚咚?4 天前
基于gitlab 构建CICD发布到K8S 平台
容器·kubernetes·gitlab
荔枝吻8 天前
【保姆级喂饭教程】GitLab创建用户规范,分支开发规范,提交日志规范
gitlab·git规范·分支规范
云畅新视界8 天前
从 CODING 停服到极狐 GitLab “接棒”,软件研发工具市场风云再起
人工智能·gitlab