# 特殊声明

tloc系列接口数据来源于离线计算,无法保证与其它接口同等的实时性、可用性,请业务侧使用时提前做好降级适配。

# 项目内代码行统计

如果使用 project_full_path,确保 project_full_path 编码过,例子:/api/v3/projects/tencent/code--> /api/v3/projects/tencent%2Fcode (/ 编码 %2F)

注意:

  1. 一次 commit 如果含有多种语言的文件,那么这个 commit 就有会多条数据 (一种语言一条)
  2. 传入参数commit_limit表示一种语言在一个 commit 内超过 N 行就会过滤,默认是 3000 行
  3. is_merge表示 commit 点的合并状态,有以下几种情况:
  • 0: 普通 commit(未识别到合并)
  • 1: 忽略 commit
  • 2: 页面上 MR 合并生成的 commit
  • 3: 页面上 Squash Merge 生成的 commit
  • 4: 页面上 Rebase Merge 生成的 commit
  • 5: 页面上 Cherry Pick 生成的 commit
  • 6: 页面上 Revert 生成的 commit
  • 你可以通过传入参数apply_ignore_rules来表示是否要过滤,默认是 true,合并点都会过滤

返回值说明:

  1. source_add: 源码的新增行数
  2. source_mod: 源码的修改行数
  3. source_del: 源码的删除行数
  4. comment_add: 注释的新增行数
  5. comment_mod: 注释的修改行数
  6. comment_del: 注释的删除行数
  7. blank_add: 空白行的新增行数
  8. blank_mod: 空白行的修改行数
  9. blank_del: 空白行的删除行数
  10. total_add: 总新增行数
  11. total_mod: 总修改行数
  12. total_del: 总删除行数
  13. total_work: 工作量,即总共的新增行数 + 修改行数

# 按天查询提交次数、提交用户数

查询项目的提交次数、提交用户数,默认统计全部分支的统计情况。 参数 timezone 决定了统计的时区,如想要返回结果与你的 Windows 时间一致timezone 的值输入 8

GET /api/v3/projects/:id/tloc/daily/count

参数:

参数 类型 描述
id integer 或 string 项目 ID 或 项目全路径 project_full_path
begin_date yyyy-MM-dd'T'HH:mm:ssZ 开始时间;例如 2019-03-25T00:10:19+0000 或 2019-03-25T00:10:19+0800,时间参数必须转码,如“2019-03-25T00:10:19%2B0800”
end_date yyyy-MM-dd'T'HH:mm:ssZ 结束时间:例如 2019-03-26T00:10:19+0000 或 2019-03-26T00:10:19+0800,时间参数必须转码,如“2019-03-26T00:10:19%2B0800”
branch_name string(可选) 指定分支名 (默认全部分支)
tag_name string(可选) 指定 Tag 名 (branch_name 为空时生效,默认全部 Tag)
timezone integer(可选) 指定你的当前时区,默认是 0 时区,范围 (-11,11)
commit_limit integer(可选) 源码单种语言变更 (增/删/改) 限制行数,默认是 3000 行,0 行表示不过滤
apply_ignore_rules boolean(可选) 是否使用合并点过滤规则 (默认为 true,将过滤合并点)

返回值:

[
    {
        "day": "2019-03-25",
        "commit_user_count": 2,
        "commit_count": 5
    },
    {
        "day": "2019-03-26",
        "commit_user_count": 1,
        "commit_count": 3
    }
]
    

# 按天查询提交代码行增量

查询项目的提交代码行增量情况。 参数 timezone 决定了统计的时区,如想要返回结果与你的 Windows 时间一致timezone 的值输入 8

GET /api/v3/projects/:id/tloc/daily/diff

参数:

参数 类型 描述
id integer 或 string 项目 ID 或 项目全路径 project_full_path
begin_date yyyy-MM-dd'T'HH:mm:ssZ 开始时间;例如 2019-03-25T00:10:19+0000 或 2019-03-25T00:10:19+0800,时间参数必须转码,如“2019-03-25T00:10:19%2B0800”
end_date yyyy-MM-dd'T'HH:mm:ssZ 结束时间:例如 2019-03-26T00:10:19+0000 或 2019-03-26T00:10:19+0800,时间参数必须转码,如“2019-03-26T00:10:19%2B0800”
branch_name string(可选) 指定分支名 (默认全部分支)
tag_name string(可选) 指定 Tag 名 (branch_name 为空时生效,默认全部 Tag)
timezone integer(可选) 指定你的当前时区,默认是 0 时区,范围 (-11,11)
commit_limit integer(可选) 源码单种语言变更 (增/删/改) 限制行数,默认是 3000 行,0 行表示不过滤
apply_ignore_rules boolean(可选) 是否使用合并点过滤规则 (默认为 true,将过滤合并点)

