Получить правопреемников и цедента через PyGithub

Я использую PyGithub для взаимодействия с GitHub API и пытаюсь получить правопреемников и ответственных лиц по проблемам. Я реализовал следующий код, и кажется, что имя уполномоченного и имя уполномоченного неверны. Например, clatoolkitdev2 был назначен пользователем clatoolkitdev в выпуске № 32. . Однако я получил clatoolkitdev2 в качестве правопреемника и правопреемника из своего кода.

gh = Github(login_or_token = token, per_page = self.parPage)
repo = gh.get_repo(repo_name)
issue = repo.get_issue(issue_number)
issue_events = issue.get_events().get_page(page)

for event in issue_events:
    assignee = event.issue.assignee
    assigner = event.actor

    assigner_id = str(assigner.id)
    assigner_name = str(assigner.login)
    assignee_name = assignee.login

    print '================================================================='
    print 'event ID: ' + str(event_id) + "     " + issue_url
    print 'assigner: %s  assignee: %s' % (assigner_name, assignee_name)

Выход:

=================================================================
event ID: 866189924     https://github.com/clatoolkitdev/GitHubIntegrationTest/issues/32
assigner: clatoolkitdev2  assignee: clatoolkitdev2
=================================================================
event ID: 803384175     https://github.com/clatoolkitdev/GitHubIntegrationTest/issues/25
assigner: kojiclatoolkit  assignee: kojiclatoolkit
=================================================================
event ID: 803384176     https://github.com/clatoolkitdev/GitHubIntegrationTest/issues/25
assigner: clatoolkitdev  assignee: kojiclatoolkit
=================================================================
event ID: 852475091     https://github.com/clatoolkitdev/GitHubIntegrationTest/issues/24
assigner: kojiclatoolkit  assignee: kojiclatoolkit
=================================================================
event ID: 852475092     https://github.com/clatoolkitdev/GitHubIntegrationTest/issues/24
assigner: clatoolkitdev  assignee: kojiclatoolkit

Я проверил ссылку на PyGithub API и погуглил, чтобы найти решение, но не понял. Мне было интересно, сделал ли я глупые ошибки или в PyGithub есть ошибка.


person Koji    schedule 21.11.2016    source источник


Ответы (1)


Проблема в том, что PyGithub (и ваш код) считывает свойство actor.login события, чтобы получить назначающее, которое на самом деле является clatoolkitdev2 в предоставленном вами ответе API.

Глядя на исходный код PyGithub, кажется, что он никогда не считывал свойство assigner из полезной нагрузки API (ни в Issue.py или IssueEvent.py< /a>), что кажется мне ошибкой.

person kfb    schedule 22.11.2016
comment
Хм, похоже. Я не знал, что делать, поэтому я обращаюсь к GitHub API напрямую, не используя PyGithub для получения правопреемников и цедентов. - person Koji; 30.11.2016
comment
Спасибо за ответ - person Koji; 30.11.2016