Exibir Comentários de PR
Lista todos os comentários não resolvidos em um pull request como uma tabela.
Entrada
Determine o número do PR nesta ordem:
- Inferir a partir do contexto atual da conversa.
- Analisar a partir do nome da branch atual (exemplo:
APIF-1234/some-feature→ buscar um PR naquela branch). - Se ambíguo, pergunte ao usuário.
Processo
# Encontrar o número do PR a partir da branch atual
gh pr list --head "$(git rev-parse --abbrev-ref HEAD)" --json number,url --jq '.[0]'
# Buscar todos os comentários de revisão + comentários de issue
gh pr view <PR> --json reviews,comments
# Ou buscar comentários inline
gh api repos/:owner/:repo/pulls/<PR>/comments
gh api repos/:owner/:repo/issues/<PR>/comments
Use gh api para obter:
- Comentários de revisão de pull request (inline, no diff):
GET /repos/{owner}/{repo}/pulls/{pull_number}/comments- Estes incluem os campos
path(arquivo) eline(ouoriginal_line).
- Estes incluem os campos
- Comentários no nível da issue (gerais):
GET /repos/{owner}/{repo}/issues/{pull_number}/comments- Estes não têm arquivo/linha (são no nível do PR); deixe Localização em branco.
- Tópicos de revisão com estado de resolução:
gh pr view <PR> --json reviewThreads
Filtrar apenas tópicos não resolvidos (isResolved: false). Para comentários que não estão em um tópico, inclua todos.
Saída
Renderize uma tabela markdown:
| # | Autor | Categoria | Mensagem | Localização |
|---|---|---|---|---|
| 1 | @alice | pergunta | "Por que isso é um ConcurrentDictionary?" | Foo.cs:42 |
| 2 | @bob | bug potencial | "Isso vai causar um null ref em produção..." | Bar.cs:17 |
| 3 | @carol | sugestão | "Considere extrair isso para um método auxiliar." | (PR-level) |
Categoria — leia o corpo do comentário e escolha 1–2 palavras que melhor capturem sua natureza. Não há uma lista fixa; infira livremente. Exemplos de bons valores: pergunta, bug potencial, bug crítico, deve corrigir, aviso, sugestão, recomendação, limpeza, problema de teste, info — mas qualquer rótulo conciso que reflita com precisão o comentário é válido.
Localização — para comentários inline de diff use `arquivo:linha` (use o campo line; com fallback para original_line). Para comentários no nível de PR escreva _(PR-level)_.
Inclua uma linha de resumo abaixo da tabela:
N comentário(s) não resolvido(s) no PR #NNN —
<título do PR>