PyGitHub Issue get_comments()

问题描述 投票:0回答:1

您能帮我吗?我想获得有关Github所有问题的所有评论。我在这里阅读了指南:https://buildmedia.readthedocs.org/media/pdf/pygithub/stable/pygithub.pdf跟随脚本:

from github import Github

g = Github(base_url="https://github.com/api/v3", login_or_token="XXX")
r = g.get_repo("ORG/REPO")
i = r.get_issues(state='open')
c = i.get_comments()

for issue in c:
    print(issue)

但是我得到了以下标准输出:

AttributeError: 'PaginatedList' object has no attribute 'get_comments'

我希望看到for收集的每个“问题”的每条评论

python pygithub
1个回答
0
投票

您正在尝试使用PaginatedList中未包含的属性。有关更多信息:link

要从问题中获取评论,您需要提取单个问题的所有评论,并继续对每个问题进行评论。这条线并没有达到c = i.get_comments()。我找到了这个问题,该问题为您正在寻找的行为提供了解决方案:link

此外,我想在您的代码中指出几点:

  1. g = Github(base_url="https://github.com/api/v3", login_or_token="XXX")该GitHub实例适用于具有自定义域的Github Enterprise。您的URL缺少域名。 URL应采用以下格式:https://github.xxx.com/api/v3。如果您没有企业帐户,则可以使用登录名/密码或令牌来创建实例。 Reference

  2. 您是要从特定组织还是从所有存储库中获取评论?我问是因为r = g.get_repo("ORG/REPO")返回了组织的请求。要指定所有存储库,请使用g.get_repo("repositories)。另外,请注意,请求限制为5000个请求,并且您需要使用“链接标题”来指定更多请求。 Reference

  3. 您当前的代码在未解决的问题中指定了注释,也未考虑已解决的问题。要返回所有问题的所有评论,包括未解决和已解决的问题;i = r.get_issues(state='all')Reference

© www.soinside.com 2019 - 2024. All rights reserved.