返回值:

[
    {
        "day": "2019-03-25",
        "total_work": 7,    //work=add+mod
        "total_add": 6,
        "total_mod": 1,
        "total_del": 1,
        "source_add": 6,
        "source_mod": 0,
        "source_del": 0,
        "comment_add": 0,
        "comment_mod": 1,
        "comment_del": 1,
        "blank_add": 0,
        "blank_mod": 0,
        "blank_del": 0
    },
    {
        "day": "2019-03-26",
        "total_work": 13,
        "total_add": 12,
        "total_mod": 1,
        "total_del": 1,
        "source_add": 6,
        "source_mod": 0,
        "source_del": 0,
        "comment_add": 0,
        "comment_mod": 1,
        "comment_del": 1,
        "blank_add": 6,
        "blank_mod": 0,
        "blank_del": 0
    }
]

# 查询各用户提交增量

查询各用户提交代码行增量情况。

GET /api/v3/projects/:id/tloc/user/diff

参数:

参数 类型 描述
id integer 或 string 项目 ID 或 项目全路径 project_full_path
begin_date yyyy-MM-dd'T'HH:mm:ssZ 开始时间;例如 2019-03-25T00:10:19+0000 或 2019-03-25T00:10:19+0800,时间参数必须转码,如“2019-03-25T00:10:19%2B0800”
end_date yyyy-MM-dd'T'HH:mm:ssZ 结束时间:例如 2019-03-26T00:10:19+0000 或 2019-03-26T00:10:19+0800,时间参数必须转码,如“2019-03-26T00:10:19%2B0800”
branch_name string(可选) 指定分支名 (默认全部分支)
tag_name string(可选) 指定 Tag 名 (branch_name 为空时生效,默认全部 Tag)
commit_limit integer(可选) 源码单种语言变更 (增/删/改) 限制行数,默认是 3000 行,0 行表示不过滤
apply_ignore_rules boolean(可选) 是否使用合并点过滤规则 (默认为 true,将过滤合并点)

返回值:

[
    {
        "username": "git-user1",
        "total_work": 32,    //work=add+mod
        "total_add": 32,
        "total_mod": 0,
        "total_del": 0,
        "source_add": 20,
        "source_mod": 0,
        "source_del": 0,
        "comment_add": 5,
        "comment_mod": 0,
        "comment_del": 0,
        "blank_add": 7,
        "blank_mod": 0,
        "blank_del": 0,
        "commit_count": 3,
        "commit_file_count": 3
    },
    {
        "username": "git-user2",
        "total_work": 16,
        "total_add": 14,
        "total_mod": 2,
        "total_del": 0,
        "source_add": 11,
        "source_mod": 2,
        "source_del": 0,
        "comment_add": 0,
        "comment_mod": 0,
        "comment_del": 0,
        "blank_add": 3,
        "blank_mod": 0,
        "blank_del": 0,
        "commit_count": 2,
        "commit_file_count": 2
    }
]

# 查询各语言提交增量

查询不同语言提交的增量情况。

GET /api/v3/projects/:id/tloc/lang/diff

参数:

参数 类型 描述
id integer 或 string 项目 ID 或 项目全路径 project_full_path
begin_date yyyy-MM-dd'T'HH:mm:ssZ 开始时间;例如 2019-03-25T00:10:19+0000 或 2019-03-25T00:10:19+0800,时间参数必须转码,如“2019-03-25T00:10:19%2B0800”
end_date yyyy-MM-dd'T'HH:mm:ssZ 结束时间:例如 2019-03-26T00:10:19+0000 或 2019-03-26T00:10:19+0800,时间参数必须转码,如“2019-03-26T00:10:19%2B0800”
branch_name string(可选) 指定分支名 (默认全部分支)
tag_name string(可选) 指定 Tag 名 (branch_name 为空时生效,默认全部 Tag)
commit_limit integer(可选) 单次 commit 中源码单种语言变更 (增/删/改) 限制行数,默认是 3000 行,0 行表示不过滤
apply_ignore_rules boolean(可选) 是否使用合并点过滤规则 (默认为 true,将过滤合并点)

