这是专门针对GitHub的GraphQL API的。我对GraphQL的理解是,由于它具有图结构,因此可以一次性获得任何想要的东西。
但是,我不知道如何为存储库中的所有提交获取blobs
(最好是已更改的文件)。
我现在所拥有的是我随后使用的3个不同的查询。
获取提交以及树形符号-
query {
repository(name: "disradicator", owner: "armsp") {
name
defaultBranchRef {
target {
... on Commit {
history(first:10){
nodes{
message
oid
tree{
oid
}
}
}
}
}
}
}
}
使用树中的oid
来获取tree entries
-
query {
repository(name: "disradicator", owner: "armsp") {
treeDetails: object(oid: "554221f86bce59a7fe269be6c69dcccf9f9b1364"){
... on Tree {
oid
entries{
name
type
oid
}
}
}
}
}
使用oid
中每个元素的entries
来获取blob
-
query {
repository(name: "disradicator", owner: "armsp") {
description
name
blobDetails: object(oid: "f288702d2fa16d3cdf0035b15a9fcbc552cd88e7") {
... on Blob {
commitUrl
commitResourcePath
text
oid
}
}
}
}
不能将它们组合成一个查询吗?
patch
的内容(包含父提交与当前提交之间的差异)的blob?