给定一个问题或请求号,我希望使用对GitHub GraphQL API的一个查询获得以下信息
使用以下查询,除了确定关闭了问题或公关之外,所有这些工作都在进行:
{
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/
我可以看到问题或公关作为一个Closable,但我认为我需要从那里到最后一个影响该对象的ClosedEvent。这是我还没弄清楚的部分。
在GitHub的v3 REST中,确定所有这些信息可能需要2个请求。对于closed (而不是merged)的拉请求,closed_by字段仅在请求拉请求作为问题(通过issues API调用)时才出现。所有其他拉请求信息都可以通过pulls API调用获得。
发布于 2018-03-16 18:48:34
一个迂回(和丑陋)的方法,让演员谁关闭这个问题是如下(灵感来自这个回答)。我希望有一个更好的方法,但现在有一个方法。
诀窍是在给定的时间线中查询大量事件(如果您绝对确信在问题/PR关闭后没有评论,您可以说是timeline(last: 1)),在其中查找ClosedEvent或MergedEvent并提取actor
{
repository(owner: "Automattic", name: "wp-calypso") {
issueOrPullRequest(number: 23226) {
__typename
... on Closable {
closed
closedAt
}
... on Issue {
timeline(last: 100) {
edges {
node {
__typename
... on ClosedEvent {
actor{
login
}
}
}
}
}
}
... on PullRequest {
timeline(last: 100) {
edges {
node {
__typename
... on MergedEvent {
actor{
login
}
}
}
}
}
}
}
}
}https://stackoverflow.com/questions/49327083
复制相似问题