Github标记和发布资产URL列表
我正在努力使用github graphql接口来获取所需的数据。我想获得标记和发布的资产URL列表。似乎有些回购协议产生了我想要的结果,而另一些则什么也没有产生Github标记和发布资产URL列表,github,graphql,github-api,github-graphql,Github,Graphql,Github Api,Github Graphql,我正在努力使用github graphql接口来获取所需的数据。我想获得标记和发布的资产URL列表。似乎有些回购协议产生了我想要的结果,而另一些则什么也没有产生 query { repository(owner:"erlang",name:"otp") { releases(last:100) { edges { node { url releaseAssets(last:100) { edge
query {
repository(owner:"erlang",name:"otp") {
releases(last:100) {
edges {
node {
url
releaseAssets(last:100) {
edges {
node {
downloadUrl
}
}
}
tag {
name
target {
... on Commit {
zipballUrl
tarballUrl
}
}
}
}
}
}
tags:refs(refPrefix:"refs/tags/", last:30) {
edges {
tag:node {
name
target {
sha:oid
commitResourcePath
... on Commit {
zipballUrl
tarballUrl
author {
name
email
date
}
}
}
}
}
}
}
}
该查询按原样生成我想要的结果(或者至少是其中的一些),而所有者:“spring项目”,名称:“spring框架”生成的标记没有tarball。当我看spring框架回购时,它显然有用于发布的资产
为什么它们没有显示在此查询中?当我查看git时,每个版本和标记都有资产,即使在我的查询中,结果也不确定。我遗漏了什么?目标是一个,在这种情况下,它可以指向一个或一个对象。当它指向一个提交
时,您的查询将返回预期结果,因为提交时的…不为空。要获得标记
,只需尝试使用…on Tag
并根据需要提取标记器或其指向的提交。以下是一个例子:
{
存储库(所有者:“spring项目”,名称:“spring框架”){
新闻稿(最后:100){
边缘{
节点{
网址
释放资产(最后:100){
边缘{
节点{
下载网址
}
}
}
标签{
…重新提供信息
}
}
}
}
标记:参考(参考前缀:“参考/标记/”,最后:30){
边缘{
节点{
…重新提供信息
}
}
}
}
}
Ref上的片段refInfo{
名称
目标{
沙:好的
提交源路径
__字体名
…在标签上{
目标{
…提交{
…委员会
}
}
标记器{
名称
电子邮件
日期
}
}
…提交{
…委员会
}
}
}
提交时的片段committenfo{
Zipballul
tarballUrl
作者{
名称
电子邮件
日期
}
}
注意,在上面的示例中,我使用了减少查询大小和提高可读性
我的猜测是,如果ref指向一个标记
对象,该对象可以保存消息、特定的标记日期和标记信息。如果它指向一个Commit
对象,它就是一个链接到Commit的对象,这正是我需要的!感谢您花时间创建这一信息丰富的回复。圣诞快乐。