返回值:

[
    {
        "lang": "PHP",
        "total_work": 15,    //work=add+mod
        "total_add": 14,
        "total_mod": 1,
        "total_del": 0,
        "source_add": 12,
        "source_mod": 1,
        "source_del": 0,
        "comment_add": 0,
        "comment_mod": 0,
        "comment_del": 0,
        "blank_add": 2,
        "blank_mod": 0,
        "blank_del": 0,
        "commit_file_count": 2
    },
    {
        "lang": "C++",
        "total_work": 16,
        "total_add": 16,
        "total_mod": 0,
        "total_del": 0,
        "source_add": 9,
        "source_mod": 0,
        "source_del": 0,
        "comment_add": 0,
        "comment_mod": 0,
        "comment_del": 0,
        "blank_add": 7,
        "blank_mod": 0,
        "blank_del": 0,
        "commit_file_count": 1
    }
]

# 查询指定 Commit 点的提交增量

查询指定 Commit 点下不同语言提交的增量情况。

GET /api/v3/projects/:id/tloc/commit/diff

参数:

参数 类型 描述
id integer 或 string 项目 ID 或 项目全路径 project_full_path
sha string commit hash 值,必须是完整的 SHA1,如:b1b9d46f1f6c55e8d157e41538b60bf7482ed436
branch_name string(可选) 指定分支名 (默认全部分支)
tag_name string(可选) 指定 Tag 名 (branch_name 为空时生效,默认全部 Tag)
commit_limit integer(可选) 单次 commit 中源码单种语言变更 (增/删/改) 限制行数,默认是 0 行,表示不过滤
apply_ignore_rules boolean(可选) 是否使用合并点过滤规则 (默认为 true,将过滤合并点)
with_fork boolean(可选) 是否包含 fork 项目的提交点 (默认为 false,不包含)

返回值:

[
    {
        "lang": "PHP",
        "total_work": 15,    //work=add+mod
        "total_add": 14,
        "total_mod": 1,
        "total_del": 0,
        "source_add": 12,
        "source_mod": 1,
        "source_del": 0,
        "comment_add": 0,
        "comment_mod": 0,
        "comment_del": 0,
        "blank_add": 2,
        "blank_mod": 0,
        "blank_del": 0,
        "commit_file_count": 2
    },
    {
        "lang": "C++",
        "total_work": 16,
        "total_add": 16,
        "total_mod": 0,
        "total_del": 0,
        "source_add": 9,
        "source_mod": 0,
        "source_del": 0,
        "comment_add": 0,
        "comment_mod": 0,
        "comment_del": 0,
        "blank_add": 7,
        "blank_mod": 0,
        "blank_del": 0,
        "commit_file_count": 1
    }
]

# 查询文件的提交情况(滚动分页)

根据条件查询某个项目文件的提交情况,使用scroll_object_id参数进行滚动分页,即把返回结果的scroll_object_id作为参数传递到下一次请求中以拿到下一页的内容

注意:每个滚动srcoll_object_id有效值是 1 分钟,如果 1 分钟不使用它,进行下一个分页的查询,即失效,需要再次从头查起

GET /api/v3/projects/:id/tloc/file/diffs

参数:

参数 类型 描述
id integer 或 string 项目 ID 或 项目全路径 project_full_path
begin_date yyyy-MM-dd'T'HH:mm:ssZ 开始时间;例如 2019-03-25T00:10:19+0000 或 2019-03-25T00:10:19+0800,时间参数必须转码,如“2019-03-25T00:10:19%2B0800”
end_date yyyy-MM-dd'T'HH:mm:ssZ 结束时间:例如 2019-03-26T00:10:19+0000 或 2019-03-26T00:10:19+0800,时间参数必须转码,如“2019-03-26T00:10:19%2B0800”
sha string(可选) commit hash 值,必须是完整的 SHA1,如:b1b9d46f1f6c55e8d157e41538b60bf7482ed436
branch_name string(可选) 指定分支名 (默认全部分支)
tag_name string(可选) 指定 Tag 名 (branch_name 为空时生效,默认全部 Tag)
lang string(可选) 指定语言 (默认全部语言) 参数示例:C++、C、Java、PHP、JavaScript、Python、Go、Markdown
commit_limit integer(可选) 源码单种语言变更 (增/删/改) 限制行数,默认是 1000 行,0 行表示不过滤
apply_ignore_rules boolean(可选) 是否使用合并点过滤规则 (默认为 true,将过滤合并点)
author string(可选) 指定用户名 (默认全部用户)
white_paths string(可选) 指定白名单路径 (以英文的逗号隔开,默认全部路径)
black_paths string(可选) 指定黑名单路径 (以英文的逗号隔开,默认无黑名单路径)
scroll_object_id string(可选) 滚动分页标识 (默认第一页)
per_page int(可选) 指定页码大小 (默认 5000)

