顯示 PR 評論
將 Pull Request 上所有尚未解決的評論以表格形式列出。
輸入
依以下順序決定 PR 編號:
- 從當前對話上下文推斷。
- 從當前分支名稱解析(例如
APIF-1234/some-feature→ 搜尋該分支上的 PR)。 - 若無法確定,則詢問使用者。
流程
# 從當前分支找出 PR 編號
gh pr list --head "$(git rev-parse --abbrev-ref HEAD)" --json number,url --jq '.[0]'
# 取得所有審查評論 + 議題評論
gh pr view <PR> --json reviews,comments
# 或者取得行內評論
gh api repos/:owner/:repo/pulls/<PR>/comments
gh api repos/:owner/:repo/issues/<PR>/comments
使用 gh api 取得:
- Pull Request 審查評論(行內,針對差異):
GET /repos/{owner}/{repo}/pulls/{pull_number}/comments- 這些評論包含
path(檔案)和line(或original_line)欄位。
- 這些評論包含
- 議題層級評論(一般):
GET /repos/{owner}/{repo}/issues/{pull_number}/comments- 這些評論沒有檔案/行號(屬於 PR 層級);位置留空。
- 含有解決狀態的審查討論串:
gh pr view <PR> --json reviewThreads
僅過濾出尚未解決的討論串(isResolved: false)。對於不在討論串中的評論,則全部納入。
輸出
產生一個 Markdown 表格:
| # | 作者 | 類別 | 訊息 | 位置 |
|---|---|---|---|---|
| 1 | @alice | 問題 | "為什麼這是 ConcurrentDictionary?" | Foo.cs:42 |
| 2 | @bob | 潛在錯誤 | "這在生產環境會造成 Null 參考例外..." | Bar.cs:17 |
| 3 | @carol | 建議 | "考慮將此提取到一個 helper 方法。" | (PR 層級) |
類別 — 閱讀評論正文,選取 1–2 個最能捕捉其本質的詞語。沒有固定清單,可自由推斷。良好的值範例包括:question (問題)、potential bug (潛在錯誤)、critical bug (嚴重錯誤)、must fix (必須修正)、warning (警告)、suggestion (建議)、recommendation (推薦)、cleanup (清理)、test issue (測試問題)、info (資訊) — 但任何能準確反映評論的簡潔標籤都是有效的。
位置 — 對於行內差異評論,使用 `filename:line`(使用 line 欄位;若無則用 original_line)。對於 PR 層級的議題評論,則寫 _(PR 層級)_。
在表格下方包含一行總結:
N 個尚未解決的評論在 PR #NNN —
<PR 標題>