Github v4 GraphQL API - 访问 Marketplace 应用结果 (Travis CI)
Posted
技术标签:
【中文标题】Github v4 GraphQL API - 访问 Marketplace 应用结果 (Travis CI)【英文标题】:Github v4 GraphQL API - access Marketplace App results (Travis CI) 【发布时间】:2020-06-30 19:23:54 【问题描述】:我们正在使用 Travis CI 为我们在 Github 上的一个存储库运行测试。 查看提交列表时,我们会看到绿色复选标记或红色叉号,表示我们的测试状态。
现在我正在试验 Github v4 GraphQL API。 我可以浏览 API(使用 GraphiQL 和 GraphiQL-explorer),但我无法在任何地方找到 Travis 测试的结果。
我可以使用 Github GraphQL API 来获取 Travis 结果吗?
【问题讨论】:
【参考方案1】:当请求最后一次提交或提交列表(带有history
)时,您可以访问带有state
property 的status
object:
repository(owner: "bertrandmartel", name: "metec-braille-driver")
refs(first: 100, refPrefix: "refs/heads/")
nodes
target
... on Commit
status
state
contexts
description
createdAt
state
history(first: 100)
nodes
message
status
state
contexts
description
createdAt
state
结果如下:
....
"status":
"state": "FAILURE",
"contexts": [
"description": "AppVeyor build failed",
"createdAt": "2020-03-09T02:31:19Z",
"state": "FAILURE"
,
"description": "The Travis CI build passed",
"createdAt": "2020-03-09T02:31:42Z",
"state": "SUCCESS"
]
,
....
同样来自v3 doc:
状态的状态。可以是错误、失败、未决或 成功
【讨论】:
我尝试使用相同的查询,但在我们的例子中,结果是status: null
,即使 github 网页上有绿色复选标记,如图所示(我刚刚添加)。知道这是为什么吗?
@HendrikJan 也许您使用的令牌没有repo:status
范围?以上是关于Github v4 GraphQL API - 访问 Marketplace 应用结果 (Travis CI)的主要内容,如果未能解决你的问题,请参考以下文章
使用 github API v4 graphQL 获取提交更改的文件和补丁
通过 Github Graphql v4 API 列出所有用户
GraphQL 复杂 cURL 查询(GitHub API v4)
Github Automerge 失败通知(API v4 GraphQL 变异 enablePullRequestAutoMerge)
如何将 Github API v4 (graphql) 与 javascript XMLHttpRequest 一起使用