github - 获取与拉取请求表单 github api v3 关联的链接问题和项目
问题描述
如何从 github API V3 获取给定拉取请求的项目和链接问题?pulls
端点不提供关于它们中的任何一个的信息。在 github 的 pull requests 部分的侧边栏中有Projects
并Linked issues
提到。但我找不到通过 API 调用获取此信息的方法。
我想找出合并成功时拉取请求关闭的问题。
解决方案
要获取带有链接到特定拉取请求的卡片的项目,您可以使用Github GraphQL API使用此有效负载:
{
repository(owner: "twbs", name: "bootstrap") {
pullRequest(number: 30342) {
projectCards {
nodes {
project {
name
}
}
}
}
}
}
但对于链接的问题,我认为 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")])
推荐阅读
- python - 从具有多个值(〜500 000)的熊猫数据框创建数组的最快方法
- powershell - PowerShell If 语句失败
- java - 如何修复与语义谓词一起使用的左递归中的错误?
- d3.js - 条形图上的平均线
- java - 用于捕获特殊字符的正则表达式
- firebase - 使用actions-sdk的dialogflow环聊聊天集成无响应
- excel - 创建没有编译错误消息的目录
- javascript - 使用 javascript 的简单验证表单
- spring-boot - springfox 实现可用于 swagger3 或 openapi 3?
- reactjs - React Router MemoryRouter:获取 GET 参数