コマンド一発でissue情報を記載したPull Requestを作成する2021
#git
#yak
2016 年版: ブランチ名に issue 番号を使う - Qiita
GitHub で業務開発しているときは Pull Request に issue リンクを貼る事が多いので、あらかじめ issue 番号をブランチ名に含めておくことでコマンド一発でリンク付き PR を作成できて便利、というようなことを以前書いていました。
この当時は hub
や ghi
といったコマンドを使っていましたが、時が流れ GitHub CLI が登場したため alias を刷新しました。以下を .gitconfig に書いて git pr
で PR を作成しています。
[alias] pr = "!ISSUE_NUMBER=$(echo $(git symbolic-ref --short HEAD) |awk -F'[/_-]' '{print $1}'); gh pr create --web --title `gh issue view $ISSUE_NUMBER --repo org/issue-repo --json title --jq .title` --body -\\ org/issue-repo#$ISSUE_NUMBER"
ブランチ名は 1234-feature-name
のような kebab-case を使っているので、先頭の issue 番号を抜き取るのは echo $(git symbolic-ref --short HEAD) |awk -F'[/_-]' '{print $1}'
といった感じで。
また私は PR タイトルに issue 名をほぼそのまま使うことが多いので、デフォルト値として issue タイトルも入るようにしています。
gh コマンドは実行結果を json で受け取りそれを jq で加工するのもビルトインでサポートされています。指定した番号の issue を取得しタイトルだけ抜き出すには gh issue view issue番号 --repo org/issue-repo --json title --jq .title
を実行すれば OK。
些細なハックですが、gh コマンドだけで PR 作成にまつわる一通りの作業が自動化できました。