📤

ghコマンドでCLIからPRを簡単に作る

2024/08/24に公開

前提

gh コマンドを使うと、例えば、

$ gh pr create

として、
git push → github 上でのPR作成をコマンドラインでインタラクティブに作成できます。

https://qiita.com/ryo2132/items/2a29dd7b1627af064d7b

ただ、正直、自分の場合はインタラクティブに設定することがなく、毎回決まった操作をしてるので、それをワンコマンドでできるようにできないかと調べてみました。

どうやら、下記のようにすると、インタラクティブな操作が省略されるようでした。
(他にもあるのですが、自分の場合はこれが最適でした)

$ gh pr create -t "タイトルをここに書く" -b "bodyをここに書く"

結論

下記の関数をzshrcに書くことにしました。
内容的には、テンプレートをbodyに含めるようにしました。

~/.zshrc
function gh() {
    if [[ $1 == "pr" && $2 == "create" ]]; then
        local args=("$@")  # すべての引数を保持する
        command gh "${args[@]}" --body "`cat .github/pull_request_template.md`"
    else
        command gh "$@"
    fi
}

使う際は、下記のように書くと、

gh pr create -t "タイトル"
ドラフトで作る場合
gh pr create -t "タイトル" --draft 

github上にPRが、テンプレートで作成されるようになります。

地味に、毎回PR作成が面倒だったので、楽になりそうです。

Discussion