Github GraphQL API returns 每个上下文只有最后一个状态上下文
Github GrapQL API returns only the last StatusContext for each context
我交叉发布来自 here 的问题。
我想知道是否可以使用 GQL API.
获取给定引用的所有上下文的所有状态
我目前正在做的查询如下:
{
repository(owner: "owner", name: "name") {
pullRequests(headRefName: "head-ref", last: 1) {
nodes {
id
commits(first: 10) {
nodes {
commit {
oid
status {
contexts {
context
createdAt
id
description
state
}
}
}
}
}
}
}
}
}
此查询 returns 每个状态上下文的单个状态,这些是每个状态的最后一个:
{
"data": {
"repository": {
"pullRequests": {
"nodes": [
{
"id": "some-id",
"commits": {
"nodes": [
{
"commit": {
"oid": "some-oid",
"status": {
"contexts": [
{
"context": "context-1",
"createdAt": "2021-07-06T21:28:26Z",
"id": "***",
"description": "Your tests passed!",
"state": "SUCCESS"
},
{
"context": "context-2",
"createdAt": "2021-07-06T21:25:26Z",
"id": "***",
"description": "Your tests passed!",
"state": "SUCCESS"
},
]
}
}
}
]
}
}
]
}
}
}
}
另一方面,如果我在这个查询中使用 REST API:
curl -i -u se7entyse7en:$(cat token) https://api.github.com/repos/owner/name/commits/some-oid/statuses
其中 some-oid 是使用 GQL API 检索到的对应对象,输出包含所有状态。特别是,我可以看到在 GQL API.
返回的那些之前发生的 context-1 和 context-2 的所有状态
鉴于 StatusContext 是一个节点而不是节点列表,这似乎是 GQL 模式的限制。基本上,我希望 StatusContext 是 [Status!] 类型!其中 Status 表示给定上下文的单个状态。
我错过了什么吗?这是否有望在未来改变? REST API 是唯一的选择吗?
谢谢。
我打开了一个支持票,这确实是预期的行为,没有改变它的计划。唯一的解决方案是使用 REST API.
社区论坛的link是this one。
我交叉发布来自 here 的问题。
我想知道是否可以使用 GQL API.
获取给定引用的所有上下文的所有状态我目前正在做的查询如下:
{
repository(owner: "owner", name: "name") {
pullRequests(headRefName: "head-ref", last: 1) {
nodes {
id
commits(first: 10) {
nodes {
commit {
oid
status {
contexts {
context
createdAt
id
description
state
}
}
}
}
}
}
}
}
}
此查询 returns 每个状态上下文的单个状态,这些是每个状态的最后一个:
{
"data": {
"repository": {
"pullRequests": {
"nodes": [
{
"id": "some-id",
"commits": {
"nodes": [
{
"commit": {
"oid": "some-oid",
"status": {
"contexts": [
{
"context": "context-1",
"createdAt": "2021-07-06T21:28:26Z",
"id": "***",
"description": "Your tests passed!",
"state": "SUCCESS"
},
{
"context": "context-2",
"createdAt": "2021-07-06T21:25:26Z",
"id": "***",
"description": "Your tests passed!",
"state": "SUCCESS"
},
]
}
}
}
]
}
}
]
}
}
}
}
另一方面,如果我在这个查询中使用 REST API:
curl -i -u se7entyse7en:$(cat token) https://api.github.com/repos/owner/name/commits/some-oid/statuses
其中 some-oid 是使用 GQL API 检索到的对应对象,输出包含所有状态。特别是,我可以看到在 GQL API.
返回的那些之前发生的 context-1 和 context-2 的所有状态鉴于 StatusContext 是一个节点而不是节点列表,这似乎是 GQL 模式的限制。基本上,我希望 StatusContext 是 [Status!] 类型!其中 Status 表示给定上下文的单个状态。
我错过了什么吗?这是否有望在未来改变? REST API 是唯一的选择吗?
谢谢。
我打开了一个支持票,这确实是预期的行为,没有改变它的计划。唯一的解决方案是使用 REST API.
社区论坛的link是this one。