GitHubのコメントAPI は、プルリクエストにコメントを作成できるようですが、コメントするdiffに特定の行番号を指定した場合に限ります。 GitHubのWebインターフェイスのプルリクエスト画面の下部に入力するのと同じように、プルリクエスト全体にコメントを作成する方法はありますか?
はい、可能です。参照しているAPIドキュメントのセクションは、行コメント(pull reqのコミットの特定の行に関するコメント)に関連しており、ドキュメントには次のように記載されています。
プルリクエストレビューコメントは、統合された差分の一部に関するコメントです。これらは、コミットコメント(プルリクエストビューの外部でコミットに直接適用される)および発行コメント(統合された差分の一部を参照しない)とは別のものです。
必要なのは、 このページ の上部で説明されている問題のコメントです。
プルリクエストAPIを使用すると、プルリクエストを一覧表示、表示、編集、作成、さらにはマージすることができます。プルリクエストへのコメントは、Issue CommentsAPIを介して管理できます。
したがって、プルリクエストコメントを作成するには、実際に問題コメントを作成する必要があります(プルリクエストはそれを管理するための問題を作成するため)。 問題コメントのページ これを確認します:
Issue Comments APIは、課題とプルリクエストに関するコメントの一覧表示、表示、編集、作成をサポートしています。
したがって、 行う必要のあるリクエスト は次のとおりです。
POST /repos/:owner/:repo/issues/:number/comments
POSTへのどの問題コメントURLをどのように知っていますか? 単一のプルリクエストを取得するための応答 を見ると、_links
という属性が含まれており、この属性にはcomments
がネストされていることがわかります。属性。これは、プルリクエストコメントの読み取りと作成に使用する必要があるURLであり、上記のPOSTリクエストで使用されるものと同じです。
GraphQL API v4 を使用すると、pullrequest
スキーマを使用してプルリクエストIDを取得し、後で 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
}
}
}
イヴァンによれば、私は次のようなことができました。
$ 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"
パスワードプロンプト付き