我不知道是否很难对这个问题进行有用的搜索,或者是否没有解决方案,但我一直在尝试弄清楚如何使用 GitHub GraphQL API 来获取与给定提交关联的所有标签。
我是 GraphQL 和 GitHub API 的新手,所以我只是使用GitHub 的资源管理器来尝试找到执行此操作的机制。
这是我尝试过的,其中有一个带有 hashbfa0635104bc9a559254b5007646942ff269ae11
和 message的提交1.0.0
,标记为v1.0.0
. 鉴于提交哈希,我正在尝试获取该标签。
{
repository(owner: "bscotch", name: "stitch") {
createdAt
description
name
object(expression: "bfa0635104bc9a559254b5007646942ff269ae11") {
... on Commit {
message
oid
}
... on Tag {
tagId: id
target {
oid
}
}
}
ref(qualifiedName: "bfa0635104bc9a559254b5007646942ff269ae11") {
name
}
refs(first: 10, refPrefix: "refs/tags/", orderBy: {field: TAG_COMMIT_DATE, direction: DESC}, query: "bfa0635104bc9a559254b5007646942ff269ae11") {
nodes {
name
}
}
}
}
上面的输出只返回... on Commit
内容的数据。其他一切都完全不存在:
{
"data": {
"repository": {
"createdAt": "2020-09-18T18:47:33Z",
"description": "A Gamemaker Studio 2 Pipeline Development Kit. A CLI and Node.JS API for creating GMS2 asset pipelines.",
"name": "stitch",
"object": {
"message": "1.0.0",
"oid": "bfa0635104bc9a559254b5007646942ff269ae11"
},
"ref": null,
"refs": {
"nodes": []
}
}
}
}
有没有办法通过 API 做到这一点?我最好的猜测是,如果有的话,那就是通过refs
现场。