In nushell, you can generate a changelog on the fly with the following:
gh release list --json name
| from json
| get name
| par-each --keep-order { |name|
gh release view $name --json name,body,author
| from json
| $"# ($in.name) by ($in.author.login)\n\n($in.body)"
}
| str join "\n"
You can also add it to your gh
config (usually located at ~/.config/gh/config.yml
):
aliases:
changelog: |
!nu -c '
gh release list --json name
| from json
| get name
| par-each --keep-order { |name|
gh release view $name --json name,body,author
| from json
| $"# ($in.name) by ($in.author.login)\n\n($in.body)"
}
| str join "\n"
'
So that you can easily invoke it with gh changelog
.