【发布时间】:2018-03-17 02:48:34
【问题描述】:
给定一个问题或拉取请求编号,我想通过对GitHub GraphQL API 的单个查询来获取以下信息:
- 无论是问题还是拉取请求
- 问题的状态(打开、关闭)或 PR(打开、关闭、合并)
- 如果问题或 PR 已关闭,由谁关闭以及何时关闭
- 如果问题或 PR 被合并,谁合并了,何时合并
使用以下查询,除了确定谁关闭了问题或 PR:
{
repository(owner: "Automattic", name: "wp-calypso") {
issueOrPullRequest(number: 23226) {
__typename
... on Closable {
closed
closedAt
# TODO: How to get ClosedEvent { actor } ?
}
... on Issue {
issueState: state
title
}
... on PullRequest {
prState: state
title
merged
mergedAt
mergeCommit {
committer {
user {
login
}
}
}
}
}
}
}
我正在使用 GitHub 的 GraphQL Explorer 工具运行此查询:https://developer.github.com/v4/explorer/
我可以将问题或 PR 视为 Closable,但我认为我需要从那里到达影响该对象的最后一个 ClosedEvent。这是我还没有弄清楚的部分。
在 GitHub 的 v3 REST API 中,确定所有这些信息可能需要 2 个请求。对于已关闭(未合并)的拉取请求,closed_by 字段仅在请求拉取请求作为问题时出现(通过issues API 调用)。所有其他拉取请求信息都可以通过pulls API 调用获得。
【问题讨论】:
标签: graphql github-api