KDOC 8: レビューツール メモ

GitHubのレビュー返しで、対応したコミットをまとめて送るツールをGoで作成した。

開発メモ

GitHub のレビューで、対応コミットを返信するツールを作る。レビューしてもらったとき、対応したコミットを返信する。自分が対応したことのチェックと、相手にとってわかりやすくするため。

レビュー例。

  • ここはタイポではないでしょうか
    • コミット ABCDEFG で修正しました 👈ここを自動化する

しかし面倒だ。さらに逐次で返信するのではなくて、レビュー送信するときみたいに、一気に返信したい。

  • GitHubのUIとエディタを行き来することがない。まあ結局コメントのリンクは取得しなきゃいけないんだが
  • ちくちく返信して相手を煩わせることがない
  • pushしないと、Gitハッシュはリンク化されない。そのため、[Git→push→GitHub]→[Git→push→GitHub]…としなければならない

などの理由によって。

バッチでコメントを送信することで、[Git→GitHub]→[Git→GitHub]→…→push→コマンド実行 となる。

使う流れ

  • リンクをつけてコミットする
build: 修正した

https://github.com/kijimaD/gar/pull/1#discussion_r1037682054
  • git pushする。プッシュしないと、コメントのgitハッシュがリンク化されない
  • コマンドを実行する gar 223
  • 実行されるであろうことを出力する
  • yesを押す
  • 送信

memo

https://github.com/kijimaD/gar/pull/1#discussion_r1037682054

レビューコメント一覧。後で使う。

curl \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ..." \
https://api.github.com/repos/kijimaD/gar/pulls/1/reviews
curl \
    -X POST \
    -H "Accept: application/vnd.github+json" \
    -H "Authorization: Bearer ..." \
    https://api.github.com/repos/kijimaD/gar/pulls/1/comments/1037682054/replies \
    -d '{"body":"comment from API!"}'

対象とするコミット群をどうやって取るか。未マージ分をどうやって判定するか。

PRからターゲットブランチとブランチ名を取得して、対象コミットを取得するのが確実そう。コマンド実行時にPR番号を入力させる。ちょっとメンドイけどターゲットブランチはしょうがなさそう。

gar 111
curl \
  -H "Accept: application/vnd.github+json" \
  -H "Authorization: Bearer ..." \
  https://api.github.com/repos/kijimaD/gar/pulls/1
  • カレントブランチ: head -> rev
  • デフォルトブランチ: repo -> default_branch
git config --get remote.origin.url