一种方法是请求所有具有qualifiedName
as的 ref 的存储库<branch_name>
。然后在您的客户端删除所有空结果:
{
repositoryOwner(login: "JakeWharton") {
repositories(first: 100) {
nodes {
ref(qualifiedName: "gh-pages") {
repository {
name
description
}
}
}
}
}
}
在资源管理器中尝试
使用curl & jq排除null
结果:
curl -s -H "Authorization: token YOUR_TOKEN" \
-d '{
"query": "{ repositoryOwner(login: \"JakeWharton\") { repositories(first: 100) { nodes { ref(qualifiedName: \"gh-pages\") { repository { name } } } } } }"
}' https://api.github.com/graphql | \
jq -r '.data.repositoryOwner.repositories.nodes[] | select(.ref != null) | .ref.repository.name'
如果有超过 100 个 repos,你将不得不进行分页
如果您需要在单个存储库(或其中一个)中查找分支名称的组合,您还可以使用别名。例如寻找分支gh-pages
& 1.0
:
{
repositoryOwner(login: "JakeWharton") {
repositories(first: 100) {
nodes {
branch1: ref(qualifiedName: "1.0") {
repository {
name
description
}
}
branch2: ref(qualifiedName: "gh-pages") {
repository {
name
description
}
}
}
}
}
}
在资源管理器中尝试