返回值:

{
    "start": 0,              // 起始 index
    "pages": 171,            // 总页数
    "page_size": 100,        // 每页大小
    "page_num": 1,           // 页码
    "total": 17023,          // 总元素数
    // 滚动分页标识,1 分钟内,用于下一次查询参数,可快速获取下一页内容
    "scroll_object_id": "DnF1ZXJ5VGhlbkZldGNoCgAAAAA7TjDpFmRZdFltRllVUWdxX3NmeVpQZ3VQN3cAAAAAPDtHkxZaTFBYZmc1bVNCU24zOUJ3b2J0alFBAAAAADtlr1oWRW1GSFBvbXFRY3lQUHBtRTV3TjAwQQAAAAA9QNqVFlRzcFVMdnlYU1V5NFRqQUxGUDMzZkEAAAAAPUDalhZUc3BVTHZ5WFNVeTRUakFMRlAzM2ZBAAAAADztrCMWRGlTT01VOTlRbldSSVhGcnc2QnE1UQAAAAA7PnqUFkVvN0FpZFBtUjhHSHowUXpEQmFpb1EAAAAAPRj8ExZtTVk1Rm01ZFN2S3BGbXdUWFl1R2lnAAAAADt33UoWRTdqVFVCUV9RWnVxTUNlNnBBc1I0ZwAAAAA-terMFnJBMTZ6dEZFUmlPZVlmY2g5Z1ltS0E=",
    "data": [
        {
            "lang": "Java",
            "commit": "e98e306e5891af36b23b5075e49918e06024d230",
            "time": "1601001396000",
            "source_add": 1,
            "source_mod": 1,
            "source_del": 0,
            "comment_add": 0,
            "comment_mod": 0,
            "comment_del": 0,
            "blank_add": 0,
            "blank_mod": 0,
            "blank_del": 2,
            "total_add": 1,
            "total_mod": 1,
            "total_del": 2,
            "total_work": 2,
            "path": "/scr/main/FileconfigConfig.java",
            "username": "lekkoli",
            "is_merge": 0
        }, {
            "lang": "Java",
            "commit": "e98e306e5891af36b23b5075e49918e06024d230",
            "time": "1601001396000",
            "source_add": 1,
            "source_mod": 3,
            "source_del": 0,
            "comment_add": 0,
            "comment_mod": 0,
            "comment_del": 0,
            "blank_add": 0,
            "blank_mod": 0,
            "blank_del": 2,
            "total_add": 1,
            "total_mod": 3,
            "total_del": 2,
            "total_work": 4,
            "path": "/src/main/ProjectServiceImpl.java",
            "username": "lekkoli",
            "is_merge": 0
        }
    ]
}

# 查询指定文件名的完整文件路径

查询包含指定文件名的所有完整文件路径。

GET /api/v3/projects/:id/tloc/file/paths

参数:

参数 类型 描述
id integer 或 string 项目 ID 或 项目全路径 project_full_path
file_name string 要搜索的文件名
begin_date yyyy-MM-dd'T'HH:mm:ssZ 开始时间;例如 2019-03-25T00:10:19+0000 或 2019-03-25T00:10:19+0800,时间参数必须转码,如“2019-03-25T00:10:19%2B0800”
end_date yyyy-MM-dd'T'HH:mm:ssZ 结束时间:例如 2019-03-26T00:10:19+0000 或 2019-03-26T00:10:19+0800,时间参数必须转码,如“2019-03-26T00:10:19%2B0800”
branch_name string(可选) 指定分支名 (默认全部分支)
tag_name string(可选) 指定 Tag 名 (branch_name 为空时生效,默认全部 Tag)
author string(可选) 指定用户名 (默认全部用户)

