**1.需求:**
需求是公司大领导想要了解每月研发提交的代码量,虽然本人也认为代码量不代表质量。可是现实总是如此的无奈,用量来衡量质量如此不可取的方法只会导致更加内卷。
**2.解决思路:**
Gitstats :仓库代码统计工具之一,可以按git提交人、提交次数、修改文件数、代码行数、注释量在时间维度上进行统计,亦可按各文件类型进行简单的统计,非常方便,适合小团队代码统计分析。
当然还有其他优秀仓库代码统计工具,个人觉得不太友好的地方是需
在 GitLab 中,你可以在项目的 "Settings" 页面中找到 "Repository statistics" 选项。点击 "Repository statistics" 后,你就可以看到项目中代码的行数统计信息了。这些信息是通过执行 git blame 命令来获取的,它会跟踪每行代码的最后一次修改者。
你也可以使用 GitLab 的 API 来获取项目的代码行数统计信息。例如,你可以使用...
git的代码量大多数都是根据命令行统计,或者根据第三方插件统计。但是都不满足我的需求,因为我们代码都由gitlab管理,于是想到了通过gitlab暴露出来的接口获取数据。
第一步,生成私钥
登录你的gitlab申请私钥private_token
第二步,获取当前用户可见的所有项目(即使用户不是成员)
接口地址:gitlab的地址/api/v4/projects/?private_token=xxx
返回参数:
"id":219,
####how to run it
gunicron -w 1 -b 127.0.0.1:8891 ./server.py
说明: gitlab的hook分为web hook和system hook两种,这里只针对web hook。
gitlab向配置的web hook的url发送http消息,为了实现hook的功能就必须要实现一个简单的服务,
接收后格式化再重新处理,可以转发到其它服务或执行预设脚本
####FAQ
gitlab上的测试hook可以成功,正式适用却不行?
测试是直接发送hook请求,正式环境下使用sidekiq消息服务发送请求,
可能是sidekiq服务运行失败导致,查看sidekiq.log
git的代码量大多数都是根据命令行统计,或者根据第三方插件统计。但是都不满足我的需求,因为我们代码都由gitlab管理,于是想到了通过gitlab暴露出来的接口获取数据。
第一步,生成私钥
登录你的gitlab申请私钥private_token
第二步,获取当前用户可见的所有项目(即使用户不是成员)
接口地址:gitlab的地址/api/v4/projects/?private_token=xx...
一.需求分析与解决思路
**1.需求:**
需求是公司大领导想要了解每月研发提交的代码量,虽然本人也认为代码量不代表质量。可是现实总是如此的无奈,用量来衡量质量如此不可取的方法只会导致更加内卷。
**2.解决思路:**
Gitstats :仓库代码统计工具之一,可以按git提交人、提交次数、修改文件数、代码行数、注释量在时间维度上进行统计,亦可按各文件类型进行简单的统计,非常方便,适合小团队代码统计分析。
当然还有其他优秀仓库代码统计工具,个人觉得不太友好的地方是需要c
# 创建 GitLab 实例
gl = gitlab.Gitlab('https://gitlab.com', private_token='your_access_token')
# 获取项目列表
projects = gl.projects.list()
# 打印项目名称
for project in projects:
print(project.name)
请注意,您需要将 "your_access_token" 替换为您的 GitLab 访问令牌。此外,您还需要安装 python-gitlab 库,可以使用以下命令进行安装:
pip install python-gitlab
希望这可以帮助您开始使用 python-gitlab。如果您有任何其他问题,请随时问我。
============================================
Python项目虚拟环境(超详细讲解):https://blog.csdn.net/weixin_50296259/article/details/130738875
资源下载合集:https://blog.csdn.net/weixin_50296259/article/details/130674430
Python GUI文章合集:https://blog.csdn.net/weixin_50296259/article/details/130674350
Oracle数据库文章合集:https://blog.csdn.net/weixin_50296259/article/details/130739064