You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitLab CI调用API生成CHANGELOG显示“No changes”问题求助

排查GitLab CHANGELOG API返回“No changes”的可能原因
  • 版本标签格式不统一
    你的请求中from参数是带v前缀的v2.4.0,但to参数是不带前缀的2.5.0。GitLab的标签是严格区分格式的,如果仓库中实际的2.5.0版本标签是v2.5.0,API会找不到对应的to标签,导致对比区间为空。建议统一标签格式,修改请求如下:

    curl --header "Authorization: Bearer *****" --data "version=2.5.0&from=v2.4.0&to=v2.5.0" "https://git.ru/api/v4/projects/22/repository/changelog"
    
  • 提交不符合CHANGELOG筛选规则
    GitLab CHANGELOG API默认只抓取符合Conventional Commits规范的提交(比如带有feat:、fix:、chore:等前缀的提交信息)。如果v2.4.0到v2.5.0区间内的所有提交都没有这类前缀,API就会返回“No changes”。
    可以尝试添加all=true参数强制包含所有提交(需确认GitLab版本支持该参数),请求示例:

    curl --header "Authorization: Bearer *****" --data "version=2.5.0&from=v2.4.0&to=v2.5.0&all=true" "https://git.ru/api/v4/projects/22/repository/changelog"
    

    同时可以手动检查这段区间的提交历史,确认是否有符合规范的变更提交。

  • 权限或项目ID错误
    虽然请求成功返回内容,但仍需确认:

    • Bearer令牌是否拥有目标项目的read_repository权限,缺少权限可能导致API无法读取完整提交历史;
    • 项目ID22是否正确,以及GitLab实例地址https://git.ru是否指向目标仓库,避免请求到错误项目导致无变更可展示。
  • GitLab版本兼容性问题
    旧版本的GitLab对CHANGELOG API的参数支持可能存在限制,比如all这类参数是在特定版本才引入的。可以查看你的GitLab实例版本,确认使用的参数是否兼容当前版本。

内容的提问来源于stack exchange,提问作者HavyZail

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 04:10:38