返回值:

[
    {
        "commit": "78d070e1a7d6da17c59322b903531e6578487836",
        "time": 1608693620000,
        "path": "/README.md",
        "username": "user1"
    },
    {
        "commit": "a86a44c7a2897ae12d2583211370b4a83cd0cd42",
        "time": 1608609762000,
        "path": "/fullpathtest1/README.md",
        "username": "user2"
    }
]

# 查询 Commit 列表

根据条件查询某个项目 Commit 的列表

GET /api/v3/projects/:id/tloc/commit/list

参数:

参数 类型 描述
id integer 或 string 项目 ID 或 项目全路径 project_full_path
begin_date yyyy-MM-dd'T'HH:mm:ssZ 开始时间;例如 2019-03-25T00:10:19+0000 或 2019-03-25T00:10:19+0800,时间参数必须转码,如“2019-03-25T00:10:19%2B0800”
end_date yyyy-MM-dd'T'HH:mm:ssZ 结束时间:例如 2019-03-26T00:10:19+0000 或 2019-03-26T00:10:19+0800,时间参数必须转码,如“2019-03-26T00:10:19%2B0800”
author string(可选) 指定用户名 (默认全部用户)
message string(可选) 搜索提交信息
branch_name string(可选) 指定分支名 (默认全部分支)
tag_name string(可选) 指定 Tag 名 (branch_name 为空时生效,默认全部 Tag)
commit_limit integer(可选) 单次 commit 中源码单种语言变更 (增/删/改) 限制行数,默认是 1000 行,0 行表示不过滤
apply_ignore_rules boolean(可选) 是否使用合并点过滤规则 (默认为 true,将过滤合并点)
page int(可选) 指定页码 (默认第一页)
per_page int(可选) 指定页码大小 (默认 5000,最大值:5000)

返回值:

[  
    {   
        "commit": "477e05b970b7853ddb2bb939a74e01ce1e97958c",
        "message": "commit msg",
        "username": "lekko",
        "time": 1559110293000,
        "lang": "Markdown",
        "is_merge": 0,
        "total_work": 15,    //work=add+mod
        "total_add": 14,
        "total_mod": 1,
        "total_del": 0,
        "source_add": 12,
        "source_mod": 1,
        "source_del": 0,
        "comment_add": 0,
        "comment_mod": 0,
        "comment_del": 0,
        "blank_add": 2,
        "blank_mod": 0,
        "blank_del": 0,
        "commit_file_count": 2,
        "refs": [
            "refs/heads/tag_1",
            "refs/tags/tag_2",
            "refs/heads/master",
            "refs/heads/dev"
        ]
    },{
        "commit": "477e05b970b7853ddb2bb939a74e01ce1e97958c",
        "message": "commit msg2",
        "username": "lekko",
        "time": 1559110293000,
        "lang": "C++",
        "is_merge": 2,
        "total_work": 16,
        "total_add": 16,
        "total_mod": 0,
        "total_del": 0,
        "source_add": 9,
        "source_mod": 0,
        "source_del": 0,
        "comment_add": 0,
        "comment_mod": 0,
        "comment_del": 0,
        "blank_add": 7,
        "blank_mod": 0,
        "blank_del": 0,
        "commit_file_count": 1,
        "refs": []
    },
    ...
]

# 查询 Git 项目提交列表

GET /api/v3/projects/:id/tloc/commits

查询 Git 项目提交列表,支持 commit message 模糊匹配及 commitSha 列表 或 author 列表 或 时间范围精准匹配

参数:

参数 类型 描述
id integer 或 string 项目 ID 或 项目全路径 project_full_path
search string 模糊搜索提交 message
authors array of string(可选) git 提交作者列表
commits array of string(可选) git 提交 sha1 列表
branch_name string(可选) 指定分支名 (默认全部分支)
tag_name string(可选) 指定 Tag 名 (branch_name 为空时生效,默认全部 Tag)
begin_date datetime(可选) 开始时间;格式:yyyy-MM-dd'T'HH:mm:ssZ 例如 2019-03-25T00:10:19+0000 或 2019-03-25T00:10:19+0800,时间参数必须转码,如“2019-03-25T00:10:19%2B0800”
end_date datetime(可选) 结束时间;格式:yyyy-MM-dd'T'HH:mm:ssZ 例如 2019-03-26T00:10:19+0000 或 2019-03-26T00:10:19+0800,时间参数必须转码,如“2019-03-26T00:10:19%2B0800”
apply_ignore_rules boolean(可选) 是否使用合并点过滤规则 (默认为 true,将过滤合并点)
page integer(可选) 分页(默认值:1)
per_page integer(可选) 默认页面大小(默认值:20)

