如果您查看: http: //developer.github.com/v3/pulls/,它向您展示了如何获取给定存储库的拉取请求。
我们如何从 GitHub API 中获取类似于 GitHub 仪表板上显示的数据的“我的拉取请求”?
如果您查看: http: //developer.github.com/v3/pulls/,它向您展示了如何获取给定存储库的拉取请求。
我们如何从 GitHub API 中获取类似于 GitHub 仪表板上显示的数据的“我的拉取请求”?
我直接问Github。一位代表告诉我使用搜索端点。搜索您拥有的未解决且类型为 的问题pr
。
https://api.github.com/search/issues?q=state%3Aopen+author%3Adavidxia+type%3Apr
如果你使用像Pygithub这样的 python 客户端库,你可以这样做
issues = gh.search_issues('', state='open', author='davidxia', type='pr')
您还可以使用GraphQL API v4来获取所有拉取请求:
{
user(login: "bertrandmartel") {
pullRequests(first: 100, states: OPEN) {
totalCount
nodes {
createdAt
number
title
}
pageInfo {
hasNextPage
endCursor
}
}
}
}
或使用viewer
:
{
viewer {
pullRequests(first: 100, states: OPEN) {
totalCount
nodes {
createdAt
number
title
}
pageInfo {
hasNextPage
endCursor
}
}
}
}
首先,您必须意识到您必须使用基本身份验证或令牌进行身份验证。接下来你必须意识到没有简单的方法可以做到这一点,所以你必须聪明。
具体来说,如果您进行探测https://api.github.com/issues
,您会注意到那里的问题有一个称为哈希的哈希pull_request
,它应该有 3 个 URL:html、diff 和 patch。如果问题也是一个拉取请求,那么这三个都将是非空的。(专业提示:就 GitHub 而言,它们是一回事……有点。)
如果您迭代您的问题并过滤那些属性不为空的问题,那么您将收到您的拉取请求。