Pygithub: Комментарии к запросу PullRequest не возвращены

Созданный на 21 авг. 2012  ·  7Комментарии  ·  Источник: PyGithub/PyGithub

Привет, вот в чем проблема.
Комментарии не возвращены. Но количество комментариев показывает правильную ценность.

p = z.pulls [1]
п
ВЫХОД:
ВЫХОД: u '\ u041d \ u0435 \ u043f \ u0440 \ u0438 \ u043d \ u0438 \ u043c \ u0430 \ u0442 \ u044c =)'
комментарии
ВЫХОД: 1
p.get_comments ()
ВЫХОД:
список (p.get_comments ())
ВЫХОД: []

Любые идеи ?

bug feature request

Все 7 Комментарий

Привет!

Я подтверждаю, что следующий код демонстрирует ту же проблему:

import github

g = github.Github()
r = g.get_user( "jacquev6" ).get_repo( "PyGithub" )
p = r.get_pull( 57 )
print p.title, "has", p.comments, "comments"
print [ c.body[ :15 ] for c in p.get_comments() ]

Он печатает:

Allows connection to GitHub Enterprise installs on local URLs has 2 comments
[]

Эта последняя строка вызывает API https://api.github.com/repos/jacquev6/PyGithub/pulls/57/comments , как описано в http://developer.github.com/v3/pulls/comments/#list -comments -on-a-pull-request, но API возвращает пустой список. Мне только что удалось получить комментарии, позвонив вместо этого по адресу https://api.github.com/repos/jacquev6/PyGithub/issues/57/comments . Проблема должна быть на стороне Github.

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

print [ c.body[ :15 ] for c in r.get_issue( p.number ).get_comments() ]

Прямо сейчас у меня недостаточно времени, чтобы решить эту проблему, но если она все еще существует в начале сентября, я свяжусь с Github и / или исправлю PyGithub.

Наслаждаться,

Чтобы немного улучшить обходной путь, вы можете сделать это, чтобы определить, является ли проблема PR или нет (потому что все PR также являются проблемами):

        if myIssue.pull_request.diff_url:
            PR=True
        else:
            PR=False

Спасибо! Будем использовать это как обходной путь.

Я только что связался с Github по поводу этой проблемы.

И вот ответ, который я получил от Github:

From: Wynn Netherland
Subject: API v3, list comments on pull requests

Hi, Vincent. I know it's confusing but we actually have three types of comments on GitHub, so there are
three different spots in the API to grab them. Be sure you're looking in the right spot for the data you expect.

Pull Request comments are the top-level comments found on the Pull Request page. These are retrieved via
the Issues API [1] since PRs are essentially specialized Issues. Pull Request review comments are those made
against the diff on the PR. You can grab these with the Review Comments API [2]. Finally, line comments made
outside the context of a PR on a raw commit can be retrieved via the Commit Comments API [3].

Armed with that info, let me know if you're not seeing the data you expect and the API call you're making, and I
can dig a bit deeper.

[1] http://developer.github.com/v3/issues/comments/
[2] http://developer.github.com/v3/pulls/comments/
[3] http://developer.github.com/v3/repos/comments/

Cheers,

Итак, это согласуется с тем, что мы видим здесь: https://github.com/jacquev6/PyGithub/pull/57 , поскольку PullRequest.get_comments использует API запросов на вытягивание. @ nixoz2k7 Соответствует ли это и вашему исходному выпуску?

В любом случае, это вводит в заблуждение, поэтому я добавлю два метода с именами get_issue_comments (с использованием API проблем) и get_review_comments (синоним get_comments с использованием API запросов на вытягивание). Ожидайте этого в середине следующей недели.

Я только что разместил новые методы на https://github.com/jacquev6/PyGithub/tree/develop. Я закрываю проблему, потому что считаю, что она решена. @ nixoz2k7 , не стесняйтесь открывать его повторно, если у вас все еще есть проблемы с тем, что было сказано.

Большое спасибо ;)
кстати, он отлично работает с решением "проблем". стабильно уже 2 недели.

Еще раз спасибо.
Сергей.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги