Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Feature: allow review comments on any file line, not just lines within the diff

未关闭
#2,495 0 条评论 2 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
48/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
冷清
技术栈
go, graphql
领域
api, backend

调研方向

先阅读 add_comment_to_pending_review 和 pull_request_review_write 入口点,然后使用 diff 外部的评论复现 issue 中描述的待处理 review 工作流。跟踪 submit_pending 如何处理这些评论,以及 GraphQL addPullRequestReviewThread mutation 如何接受 path 和 line。完成标准是:错误被暴露,或任意文件行的评论能够以 inline 形式保留,同时现有的文件级 workaround 仍然可用。

由索引模型根据 Issue 内容生成。

描述

Describe the feature or problem you'd like to solve

When using add_comment_to_pending_review to leave a code review, the comment is silently dropped at submit time if the targeted line is outside the PR's diff hunks (e.g., unchanged context further up the file). The tool returns success on add_comment_to_pending_review, but pull_request_review_write { method: "submit_pending" } accepts the review without that comment ever appearing on the PR.

This means agents reviewing PRs cannot leave inline comments on file context that is relevant to a change but happens to sit outside the modified lines — for example, stale JSDoc on an exported interface that should be updated to reflect a new feature added several lines below.

In the GitHub web UI, a human reviewer can expand context and click any line in any file to add a comment. Agents using this MCP server cannot match that capability.

Proposed solution

Two parts:

  1. Surface the failure. When a comment is dropped because the targeted line is outside the diff, return an error from add_comment_to_pending_review (or surface it on submit) so the agent can fall back to subjectType: "FILE" or a top-level comment. Today the tool reports success and the rejection happens silently inside GitHub's submit step.

  2. Support arbitrary file lines. Use the GraphQL addPullRequestReviewThread mutation (which accepts path + line without requiring a diff position) when the requested line is outside the unified diff. This would give agent reviewers the same expressive power as human reviewers in the UI.

Example prompts or workflows (for tools/toolsets only)
  1. "Review this PR — flag any stale JSDoc/comments on exported APIs whose contract changed." Today the agent can correctly identify stale documentation but cannot leave the inline comment if the JSDoc itself isn't in the diff.
  2. "Suggest renames for the helper functions used by the new code." If the helpers themselves are unchanged, the agent can't comment on them inline.
  3. "Note any security-relevant invariants the changes rely on." Often these are documented elsewhere in the file, outside the diff.
Additional context

Repro:

  1. Open any PR with a small, localized diff.
  2. Use pull_request_review_write { method: "create" } to start a pending review.
  3. Use add_comment_to_pending_review targeting an unchanged line ≥30 lines from the diff. Tool returns success.
  4. Use pull_request_review_write { method: "submit_pending" }. Review submits without the comment.
  5. Verify on the PR — the comment is missing.

Workaround today: use subjectType: "FILE" for file-level comments, or post a top-level issue comment with a permalink. Both lose the inline-thread experience.

Related but distinct: #1748 (fork-PR auth scope) — same symptom (comment doesn't post) but a different root cause.

主要语言
Go
星标
33.1k
派生
5k
平均合并
2 天 1 小时
30 天内合并 PR
25

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

github/github-mcp-server 的其他 Issue

查看 github/github-mcp-server 的全部 Issue

相似的 Issue

更多 Go Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。