🚀

GitHubでリリースノートを自動作成したい

2023/08/11に公開

GitHubのリリースノートって便利な機能がある

リリースを行なう際はタグを運用していくことが多いと思います。プラスαとしてリリースノートで何がリリースに含まれたか記録していければ便利ですよね。この便利機能がGitHubには備わっています。さらに本文の自動生成もあるらしい。以下で検証していきます。

自動生成ノート、1回目

右側のCreate a new release

タグがなかったらCreate。既存のタグを選択も可能

タイトルを入力。日付やタグをそのままいれると良さそう

Generate release notesを選択

本文になにか変更が記載された。この状態でPublish releaseを押して見る

あれ。。想像と違う・・・WhatsNew的なのでるとおもったのに。。。

自動生成ノート、2回目

.github/release.ymlがあるとよいみたいだ。作成してみる。

release.yaml
changelog:
  exclude:
    authors:
      - github-actions
  categories:
    - title: Features
      labels:
        - enhancement
    - title: Fixes
      labels:
        - bug
    - title: Docs
      labels:
        - documentation
    - title: Refactors
      labels:
        - refactor
    - title: Upgrades
      labels:
        - dependencies
    - title: Internal
      labels:
        - internal
    - title: Other Changes
      labels:
        - "*"

ラベルに反応するという実装になった。プルリクを作成し、ラベルを貼ってマージしてみる

さっそくリリースノートを作る。2回目以降はReleasesを押すようだ。

次の画面も2回めからかわっていた。Draft a new releaseを押す

yamlがあるから全く違うものが自動生成された!

求めていた、かっこいいやつになりました。

最後に

.github/release.ymlがあるといい感じになることがわかりました。
重要なことは、プルリクのときのラベル運用がとっても大事ということ。そうしないと分類分けなしになってしまう。ラベル開発者に負荷があるし必須を強制する仕組みを並行で導入しないと風化するので工夫が更に必要そうかと思いました。
これについては、記事を対策記事を書きましたのでご参照くださいませ。
GitHub ActionsでPRにラベル未設定の場合はマージ不可にする方法

皆さんの参考になりましたら幸いです。

Discussion