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