解决GraphQL查询FFmpeg标签及发布下载链接无结果问题
解决FFmpeg标签无关联Release时的GraphQL查询问题
FFmpeg的GitHub仓库里的标签属于未关联正式Release的轻量/附注标签,这类标签不会出现在releases节点中,所以你原查询通过repository.releases无法获取任何数据。
要获取这些标签对应的源码下载地址,需直接查询标签指向的Commit对象,通过Commit节点获取归档下载链接,修改后的查询语句如下:
query { repository(owner: "FFmpeg", name: "FFmpeg") { refs(refPrefix: "refs/tags/", last: 100) { nodes { name # 标签名称 target { ... on Commit { tarballUrl # 源码tar.gz格式下载地址 zipballUrl # 源码zip格式下载地址 committedDate # 标签对应的提交时间 } } } pageInfo { endCursor hasNextPage } } } }
补充说明
- 若需要获取超过100个标签,可利用
pageInfo中的endCursor,在refs参数里添加after: "你的endCursor值"实现分页查询。 - FFmpeg仓库未为标签创建带附件的Release,因此不存在
releaseAssets对应的下载链接,只能获取源码归档地址。
内容的提问来源于stack exchange,提问作者user22555810
相关产品推荐
相关产品推荐

