获取与拉取请求表单 github api v3 相关的链接问题和项目

Sid*_*ane 4 github github-api pull-request github-api-v3

如何从 github API V3 获取给定拉取请求的项目和链接问题?该pulls端点没有给出其中任何信息。在 github 的拉取请求部分的侧边栏中,有ProjectsLinked 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)


Ber*_*tel 5

要获取带有链接到特定拉取请求的卡片的项目,您可以使用以下有效负载使用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抓取列表。以下脚本使用获取问题 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)