API комментариев GitHub, похоже, позволяет создавать комментарии к запросу на перенос, но только если вы укажете номер конкретной строки в diff комментировать. Есть ли способ создать комментарий по запросу pull в целом, эквивалент ввода в нижней части экрана запроса на тягу в веб-интерфейсе GitHub?
Создать комментарий к запросу pull
Ответ 1
Да, это возможно. Раздел документов API, к которым вы ссылаетесь, относится к комментариям строк (комментарии к конкретным строкам коммитов в pull req), и в документах говорится:
Pull Request Review Комментарии - комментарии к части унифицированного diff. Они отделены от Commit Comments (которые применяются непосредственно к фиксации, за пределами представления запроса Pull) и Issue Comments (которые не ссылаются на часть унифицированного diff).
Вам нужны те комментарии к выпуску, которые объясняются в верхней части этой страницы:
API запроса Pull позволяет вам просматривать, просматривать, редактировать, создавать и даже объединять запросы на тягу. Комментарии к запросам на тягу могут управляться с помощью API комментариев к выпуску.
Итак, чтобы создать комментарий Pull Request, вам действительно нужно создать комментарий к проблеме (так как запрос на перенос создает проблему для управления им). Страница для комментариев о выпуске подтверждает следующее:
API комментариев о выпуске поддерживает листинг, просмотр, редактирование и создание комментариев по вопросам и запросы на загрузку.
Итак, запрос который вам нужно сделать, следующий:
POST /repos/:owner/:repo/issues/:number/comments
Как вы узнаете, к какому URL-адресу комментария комментариев к POST? Хорошо, если вы посмотрите на ответ для получения запроса на одно нажатие, вы увидите, что он содержит атрибут _links
, и этот атрибут имеет вложенный атрибут comments
. Это URL, который вы должны использовать для чтения и создания комментариев запроса на загрузку, того же самого, который будет использоваться в запросе POST выше.
Ответ 2
Используя GraphQL API v4, вам нужно будет получить идентификатор запроса Pull с помощью pullrequest
Schema и выполнить addComment
мутация впоследствии:
query FindPullRequestID {
repository(owner:"bertrandmartel", name:"ustream-dl") {
pullRequest(number:2) {
id
}
}
}
mutation AddPullRequestComment {
addComment(input:{subjectId:"MDExOlB1bGxSZXF1ZXN0MTU0NzExOTA0",body: "test comment"}) {
commentEdge {
node {
createdAt
body
}
}
subject {
id
}
}
}
Ответ 3
По словам Ивана, я смог сделать что-то вроде:
$ curl -s -H "Authorization: token ${ACCESS_TOKEN}" \
-X POST -d '{"body": "Your Message to Comment"}' \
"https://api.github.com/repos/${REPO_OWNER}/${REPO_NAME}/issues/${PR_NUMBER}/comments"
или же
$ curl -s -u "${GITHUB_ACCOUNT} \
-X POST -d '{"body": "Your Message to Comment"}' \
"https://api.github.com/repos/${REPO_OWNER}/${REPO_NAME}/issues/${PR_NUMBER}/comments"
с запросом пароля