Sid*_*ane 4 github github-api pull-request github-api-v3
如何从 github API V3 获取给定拉取请求的项目和链接问题?该pulls端点没有给出其中任何信息。在 github 的拉取请求部分的侧边栏中,有Projects并Linked issues提到。但是我找不到通过 API 调用获取此信息的方法。
我想找出合并成功后拉取请求关闭的问题。
小智 6
2022 年更新:
GraphQL 中的拉取请求现在有一个 openingIssuesReferences 属性。
pullRequest(number: $number) {
id
closingIssuesReferences (first: 50) {
edges {
node {
id
body
number
title
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
要获取带有链接到特定拉取请求的卡片的项目,您可以使用以下有效负载使用Github GraphQL API:
{
repository(owner: "twbs", name: "bootstrap") {
pullRequest(number: 30342) {
projectCards {
nodes {
project {
name
}
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是对于链接的问题,我认为 API 尚不可用。如果 repo 是公开的,您仍然可以从 github.com抓取列表。以下python脚本使用beautifulsoup获取问题 URL 列表:
import requests
from bs4 import BeautifulSoup
import re
repo = "twbs/bootstrap"
pr = "30342"
r = requests.get(f"https://github.com/{repo}/pull/{pr}")
soup = BeautifulSoup(r.text, 'html.parser')
issueForm = soup.find("form", { "aria-label": re.compile('Link issues')})
print([ i["href"] for i in issueForm.find_all("a")])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
913 次 |
| 最近记录: |