Подтвердить что ты не робот

Создать комментарий к запросу pull

API комментариев GitHub, похоже, позволяет создавать комментарии к запросу на перенос, но только если вы укажете номер конкретной строки в diff комментировать. Есть ли способ создать комментарий по запросу pull в целом, эквивалент ввода в нижней части экрана запроса на тягу в веб-интерфейсе GitHub?

4b9b3361

Ответ 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"

с запросом пароля