Я пытаюсь найти PR, у которого есть определенная несостоявшаяся проверка.
Есть ли способ получить информацию о проверках для Pull Request?
Вот скриншот:
Я не увидел ничего очевидного из объекта PR:
g = Github("user", "password")
user = g.get_user()
org = g.get_organization('my_org')
repo = org.get_repo('myrepo')
for pr in repo.get_pulls():
print(pr)
for el in dir(pr):
print(el)
sys.exit()
Насколько я понимаю, в API статусы относятся к коммитам, а не к PR как таковым. Попробуйте получить последнюю фиксацию в PR, а затем использовать http://pygithub.readthedocs.io/en/latest/github_objects/Commit.html#github.Commit.Commit.get_statuses.
Прохладный. Хороший улов. Не стесняйтесь, чтобы закрыть этот плохой мальчик тогда!
Спасибо, что изучили это!
Одна незначительная вещь: похоже, теперь вы можете POST создавать/обновлять статусы:
https://developer.github.com/v3/repos/statuses/#create-a-status
Было бы здорово, если бы PyGithub поддерживал это :)
@grayaii Это уже есть. Вы можете использовать метод Commit.create_status
для проверки статуса вашего PR. Хитрость, однако, заключается в том, что вам нужно найти правильный коммит для создания статуса.
Вот что я сделал в одном из своих проектов:
sha = pr.head.sha
repo.get_commit(sha=sha).create_status()
Самый полезный комментарий
Насколько я понимаю, в API статусы относятся к коммитам, а не к PR как таковым. Попробуйте получить последнюю фиксацию в PR, а затем использовать http://pygithub.readthedocs.io/en/latest/github_objects/Commit.html#github.Commit.Commit.get_statuses.