一种方法是请求所有引用
我有很多存储库,其中一些存储库包含一个同名的分支。我希望能够获取所有包含特定分支名称的存储库。这就是我目前所掌握的内容,但我似乎不知道如何添加必要的查询。
{
repositoryOwner(login: "dev") {
repositories(first: 1) {
nodes {
name
refs(first: 15, refPrefix: "refs/heads/") {
edges {
node {
name
}
}
}
}
}
}
}
如有任何帮助,我们将不胜感激。
qualifiedName
为<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个转发,你将不得不进行分页
如果您需要在单个repo(或其中一个(中找到分支名称的组合,也可以使用别名。例如,查找分支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
}
}
}
}
}
}
在浏览器中尝试