返回值:

[
  {
    "id": "cdb2e4d925ef7e58a623b36cc383e57380af2a6d",
    "short_id": "cdb2e4d9",
    "title": "string",
    "message": "string",
    "author_email": "string",
    "author_name": "string",
    "authored_date": "2024-07-15T09:33:11.965Z",
  }
]

# 查询指定用户代码提交增量

查询指定用户代码提交增量情况。

GET  /api/v3/projects/:id/tloc/users/:uid/diff

参数:

参数 类型 描述
id integer 或 string 项目 ID 或 项目全路径 project_full_path
uid integer uid = 用户唯一标识
begin_date yyyy-MM-dd'T'HH:mm:ssZ 开始时间;例如 2019-03-25T00:10:19+0000 或 2019-03-25T00:10:19+0800,时间参数必须转码,如“2019-03-25T00:10:19%2B0800”
end_date yyyy-MM-dd'T'HH:mm:ssZ 结束时间:例如 2019-03-26T00:10:19+0000 或 2019-03-26T00:10:19+0800,时间参数必须转码,如“2019-03-26T00:10:19%2B0800”
commit_limit integer(可选) 单次 commit 中源码单种语言变更 (增/删/改) 限制行数,默认是 3000 行,0 行表示不过滤
apply_ignore_rules boolean(可选) 是否使用合并点过滤规则 (默认为 true,将过滤合并点)

返回值:

{
        "username":"teser",
        "total_work": 32,    //work=add+mod
        "total_add": 32,
        "total_mod": 0,
        "total_del": 0,
        "source_add": 20,
        "source_mod": 0,
        "source_del": 0,
        "comment_add": 5,
        "comment_mod": 0,
        "comment_del": 0,
        "blank_add": 7,
        "blank_mod": 0,
        "blank_del": 0,
        "commit_count": 3,
        "commit_file_count": 3
}

# 查询指定用户各语言提交增量

查询指定用户不同语言提交的增量情况。

GET  /api/v3/projects/:id/tloc/users/:uid/lang

参数:

参数 类型 描述
id integer 或 string 项目 ID 或 项目全路径 project_full_path
uid integer uid = 用户唯一标识
begin_date yyyy-MM-dd'T'HH:mm:ssZ 开始时间;例如 2019-03-25T00:10:19+0000 或 2019-03-25T00:10:19+0800,时间参数必须转码,如“2019-03-25T00:10:19%2B0800”
end_date yyyy-MM-dd'T'HH:mm:ssZ 结束时间:例如 2019-03-26T00:10:19+0000 或 2019-03-26T00:10:19+0800,时间参数必须转码,如“2019-03-26T00:10:19%2B0800”
commit_limit integer(可选) 单次 commit 中源码单种语言变更 (增/删/改) 限制行数,默认是 3000 行,0 行表示不过滤
apply_ignore_rules boolean(可选) 是否使用合并点过滤规则 (默认为 true,将过滤合并点)

返回值:

[
    {
        "lang": "PHP",
        "total_work": 15,    //work=add+mod
        "total_add": 14,
        "total_mod": 1,
        "total_del": 0,
        "source_add": 12,
        "source_mod": 1,
        "source_del": 0,
        "comment_add": 0,
        "comment_mod": 0,
        "comment_del": 0,
        "blank_add": 2,
        "blank_mod": 0,
        "blank_del": 0,
        "commit_file_count": 2
    },
    {
        "lang": "C++",
        "total_work": 16,
        "total_add": 16,
        "total_mod": 0,
        "total_del": 0,
        "source_add": 9,
        "source_mod": 0,
        "source_del": 0,
        "comment_add": 0,
        "comment_mod": 0,
        "comment_del": 0,
        "blank_add": 7,
        "blank_mod": 0,
        "blank_del": 0,
        "commit_file_count": 1
    }
]
lastUpdate: 5/15/2025, 2:53:18 PM