GitHub Actions でリリースノートを自動化する方法を調べていると Release Drafter というツールを見つけました。これを使うと簡単に良い感じにリリースノートが自動化できそうです。
試して詰まったところ
早速試してみたところ、以下のエラーで躓きました。
Error: Validation Failed: {"resource":"Release","code":"invalid","field":"target_commitish"}
「対象のcommitishが無効です。」というエラーです。target_commitish の説明は以下を参照。
docs.github.com
ツールのサンプルの対象ブランチが main ではなく master だった
本ツールのサンプルコードの指定ブランチ名は master です。しかし、GitHubは2020年10月からデフォルトのブランチ名を master から main に変更していて、master というブランチはありませんでした。単純なミス。。。対象ブランチにコミットがないため、エラーになってしまいました。
github.blog
サンプルコードをコピーした場合「.github/workflows/release-drafter.yml」の以下の部分が master になっているため、mainに変更が必要です。(正しくはリポジトリのデフォルトブランチを指定)
on: push: # branches to consider in the event; optional, defaults to all branches: - master
修正して試した結果
修正した結果以下のようなリリースノートが自動で作成されてました。2つのプルリクエストをマージしており、ラベルはfeature、bug をそれぞれに付けています。(ラベルを付けると項目ごとに記述されます。)
サンプルのリポジトリは以下です。
github.com