GitLab代码库提交量统计工具

本文介绍了如何使用GitLabAPI获取公司项目的提交记录,包括指定分支和时间段内的提交统计,以及计算每个用户的新增、删除和总提交数量。通过私有令牌访问API并利用Hutool库进行数据处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.说明

统计公司所有项目的提交情况,可指定分支和时间段,返回每个人的提交新增数、删除数和总数。

2.API

文档地址:http://公司gitlab域名/help/api/README.md

在这里插入图片描述

  • 项目列表查询
    在这里插入图片描述
    返回示例:
[
    {
   
   
        "id": 1, //项目ID
        "http_url_to_repo": "http://git.xxx.com/a/saas-project-1.git",
        "web_url": "http://git.xxx.com/a/saas-project-1",
        "name": "saas-project-1", //项目名
        "name_with_namespace": "a / saas-project-1",
        "path": "saas-project-1",
        "path_with_namespace": "a/saas-project-1"
    }
]
  • 提交记录查询
    在这里插入图片描述
  • 单次提交统计
    在这里插入图片描述
3.PRIVATE-TOKEN

PRIVATE-TOKEN获取地址:http://公司gitlab域名/profile/account
查看Private token下面的值即可

在这里插入图片描述

4.代码
package com.visy.utils;

import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.tuple.Triple;

import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.Function;
import java.util.function.Supplier;
import java.util.stream.Collectors;

/**
 * @author visy.wang
 */
public class GitStatsUtil {
   
   
    private static final String PRIVATE_TOKEN = "你自己的Private token";
    private static final String BASE_URL = "http://公司gitlab域名/api/v4";

    private static <T> T doGet(String url, Function<String,T> respHandler, Supplier<T> defaultResp){
   
   
        HttpRequest request = HttpUtil.createGet(BASE_URL + url);
        request.header("PRIVATE-TOKEN", PRIVATE_TOKEN);
        HttpResponse response = request.execute();
        if(response.getStatus() == 200){
   
   
            return respHandler.apply(response.body());
        }else{
   
   
            return defaultResp.get();
        }
    }


    private static List<Map<String,Object>
### Cursor 和 VSCode 的功能对比 #### 功能特性 VSCode 提供了丰富的插件市场,允许开发者安装各种扩展来增强编辑器的功能[^1]。相比之下,Cursor 更专注于写作体验优化,内置了一些特定于Markdown和文本创作的功能。 对于代码调试支持方面,VSCode 集成了强大的调试工具,能够设置断点、查看状态以及执行逐步调试操作;而Cursor 主要面向作家群体,在这方面的能力较为有限[^2]。 在版本控制系统集成上,VSCode 可以很好地与Git等主流VCS协同工作,提供图形化的提交历史浏览界面;Cursor 则更侧重于文档管理和协作编写环境下的变更追踪机制[^3]。 #### 用户体验 就启动速度而言,由于VSCode拥有较大的体积并加载众多默认启用的组件和服务,初次打开项目时可能会稍慢一些;相反地,轻级设计使得Cursor能够在瞬间完成初始化过程[^4]。 关于界面美观度和个人化定制选项,两者都提供了主题更换能力,不过VSCode还额外具备修改字体大小/颜色方案等功能,给予使用者更大的自由度去调整视觉效果[^5]。 当涉及到跨平台兼容性和多设备同步服务的时候,尽管两个应用程序都能运行于Windows、macOS及Linux操作系统之上,但是只有VSCode官方推出了Web版,方便随时随地访问云端开发空间[^6]。 ```json { "features": { "extensionsMarketplace": ["VSCode"], "debuggingSupport": ["VSCode", "limited in Cursor"], "versionControlIntegration": ["both but stronger in VSCode"] }, "userExperience": { "startupSpeed": ["faster in Cursor"], "interfaceCustomization": ["more options available in VSCode"], "crossPlatformSyncService": ["only provided by VSCode Web version"] } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值