Строка файла комментария в запросе на вытягивание с Github API

Я пишу приложение, и мне нужно прокомментировать файл из запроса на извлечение с помощью GitHUb API. Есть репозиторий на гитхабе и пулреквест к нему. В этом пулл-реквесте изменен один файл. Я хотел бы прокомментировать определенную строку в этом файле с помощью GitHub API. Проблема в том, что пока мы используем github API для создания комментария, мы передаем номер строки в файле различий, а не в реальном. Итак, я спрашиваю, есть ли способ передать фактический номер строки файла, чтобы создать для него комментарий. Вот ссылка на запрос API GitHub, который я пытаюсь использовать: Create комментарий


person knux    schedule 02.10.2014    source источник
comment
Очень сложно понять, что вы пытаетесь сделать. Не могли бы вы пояснить или, возможно, добавить пример?   -  person Chris    schedule 02.10.2014
comment
Хорошо, я постараюсь объяснить лучше, извините. Есть репозиторий на гитхабе и пулреквест к нему. В этом пулл-реквесте изменен один файл. Я хотел бы прокомментировать определенную строку в этом файле с помощью GitHub API. Проблема в том, что пока мы используем github API для создания комментария, мы передаем номер строки в файле различий, а не в реальном. Итак, я спрашиваю, есть ли способ передать фактический номер строки файла, чтобы создать для него комментарий. Вот ссылка на запрос API GitHub, который я пытаюсь использовать: developer.github.com/v3/pulls/comments/#create-a-comment   -  person knux    schedule 02.10.2014


Ответы (1)


Итак, я спрашиваю, есть ли способ передать фактический номер строки файла, чтобы создать для него комментарий.

В настоящее время это невозможно.

Комментарии проверки запросов на вытягивание — это действительно комментарии, созданные в строках diff, а не в строках файлов. Вы не можете комментировать любую строку любого файла в запросе на вытягивание — это должна быть строка в diff. Такое поведение API соответствует поведению на github.com — попробуйте, и вы не сможете создать комментарий ни к одной строке файла.

Кроме того, если строка изменена в файле, эта строка отображается в diff два раза: сначала до (-), а затем после (+). Итак, неясно, что вы имеете в виду, когда хотите прокомментировать определенную строку в файле — вы хотите прокомментировать «старую» строку или «новую» строку? Наконец, откуда вы знаете, что конкретная строка файла была изменена в запросе на включение, не просматривая diff?

Я предлагаю вам получить diff для запроса на вытягивание, показать его пользователю и попросить его прокомментировать строку diff. (Это в основном то, что происходит в пользовательском интерфейсе запроса на вытягивание на github.com). Есть ли конкретная причина, по которой этот подход не сработает для вас?

person Ivan Zuzak    schedule 03.10.2014
comment
Итак, можем ли мы использовать API для комментирования строки в едином diff? Я вижу только способы прокомментировать строку в diff коммита или ответить на комментарии в PR. Я хочу сделать новый комментарий к строке в едином дифференциале PR. - person Justin Harris; 12.04.2015
comment
@JustinHarris Да, это возможно: используйте этот API: developer.github.com/v3/pulls/ комментарии - person Ivan Zuzak; 13.04.2015
comment
Спасибо, но я вижу только developer.github.com/v3/pulls/ комментарии/#create-a-comment, которые относятся к делу. Я хочу создать новый комментарий, так что мне использовать для commit_id? - person Justin Harris; 14.04.2015
comment
@JustinHarris попробуйте использовать SHA самой последней фиксации головной ветки PR. - person Ivan Zuzak; 14.04.2015
comment
Привет @JustinHarris. Я пытаюсь сделать именно это! Можно ли комментировать PR в целом, а не конкретную строку в конкретном файле? - person deborah-digges; 20.10.2015
comment
@deborah-digges Да, это возможно, но для этого вы создаете комментарий к проблеме для этого запроса на включение: developer.github.com/v3/issues/comments/#create-a-comment :number, который вам нужно использовать, — это номер запроса на включение. Также см. это руководство: developer.github.com/guides/ работа с комментариями/ - person Ivan Zuzak; 20.10.2015
comment
У меня есть очень глупое сомнение: если у меня есть запрос на включение под номером 1 и проблема под номером 1, если я использую этот API, будет ли он комментировать проблему или PR? - person deborah-digges; 21.10.2015
comment
@deborah-digges Этого никогда не произойдет, потому что задачи и запросы на вытягивание имеют одинаковые номера. Другими словами, если вы создадите задачу в репозитории и после этого сделаете запрос на извлечение, задача получит номер 1, а запрос на извлечение получит номер 2. - person Ivan Zuzak; 21.10.2015
comment
Спасибо @JustinHarris. Это имеет смысл. Имеет ли смысл говорить, что PR — это подкласс вопросов? - person deborah-digges; 23.10.2015
comment
@deborah-digges Да, я думаю, вы могли бы сказать это, если это поможет понять. Но я думаю, что было бы еще лучше, если бы вы просто спрашивали о конкретных проблемах, которые вы видите, вместо того, чтобы делать выводы, основанные на общем предположении, что один класс является подклассом другого. Также не стесняйтесь задавать вопросы, используя контактную форму: github.com/contact - person Ivan Zuzak; 23.10.2015
comment
Спасибо за помощь, @IvanZuzak. Обязательно пришлю вопросы :-) - person deborah-digges; 23.10.2015