3

我正在寻找的只是一种获取给定里程碑问题列表的方法。看起来 Github 对待里程碑有点像标签,因为您可以要求问题的标签,但不能要求给定标签的问题。

我知道我可以在 Github 网站上按里程碑过滤我的问题,但这会遍历多个页面,我想要一种简单的方法来查看所有问题,以便在更易于打印的版本中找到里程碑。

有小费吗?

4

5 回答 5

1

您可以为此使用 GitHub 的 API。请参阅此处了解如何获取 repo 的问题列表并注意里程碑参数。您将得到的响应是一个大的 JSON 文档,因此您必须创建一个小脚本来仅提取问题的标题,或者使用 grep 或类似jq的东西。

另请注意,API 响应也是分页的,但您可以将分页设置为每页 100 个条目,这通常就足够了。如果没有,您将不得不再次创建一个小脚本来获取所有页面(或手动执行)。

于 2013-06-06T05:20:53.240 回答
1

您可以使用V4 的 GraphQL API。并执行以下操作:

{
  repository(owner: "X", name: "X") {
    milestone(number: X) {
      id
      issues(first: 100) {
        edges {
          node {
            id,
            title
          }
        }
      }
    }
  }
}
于 2018-07-18T11:58:41.647 回答
0

给定一个里程碑$title$owner/$repo我们可以使用 curl 和 jq 列出这个里程碑中的问题:

api_url="https://api.github.com/repos/$owner/$repo"
MS=$(curl -s "$api_url/milestones" | jq '.[] | select(.title == "QA")')
MS_number=$(echo "$MS" | jq .number -r)
MS_state=$(echo "$MS" | jq .state -r)

echo "Found $title milestone with state=$MS_state"
echo ""

issues=$(curl -s "$api_url/issues?milestone=$MS_number" | jq '.[].number' -r)
echo "The following issues are in the QA milestone:"
for i in $issues; do
  issue_title=$(curl -s "$api_url/issues/$i"  | jq '.title' -r)
  echo "  https://github/$owner/$repo/issues/$i - $issue_title"
done
echo ""
于 2021-01-18T17:40:39.073 回答
0

我找不到任何简单的方法。这对我来说是一种享受:

  1. brew install hub(在 OSX 上)。Hub 由 GitHub 创建
  2. cd 到您要访问其来源的本地存储库。
  3. hub issue -M 21 -f "%I,%t,%L,%b,%au,%as" > save_here.csv
  4. 利润。

查看里程碑时,在 GitHub 上的 URL 中找到问题 #(上例中的 21)。
集线器的文档,特别是格式 (-f) 标志可以在这里找到:https ://hub.github.com/hub-issue.1.html

于 2019-02-04T11:28:43.903 回答
0

首先使用查找里程碑列表然后按每个里程碑的里程碑编号 查询此api

于 2020-10-15T22:02:54.690 回答