Возврат только проблем с использованием PyGithub - PullRequest
3 голосов
/ 18 января 2020

Я пытаюсь получить количество проблем в репозитории, но код ниже возвращает проблемы и запросы на извлечение. Как я могу получить проблемы? Я думаю, что мне здесь не хватает чего-то простого. Я прочитал документацию API, и там говорится, что GitHub рассматривает все запросы на получение данных как проблемы.

repo = g.get_repo("someRepo")
label = repo.get_label('someLabel')
myIssues = repo.get_issues(state='open',labels=[label])
count = 0
for issue in myIssues:
    count = count + 1
print(count)

1 Ответ

2 голосов
/ 21 января 2020

Для проблем, которые являются просто проблемами, pull_request - это None.

>>> repo = g.get_repo("PyGithub/PyGithub")
>>> open_issues = repo.get_issues(state='open')
>>> for issue in open_issues:
...     print(issue)
...
Issue(title="Correct Repository.create_git_tag_and_release()", number=1362)
Issue(title="search_topics returns different number of repositories compared to searching in browser.", number=1352)
>>> print(open_issues[0].pull_request)
<github.IssuePullRequest.IssuePullRequest object at 0x7f320954cb70>
>>> print(open_issues[1].pull_request)
None
>>>

Таким образом, вы можете считать только те проблемы, для которых файл issue.pull_request равен None.

* 1008. *

Вы также можете заменить свою логику подсчета c следующим образом:

count = sum(not issue.pull_request for issue in myIssues)
...