| name | gh-get-review-comments |
| description | Retrieve all review comments from a pull request using the GitHub API. Use when you need to see what feedback has been provided on a PR. |
| category | github |
Get PR Review Comments
Retrieve and analyze all review comments from a pull request.
When to Use
- Checking for unresolved review feedback
- Analyzing reviewer feedback before fixing
- Verifying all comments have been addressed
- Getting comment IDs for replies
Quick Reference
gh api repos/OWNER/REPO/pulls/PR/comments
gh api repos/OWNER/REPO/pulls/PR/comments \
--jq '.[] | {id: .id, path: .path, body: .body}'
gh api repos/OWNER/REPO/pulls/PR/comments \
--jq '.[] | select(.user.login == "username")'
gh api repos/OWNER/REPO/pulls/PR/comments \
--jq '.[] | select(.in_reply_to_id == null)'
Workflow
- Fetch comments: Use API to list all comments
- Parse output: Extract IDs and feedback
- Analyze feedback: Understand what needs fixing
- Plan fixes: Decide how to address each comment
- Apply fixes: Make the requested changes
Output Format
Comments include:
id - Comment ID (use for replies)
path - File where comment was made
line - Line number of comment
body - Comment text
user - Reviewer username
in_reply_to_id - Parent comment ID (null if top-level)
Error Handling
| Problem | Solution |
|---|
| PR not found | Verify PR number |
| Auth failure | Check gh auth status |
| No comments | API returns empty array (not an error) |
| Permission denied | Check authentication scopes |
Filtering Examples
Comments on specific file:
gh api repos/OWNER/REPO/pulls/PR/comments \
--jq '.[] | select(.path == "scylla/file.mojo")'
Comments by specific reviewer:
gh api repos/OWNER/REPO/pulls/PR/comments \
--jq '.[] | select(.user.login == "reviewer")'
Only top-level comments (not replies):
gh api repos/OWNER/REPO/pulls/PR/comments \
--jq '.[] | select(.in_reply_to_id == null)'
References