Responder a Comentários de Revisão em PR
Responda a um comentário de revisão de código em um PR do GitHub e resolva o tópico.
Entradas
Inferir todas as entradas do contexto da conversa. Pergunte apenas se ambíguo.
Entrada 1 — Número ou URL do PR. O pull request para atuar. Inferir do contexto (ex: uma URL de PR exibida anteriormente ou nome do branch). Se realmente ambíguo, execute:
gh pr list --head "$(git rev-parse --abbrev-ref HEAD)" --json number,url --jq '.[0]'
Entrada 2 — O comentário a ser respondido.
Um achado específico do revisor — geralmente identificado por número (#2), arquivo+linha ou texto citado da tabela de comentários exibida anteriormente na conversa.
Se nenhuma tabela de comentários estiver na conversa e a skill dakubo-display-pr-remarks estiver disponível, use-a para fazer a tabela. Se não, pergunte ao usuário pelo comentário.
Entrada 3 — A resposta. A resposta a ser publicada: uma explicação, reconhecimento ou resumo da correção. Derivar do contexto (ex: o que foi corrigido ou discutido). Pergunte se não estiver claro.
Processo
1. Resolver o ID do comentário
Busque comentários de revisão inline para o PR:
gh api repos/:owner/:repo/pulls/<PR>/comments --paginate \
--jq '.[] | {id, path, line: (.line // .original_line), body: .body[0:120]}'
Corresponda o comentário alvo pelo número da linha, caminho do arquivo ou trecho do corpo. Anote seu id.
2. Publicar a resposta
gh api repos/:owner/:repo/pulls/<PR>/comments \
--method POST \
--field body="<answer>" \
--field in_reply_to=<comment_id>
3. Resolver o tópico
Encontre o tópico de revisão que contém este comentário:
gh api graphql -f query='
{
repository(owner: "<owner>", name: "<repo>") {
pullRequest(number: <PR>) {
reviewThreads(first: 100) {
nodes {
id
isResolved
comments(first: 1) { nodes { databaseId } }
}
}
}
}
}'
Corresponda o tópico cujo comments.nodes[0].databaseId é igual ao id do comentário original (não a resposta). Em seguida, resolva-o:
gh api graphql -f query='
mutation {
resolveReviewThread(input: { threadId: "<thread_node_id>" }) {
thread { isResolved }
}
}'
Saída
Confirme: resposta publicada no comentário <id> em <arquivo>:<linha>, tópico resolvido. Uma frase.
O que NÃO fazer
- Não invente uma resposta — derive-a do contexto ou pergunte.
- Não resolva um tópico sem publicar uma resposta primeiro.
- Não adivinhe o PR se houver vários abertos neste branch; pergunte.