okaryo.log

GitHubリポジトリ内のリリースノートを対応内容ごとにカテゴライズしてイイ感じにする | okaryo.log

GitHubリポジトリ内のリリースノートを対応内容ごとにカテゴライズしてイイ感じにする

    #GitHub

はじめに

GitHubのリポジトリでリリースノートを作成する際、右上の「Generate release notes」ボタンを押すと前回のリリースから対応した差分の対応が自動で入力される。

Generate Release Note

これだけでも十分ではあるが、少し設定を追加するだけでこれを対応内容ごとにカテゴライズすることが可能になるので紹介する。

手順

1. 設定ファイルを作成する

.github/release.ymlファイルにどのようにカテゴライズするかの設定ファイルを作成する。

設定オプションの公式ドキュメントは以下。

ちなみに自分はこういったものを作成した。

changelog:
  exclude:
    labels:
      - ignore-for-release

  categories:
    - title: 🎉 Feature
      labels:
        - Feature
    - title: 🐛 Bug
      labels:
        - Bug
    - title: 🔥 Remove
      labels:
        - Remove
    - title: ⚡ Performance
      labels:
        - Performance
    - title: ♻ Refactoring
      labels:
        - Refactoring
    - title: ✅ Testing
      labels:
        - Testing
    - title: 💚 CI/CD
      labels:
        - CI/CD
    - title: ⬆ Dependencies
      labels:
        - Dependencies
    - title: 🔒 Security
      labels:
        - Security
    - title: 🛠 Development
      labels:
        - Development
    - title: 📝 Documentation
      labels:
        - Documentation
    - title: Other Changes
      labels:
        - "*"

リリースノート作成時にlabelsに対応するラベルがついたマージ済みのPullRequestが差分にあった場合、対応するtitleというカテゴリ名でリリースノートの内容がカテゴライズされる。

カテゴライズするのは今回が初めてなのに細かく作りすぎてる感はあるし、これで網羅できているかも分からないが、一旦は上記で運用してみて適宜使いやすいように変更を入れていこうと思っている。

ちなみにラベルを作成する際には@azuさんのgithub-label-setupというリポジトリを参考にさせていただいた。

2. PullRequestに上記の設定に対応したラベルを付ける

設定自体はこれで完了したので、あとはPullRequestに対応内容ごとにラベルをつけていく。

3. リリースノート作成時に「Generate release notes」ボタンを押す

いくつかPullRequestをマージし、リリースノートを作成する際に上述の「Generate release notes」ボタンを押すと以下のようにリリースノートが対応内容ごとにカテゴライズされて表示されるようになった!

Release Note

所感

これによってリリースの内容が分かりやすくなったのは良いことだが、PullRequestにラベルを付けるのだけがめんどくさい!

普段ラベルはイシューにつけているので、それをPullRequestにまでつけるのがめんどくさい。自分の中ではPullRequstはイシューに対応したもの、という認識なのでイシューにラベルをつけてPullRequestにもラベルを付けるのは二度手間感がある。

自分は普段PullRequest内の「Development」というところに対応するイシューを紐づけて、PullRequestがマージされたら自動でイシューがクローズされるようにしている。このDevelopmentへの紐付けをトリガーにして、イシューと同じラベルをPullRequestにもつけられるようにできないかと思ったが、そのようなトリガーは見当たらなかった(知ってる人いたら教えてください)。

Development

おわり

一旦はPullRequest作成のたびにラベルを付けるやり方でやろうと思うが、良い方法が見つかれば改善するかも。

ともあれ、リリースノートが見やすくすることができるのでぜひ試してみてほしい。


関連記事
最新記事
プロモーション

This site uses Google Analytics.